Formal Aspects of Computing

, Volume 26, Issue 5, pp 919–941 | Cite as

Refinement patterns for ASTDs

  • Marc FrappierEmail author
  • Frédéric Gervais
  • Régine Laleau
  • Jérémy Milhau
Original Article


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.


astd Refinement Patterns Information systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Abr96.
    Abrial JR (1996) The B-book: assigning programs to meanings. Cambridge University Press, CambridgeCrossRefzbMATHGoogle Scholar
  2. Abr10.
    Abrial JR (2010) Modeling in Event-B. Cambridge University Press, CambridgeCrossRefzbMATHGoogle Scholar
  3. AtH12.
    Aalst WMP, ter Hofstede AHM (2012) Workflow patterns put into context. Softw Syst Model 11(3): 319–323CrossRefGoogle Scholar
  4. BGPS12.
    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–976Google Scholar
  5. BKS83.
    Back RJR, Kurki-Suonio R (1983) Decentralization of process nets with centralized control. In: Proceedings of the 2nd ACM symposium on PODC, pp 131–142Google Scholar
  6. BKS88.
    Back R-J, Kurki-Suonio R (1988) Distributed cooperation with action systems. ACM Trans Program Lang Syst 10(4): 513–554CrossRefzbMATHGoogle Scholar
  7. BvW94.
    Back RJR, von Wright J (1994) Trace refinement of action systems. In: Structured programming. Springer, Heidelberg, pp 367–384Google Scholar
  8. CMP08.
    Choppy C, Mayero M, Petrucci L (2008) Experimenting formal proofs of petri nets refinements. Electron Notes Theor Comput Sci 214: 231–254CrossRefGoogle Scholar
  9. Cop03.
    Coplien JO (2003) Software design patterns. In: Encyclopedia of computer science. Wiley, Chichester, pp 1604–1606Google Scholar
  10. DAC99.
    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–420Google Scholar
  11. DvL96.
    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–190Google Scholar
  12. EJFG+10.
    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–379Google Scholar
  13. FGL+08.
    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–292CrossRefGoogle Scholar
  14. FGLFdf.
    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
  15. FSD03.
    Frappier M, St-Denis R (2003) Eb3: an entity-based black-box specification method for information systems. Softw Syst Model 2(2): 134–149CrossRefGoogle Scholar
  16. GHJV94.
    Gamma E, Helm R, Johnson R, Vlissides J (1994) Design patterns: elements of reusable Object-Oriented Software. 1st edn., Addison-Wesley Professional, BostonGoogle Scholar
  17. Gla90.
    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, AmsterdamGoogle Scholar
  18. Har87.
    Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Programm 8(3): 231–274CrossRefzbMATHMathSciNetGoogle Scholar
  19. MFGL10.
    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–259Google Scholar
  20. Mil11a.
    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, SherbrookeGoogle Scholar
  21. MIL+11b.
    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–313CrossRefGoogle Scholar
  22. MNB04.
    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–173Google Scholar
  23. RHB98.
    Roscoe AW, Hoare CAR, Bird R (1998) The theory and practice of concurrency. Prentice Hall PTR, Upper Saddle River, NJ, USAGoogle Scholar
  24. Rut00.
    Rutten J (2000) Universal coalgebra: a theory of systems. Theoret Comput Sci 249: 3–80CrossRefzbMATHMathSciNetGoogle Scholar
  25. Sai56.
    Said MY (2010) Methodology of refinement and decomposition in UML-B. PhD thesis, University of Southampton, Southampton.
  26. Sch98.
    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–301Google Scholar
  27. SK10.
    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–386Google Scholar
  28. ST11.
    Schneider S, Treharne H (2011) Changing system interfaces consistently: a new refinement strategy for CSP ║ B. Sci Comput Program 76(10):837–860Google Scholar
  29. STW11.
    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–154Google Scholar
  30. WC02.
    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–203Google Scholar

Copyright information

© British Computer Society 2013

Authors and Affiliations

  • Marc Frappier
    • 1
    Email author
  • Frédéric Gervais
    • 2
  • Régine Laleau
    • 2
  • Jérémy Milhau
    • 2
  1. 1.GRIL, Département d’informatiqueUniversité de SherbrookeSherbrookeCanada
  2. 2.Département Informatique, LACLUniversité Paris-Est, IUT Sénart FontainebleauFontainebleauFrance

Personalised recommendations