Skip to main content
Log in

Reliable yet flexible software through formal model transformation (rule definition)

  • Regular Paper
  • Published:
Knowledge and Information Systems Aims and scope Submit manuscript

Abstract

The results of literature review show that the need for both reliability and flexibility is increasingly becoming important among the various classes of software applications. Developing reliable yet flexible software is a hard problem. Although modeling methods enjoy a lot of advantages, the use of just one of them, in many cases, may not guarantee the development of reliable and flexible software. Formal modeling methods ensure reliability. However, lack of knowledge and high cost practically force developers to use semi-formal methods instead. Semi-formal (visual) modeling methods, which are widely used in practical large-scale software development, are not good enough for reliable software development. This paper proposes a new practical approach to the development of reliable yet flexible software. In the proposed approach, formal (Object-Z) and semi-formal (UML) models are transformed into each other using a set of bidirectional formal rules. Formal modeling and refinement ensure the reliability of software. Visual models facilitate the interactions among stakeholders who are not familiar enough with the complex mathematical concepts of formal methods. Visual models help detect the unexpected behavior and inconsistencies of software. Applying design patterns to visual models improves the flexibility of software. The transformation of formal and visual models into each other through the iterative and evolutionary process, proposed in this paper, helps develop the software applications that need to be highly reliable yet flexible. The feasibility of the proposed approach is evaluated using the multi-lift case study.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. Kim S, Carrington D (2000) A formal mapping between UML models and Object-Z specifications. In: Proceedings of ZB2000: formal specification and development in Z and B, York, UK, Lecture notes in computer science, vol 1878. Springer

  2. Rasoolzadegan A, Abdollahzadeh A (2011) Specifying a parallel, distributed, real-time, and embedded system: multi-lift system case study. Technical Report, Information Technology and Computer Engineering. Faculty, Amirkabir University of Technology, Tehran, Iran

  3. Rasoolzadegan A, Abdollahzadeh A (2011) A new approach to software development process with formal modeling of behavior based on visualization. In: Proceedings of 6th International Conference on Software Engineering. Advances (ICSEA), Barcelona, Spain

  4. Charatan Q, Kans A (2004) Formal software development: from VDM to Java. Palgrave Macmillan

  5. Bjørner D (2006) Software engineering III: domains, requirements, and software design. Springer

  6. Williams JR (2009) Automatic formalization of UML to Z. MSc. thesis, Department of Computer Science, University of York

  7. Schmidt DC (2006) Model-driven engineering. IEEE Comput 39(2):25–31

    Article  Google Scholar 

  8. Pressman R (2009) Software engineering: a practitioner’s approach, 7th edn. McGraw Hill

  9. Somerville I (2006) Software engineering, 8th edn. Addison Wesley

  10. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design pattern: elements of reusable object-oriented software, 5th edn. Addison-Wesley Publishing Company

  11. Freeman E, Freeman E, Kathy Sierra B (2004) Head first design patterns, 1st edn. O’Reilly Media

  12. Tilley T (2004) Formal concept analysis applications to requirements engineering and design. Ph.D. dissertation, The University of Queensland, Australia

  13. Sun J, Dong JS, Liu J, Wang H (2001) Object-Z web environment and projections to UML. In: Proceedings of 10th international WWW conference, New York, ACM, pp 725–734

  14. Kim S, Carrington D (2002) A formal meta-modeling approach to a transformation between the UML state machine and Object-Z. In: Proceedings of ICFEM 2002: international conference formal engineering methods, vol 2495 of LNCS, Springer, pp 548–560

  15. Zafar NA, Alhumaidan F (2011) Transformation of class diagrams into formal specification. IJCSNS Int J Comput Sci Netw Secur 11(5):289–295

    Google Scholar 

  16. Miao H, Liu L, Li L (2002) Formalizing UML models with Object-Z. In: Proceedings of ICFEM2002: conference on formal engineering methods, Springer. pp 523–534

  17. Jackson D (2006) Software abstractions: logic, language, and analysis. MIT Press

  18. Polack F (2001) SAZ: SSADM version 4 and Z. In: Proceedings of software specification methods: an overview using a case study, Springer. pp 21–38

  19. Graham D, Williams J, Christen P (2010) Visualizing temporal cluster changes using relative density self-organizing maps. Knowl Inf Syst 25(2):281–302. doi:10.1007/s10115-009-0264-5

    Article  Google Scholar 

  20. Kim SK (2004) Using integrated meta-modeling to define OO design patterns with Object-Z and UML. In: Proceedings of 11th Asia-Pacific software engineering conference, Busan, Korea. pp 257–264

  21. Markovic S, Baar T (2008) Refactoring OCL annotated UML class diagrams. Softw Syst Model (SoSyM) 7(1):25–47

    Article  Google Scholar 

  22. Kim SK, Carrington DA (2009) A formalism to describe design patterns based on role concepts. Formal Aspects Comput 21(5):397–420

    Article  MATH  Google Scholar 

  23. Amálio N, Polack F, Stepney S (2005) An object-oriented structuring for Z based on views. In: Proceedings ZB2005: 4th international conference of B and Z users, Guildford, UK, LNCS 3455, Springer. pp 262–278

  24. Bollin A (2011) Coupling-based transformations of Z specifications into UML diagrams. Innov Syst Softw Eng 7(4):283–292

    Article  Google Scholar 

  25. Miloudi KE, Amrani YE, Ettouhami A (2011) An automated translation of UML class diagrams into a formal specification to detect UML inconsistencies. In: Proceeding of 6th international conference on software engineering. Advances (ICSEA), Barcelona, Spain

  26. Facon P, Laleau R, Nguyen R (2001) From OMT diagrams to B specifications. In: Proceedings of software specifications methods: an overview using a case study, Springer. pp 57–77

  27. Laleau R, Polack F (2001) A rigorous metamodel for UML static conceptual modeling of information systems. In: Proceedings of CAiSE 2001: advanced information systems engineering, vol 2068 of LNCS. pp 402–416

  28. Laleau R, Polack F (2002) Coming and going from UML to B: a proposal to support traceability in rigorous IS development. In: Proceedings of ZB 2002: formal specification and development in Z and B, Grenoble, vol 2272 of LNCS, Springer. pp 517–534

  29. Treharne H (2002) “Supplementing a UML development process with B. In: Proceedings of FME 2002: formal methods—getting it right, vol 2391 of LNCS, Springer. pp 568–586

  30. Hammad A, Tatibouët B, Voisinet J, Weiping W (2001) From B specification to UML Statechart diagrams. In: Proceedings of ICFEM 2002: international conference of formal engineering methods, vol 2495 of LNCS, Springer. pp 511–522

  31. Snook C, Butler M (2006) UML-B: formal modeling and design aided by UML. ACM Trans Softw Eng Methodol 15(1):92–122

    Article  Google Scholar 

  32. Fischer C, Olderog E, Wehrheim H (2001) A CSP view on UML-RT structure diagrams. In: Proceedings of fundamental approaches to software engineering, vol 2029 of LNCS, Springer. pp 91–108

  33. Engels G, Küster JM, Heckel R (2001) A methodology for specifying and analyzing consistency of object-oriented behavioral models. In: Proceedings of 9th ACM SIGSOFT symposium on foundations of software engineering, pp 186–195

  34. Davies J, Crichton C (2002) Concurrency and refinement in the UML. In: Proceedings of refine 2002: the BCS FACS refinement workshop, vol 70 (3) of electronic notes in theoretical computer science. Elsevier Science

  35. Xia J, Xia L (2010) A formal requirement specification method based on Object-Z. In: Proceedings of Asia-Pacific youth conference on communication, Kunming, China, APYCC. pp 209–212

  36. Parisi M (2011) Managing scope creep with design patterns in formal specifications. Int J Softw Eng Appl 5(1):63–72

    MathSciNet  Google Scholar 

  37. Mai D (2009) Object-Z-based test case generator. MSc. thesis, Department of Computer Science, University of La Crosse, Wisconsin

  38. Kim S, Carrington D (2002) A formal model of the UML meta-model: the UML state machine and its integrity constraints. In: Proceedings of ZB 2002, Grenoble, vol 2272 of LNCS, Springer. pp 497–516

  39. Amálio N (2006) Generative frameworks for rigorous model-driven development. PhD thesis, Department of Computer Science, University of York

  40. Bouquet F, Dadeau F, Groslambert J (2005) Checking JML specifications with B machines. In: Proceedings of ZB 2005, vol 3455 of LNCS, Springer. pp 434–453

  41. Eden A (2000) Precise specification of design patterns and tool support in their application. PhD thesis, Department of Computer Science, Tel Aviv University

  42. Eden A (2001) Formal specification of object oriented design. In: Proceedings of international conference on multidisciplinary design in engineering, CSME-MDE

  43. Raje R, Chinnasamy S (2001) elelepus—a language for specification of software design patterns. In: Proceedings of SAC ’01: the 2001 ACM symposium on applied, computing, pp 600–604

  44. Flores A, Moore R, Reynoso L (2001) A formal model of object-oriented design and GoF design patterns. In: Proceedings of FME 2001: international symposium of formal methods Europe, vol 2021 of LNCS, Springer, pp 223–241

  45. Reynoso L, Moore R (2000) GoF behavioral patterns: a formal specification. The United Nations Univ, Technical report

  46. Blazy S, Gervais S, Laleau R (2003) Reuse of specification patterns with the B method. In: Proceedings of ZB 2003: formal specification and development in Z and B, Turku, Finland, vol 2651 of LNCS, Springer. pp 40–57

  47. Kim S, Carrington D (2005) A rigorous foundation for pattern-based design models. In: Proceedings of ZB 2005: international conference of B and Z users, vol 3455 of LNCS, Springer. pp 242–261

  48. Taibi T (2007) Design pattern formalization techniques. IGI Publishing, Hershey, New York, UAE

    Book  Google Scholar 

  49. Kong J, Zhang K, Dong J, Xu D (2009) Specifying behavioral semantics of UML diagrams through graph transformations. J Syst Softw 82:292–306

    Article  Google Scholar 

  50. Chen Y, Miao H (2004) From an abstract Object-Z specification to UML diagram. J Inf Comput Sci 1(2):319–324

    MathSciNet  Google Scholar 

  51. Ehlmann BK (2011) Association patterns for data modeling and definition. Knowl Inf Syst 26(1):59–86. doi:10.1007/s10115-009-0262-7

    Article  Google Scholar 

  52. Rasoolzadegan A, Abdollahzadeh A (2011) Empirical evaluation of modeling languages using multi-lift system case study. In: Proceedings of MSV’11: the 8th annual international conference on modeling, simulation and visualization methods, Las Vegas, Nevada, USA

  53. Christensen HB (2010) Flexible, reliable software: using patterns and agile development, 1st edn. Chapman Hall/CRC

  54. Martinho R (2008) A two-step approach for modeling flexibility in software processes. In: Proceedings of 23rd IEEE/ACM international conference on automated software engineering, Italy, pp 427–430

  55. Vidal JC, Lama M, Bugarín A (2011) Toward the use of Petri nets for the formalization of OWL-S choreographies. Knowl Inf Syst. doi:10.1007/s10115-011-0451-z

  56. Farooq SU, Quadri SMK, Ahmad N (2012) Metrics, models and measurements in software reliability. In: Proceedings of 2012 IEEE 10th international symposium on applied machine intelligence and informatics, Slovakia, pp 441–449

  57. Penna GD, Magazzeni D, Orefice S (2012) A spatial relation-based framework to perform visual information extraction. Knowl Inf Syst 30(3):667–692. doi:10.1007/s10115-011-0394-4

    Article  Google Scholar 

  58. Goldsby H, Cheng B, Konrad S, Kamdoum S (2006) A visualization framework for the modeling and formal analysis of high assurance systems. In: Proceedings of model driven engineering languages and systems (MoDELS), Italy, pp 707–721

  59. Amálio N, Glodt C, Kelsen P (2011) Building VCL models and automatically generating Z specifications from them. In: Proceedings of 17th international symposium on formal methods. Lecture Notes in Computer Science, vol 6664, Ireland. pp 149–153

  60. Medina-Medina N, Molina-Ortiz F, García-Cabrera L (2011) Adaptation and user modeling in hypermedia learning environments using the SEM-HP model and the JSEM-HP tool. Knowl Inf Syst 29(3):629–656. doi:10.1007/s10115-010-0357-1

    Article  Google Scholar 

  61. Baumeister J, Freiberg M (2011) Knowledge visualization for evaluation tasks. Knowl Inf Syst 29(2): 349–378. doi:10.1007/s10115-010-0350-8

    Google Scholar 

  62. Derrick J, Boiten EA (2001) Refinement in Z and Object-Z, 1st edn. Springer

  63. Qin S (2007) Linking Object-Z with spec#. In: Proceedings of 12th IEEE international conference on engineering complex computer systems, pp 185–196, Auckland, New Zealand

  64. Rasoolzadegan A, Abdollahzadeh A (2012) Developing reliable yet flexible software through if-then model transformation rules. Amirkabir J Sci Technol Misc 44(2)

  65. Allilaire F, Bézivin J, Jouault F, Kurtev I, (2006) ATL: eclipse support for model transformation. In: Proceedings of the eclipse technology eXchange workshop (eTX) at the ECOOP 2006 conference. Nantes, France

  66. Bagge AH (2009) Constructs and concepts: language design for flexibility and reliability. PhD thesis, Research School in Information and Communication Technology, Department of Informatics, University of Bergen, Norway

  67. Brereton P, Kitchenham BA, Budgen D, Turner M, Khalil M (2007) Lessons from applying the systematic review process within the software engineering domain. J Syst Softw 80:571–583

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ahmad Abdollahzadeh Barforoush.

Appendices

Appendix 1: Informal definition of the modeling elements of the UML class diagram and Object-Z

figure s
figure t

Appendix 2: Formal definition of the modeling elements of the UML class diagram at the meta-level using Object-Z

figure u
figure v
figure w

Appendix 3: Formal definition of the modeling elements of Object-Z at the meta-level using Object-Z

figure x
figure y

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rasoolzadegan, A., Barforoush, A.A. Reliable yet flexible software through formal model transformation (rule definition). Knowl Inf Syst 40, 79–126 (2014). https://doi.org/10.1007/s10115-013-0621-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10115-013-0621-2

Keywords

Navigation