Specifying Complex Systems in Object-Z: A Case Study of Petrol Supply Systems

As modern complex systems become increasingly large, sophisticated, feature-rich and data-intensive, people have recognized the importance of precisely and unambigu- ously specifying them with formal methods for a number of years. This paper advocates the use of Object-Z, a formal specification language, in the description of complex systems. Object-Z is an extension to the Z language to facilitate specification in an object-oriented style. The notation Object- Z builds on Z's strengths in modeling complex data and algorithms, and on its new class structuring's strengths in succinctly specifying the various relationships and commu- nication between objects in a large system. In detail, first we describe informally the syntax and semantics of Object- Z, highlighting those features that facilitate decomposing a large system into a collection of interacting objects and thus separating concerns. Then, we demonstrate the use of Object-Z by presenting a case study of a petrol supply system, illustrating how the system runs by communicating the constituent objects. Finally, we discuss several issues we encountered in this exercise, which may serve as feedback to the development of Object-Z. Index Terms—Object-Z; object-oriented modeling; formal methods; system specification

[1]  Hai H. Wang,et al.  Design Software Architecture Models using Ontology , 2011, SEKE.

[2]  Huibiao Zhu,et al.  Formal Modelling and Analysis of AODV , 2013, 2013 18th International Conference on Engineering of Complex Computer Systems.

[3]  Wei Chen,et al.  Verification of Resistance of Denial of Service Attacks in Extended Applied Pi Calculus with ProVerif , 2012, J. Comput..

[4]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[5]  Robert Eschbach,et al.  Iterative refinement of specification for component based embedded systems , 2011, ISSTA '11.

[6]  Eerke A. Boiten,et al.  Refinement in Z and Object-Z , 2014, Springer London.

[7]  Jin Song Dong,et al.  The role of secondary attributes in formal object modelling , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.

[8]  Hui Du,et al.  A MEASUR and RUP Combined Business Modeling Method , 2011, J. Comput..

[9]  Paulo E. Miyagi,et al.  Developing an ROV software control architecture: A formal specification approach , 2012, IECON 2012 - 38th Annual Conference on IEEE Industrial Electronics Society.

[10]  DPhil John Derrick BSc,et al.  Refinement in Z and Object-Z , 2001, Formal Approaches to Computing and Information Technology.

[11]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[12]  Xianghua Xu,et al.  An One-way Hash Function Based Lightweight Mutual Authentication RFID Protocol , 2013, J. Comput..

[13]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..

[14]  Alexander Felfernig,et al.  CoreDiag: Eliminating Redundancy in Constraint Sets , 2011 .

[15]  Jin Song Dong,et al.  Timed Communicating Object Z , 2000, IEEE Trans. Software Eng..

[16]  Jonathan P. Bowen,et al.  Z Logic and its Consequences , 2003, Comput. Artif. Intell..

[17]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[18]  Graeme Smith,et al.  Using Bounded Fairness to Specify and Verify Ordered Asynchronous Multi-agent Systems , 2013, 2013 18th International Conference on Engineering of Complex Computer Systems.

[19]  L HeitmeyerConstance,et al.  Automated consistency checking of requirements specifications , 1996 .

[20]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[21]  Jane Sinclair,et al.  Introduction to formal specification and Z , 1991, Prentice Hall International Series in Computer Science.

[22]  J. R. Abrial,et al.  The B-Book: Mathematics , 1996 .

[23]  Anders P. Ravn,et al.  Specifying and verifying requirements of real-time systems , 1991 .

[24]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[25]  Troels Andreasen,et al.  Foundations of Intelligent Systems , 2014, Lecture Notes in Computer Science.

[26]  Jin Song Dong,et al.  An object-oriented approach to the semantics of programming languages , 1994 .

[27]  W. Marsden I and J , 2012 .

[28]  Roger Duke,et al.  An object-Z specification of a mobile phone system , 1994 .

[29]  Jim Woodcock,et al.  Industrial Practice in Formal Methods: A Review , 2009, FM.

[30]  Shusaku Tsumoto,et al.  Foundations of Intelligent Systems , 2003, Lecture Notes in Computer Science.

[31]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[32]  J. R. Abrial,et al.  The B-Book: Programming , 1996 .

[33]  Jin Song Dong,et al.  The Geometry of Object Containment , 1994 .

[34]  Ana Cavalcanti,et al.  FM 2009: Formal Methods, Second World Congress, Eindhoven, The Netherlands, November 2-6, 2009. Proceedings , 2009, FM.

[35]  Marie-Claude Gaudel,et al.  Structuring and Modularizing Algebraic Specifications: The PLUSS Specification Language, Evolutions and Perspectives , 1992, STACS.

[36]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[37]  Kirsten Mark Hansen,et al.  Specifying and verifying requirements of real-time systems , 1991, SIGSOFT '91.

[38]  Hui Xiong,et al.  Co-Clustering Bipartite with Pattern Preservation for Topic Extraction , 2008, Int. J. Artif. Intell. Tools.

[39]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[40]  Roger Duke,et al.  Object-Z: a specification language advocated for the description of standards , 1995 .

[41]  Ahmad Abdollahzadeh Barforoush,et al.  Reliable yet flexible software through formal model transformation (rule definition) , 2013, Knowledge and Information Systems.

[42]  Lichen Zhang,et al.  Specification of Train Control Systems Using Formal Methods , 2013, MUSIC.