Abstract
This paper introduces three refinement patterns for algebraic state-transition diagrams (astds): state refinement, transition refinement and loop-transition refinement. These refinement patterns are derived from practice in using astds for specifying information systems and security policies in two industrial research projects. Two refinement relations used in these patterns are formally defined. For each pattern, proof obligations are proposed to ensure preservation of behaviour through refinement. The proposed refinement relations essentially consist in preserving scenarios by replacing abstract events with concrete events, or by introducing new events. Deadlocks cannot be introduced; divergence over new events is allowed in one of the refinement relation. We prove congruence-like properties for these three patterns, in order to show that they can be applied to a subpart of a specification while preserving global properties. These three refinement patterns are illustrated with a simple case study of a complaint management system.
Similar content being viewed by others
References
Abrial JR (1996) The B-book: assigning programs to meanings. Cambridge University Press, Cambridge
Abrial JR (2010) Modeling in Event-B. Cambridge University Press, Cambridge
Aalst WMP, ter Hofstede AHM (2012) Workflow patterns put into context. Softw Syst Model 11(3): 319–323
Bianculli D, Ghezzi C, Pautasso C, Senti P (2012) Specification patterns from research to industry: a case study in service-based applications. In: Proceedings of the 2012 international conference on software engineering. ICSE 2012, Piscataway, NJ, USA. IEEE Press, pp 968–976
Back RJR, Kurki-Suonio R (1983) Decentralization of process nets with centralized control. In: Proceedings of the 2nd ACM symposium on PODC, pp 131–142
Back R-J, Kurki-Suonio R (1988) Distributed cooperation with action systems. ACM Trans Program Lang Syst 10(4): 513–554
Back RJR, von Wright J (1994) Trace refinement of action systems. In: Structured programming. Springer, Heidelberg, pp 367–384
Choppy C, Mayero M, Petrucci L (2008) Experimenting formal proofs of petri nets refinements. Electron Notes Theor Comput Sci 214: 231–254
Coplien JO (2003) Software design patterns. In: Encyclopedia of computer science. Wiley, Chichester, pp 1604–1606
Dwyer MB, Avrunin GS, Corbett JC (1999) Patterns in property specifications for finite-state verification. In: Proceedings of the 21st international conference on Software engineering, ICSE ’99, New York, NY, USA. ACM, pp 411–420
Darimont R, van Lamsweerde A (1996) Formal refinement patterns for goal-driven requirements elaboration. In: Proceedings of the 4th ACM SIGSOFT symposium on foundations of software engineering, SIGSOFT ’96, New York, NY, USA. ACM, pp 179–190
Embe Jiague M, Frappier M, Gervais F, Konopacki P, Milhau J, Laleau R, St-Denis R (2010) Model-driven engineering of functional security policies. In: Proceedings of the international conference on enterprise information systems 3: 374–379
Frappier M, Gervais F, Laleau R, Fraikin B, St-Denis R (2008) Extending statecharts with process algebra operators. Innov Syst Softw Eng 4(3): 285–292
Frappier M, Gervais F, Laleau R, Fraikin B (2008) Algebraic state transition diagrams. Technical report 24, Département d’informatique, Université de Sherbrooke, Sherbrooke, QC, Canada http://www.dmi.usherb.ca/~frappier/Papers/astd2008.pdf.
Frappier M, St-Denis R (2003) Eb3: an entity-based black-box specification method for information systems. Softw Syst Model 2(2): 134–149
Gamma E, Helm R, Johnson R, Vlissides J (1994) Design patterns: elements of reusable Object-Oriented Software. 1st edn., Addison-Wesley Professional, Boston
van Glabbeek RJ (1996) Comparative Concurrency Semantics and Refinement of Actions. PhD thesis, Free University, Amsterdam, 1990. Second edition available as CWI tract 109, CWI, Amsterdam
Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Programm 8(3): 231–274
Milhau J, Frappier M, Gervais F, Laleau R (2010) Systematic translation rules from ASTD to Event-B. In: Dominique M, Stephan M (eds) Integrated formal methods, vol 6396 of lecture notes in computer science. Springer, Berlin/Heidelberg, pp 245–259
Milhau J (2011) Un processus formel d’intégration de politiques de contrôle d’accès dans les systèmes d’information. PhD thesis, Université de Sherbrooke–Université Paris-Est, Sherbrooke
Milhau J, Idani A, Laleau R, Labiadh M, Ledru Y, Frappier M (2011) Combining UML, ASTD and B for the formal specification of an access control filter. Innov Syst Softw Eng 7(4): 303–313
Meng S, Naixiao Z, Barbosa LS (2004) On semantics and refinement of uml statecharts: a coalgebraic view. In: Proceedings of the 2nd international conference on software engineering and formal methods, SEFM ’04, Washington, DC, USA. IEEE Computer Society, pp 164–173
Roscoe AW, Hoare CAR, Bird R (1998) The theory and practice of concurrency. Prentice Hall PTR, Upper Saddle River, NJ, USA
Rutten J (2000) Universal coalgebra: a theory of systems. Theoret Comput Sci 249: 3–80
Said MY (2010) Methodology of refinement and decomposition in UML-B. PhD thesis, University of Southampton, Southampton. http://eprints.ecs.soton.ac.uk/21656/
Scholz P (1998) A refinement calculus for statecharts. In: Egidio A. (ed) Fundamental approaches to software engineering, vol 1382 of lecture notes in computer science. Springer, Berlin/Heidelberg, pp 285–301
Schönborn J, Kyas M (2010) Refinement patterns for hierarchical uml state machines. In: Arbab F, Sirjani M (eds) Fundamentals of software engineering, vol 5961 of lecture notes in computer science. Springer, Berlin/Heidelberg, pp 371–386
Schneider S, Treharne H (2011) Changing system interfaces consistently: a new refinement strategy for CSP ║ B. Sci Comput Program 76(10):837–860
Schneider S, Treharne H, Wehrheim H (2011) A csp account of Event-B refinement. In: Proceedings of the refinement workshop on EPTCS 55, pp 139–154
Woodcock J, Cavalcanti A (2002) The semantics of circus. In: Bert D, Bowen JP, Henson MC, Robinson K (eds) ZB 2002: formal specification and development in Z and B, vol 2272 of lecture notes in computer science. Springer, Berlin/Heidelberg, pp 184–203
Author information
Authors and Affiliations
Corresponding author
Additional information
I. Perseil, P. Gibson, and J.Woodcock
Rights and permissions
About this article
Cite this article
Frappier, M., Gervais, F., Laleau, R. et al. Refinement patterns for ASTDs. Form Asp Comp 26, 919–941 (2014). https://doi.org/10.1007/s00165-013-0286-3
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-013-0286-3