BAS: A Case Study for Modeling and Verification in Trustable Model Driven Development

Multi-view modeling and separation of concerns are widely used to decrease the design complexity of the large-scale software system. To ensure the correctness and consistency of multi-view requirement models, the formal verification technology should be applied to the model-driven development process. However, there still lacks unified theory foundation and tool supports for the rigorous modeling approach. To solve these problems, we implemented an integrated modeling and verification environment tMDA (Trustable MDA) based on the theory of UTP. In tMDA, developers model system requirements with UML static and dynamic models and verify the correctness and consistency of different models. A multidimensional model is proposed, which supports the consistency verification, liveness and safety property verification, OCL constraints and LTL formula verification. A Bank ATM System (BAS) is introduced to demonstrate how to utilize tMDA for design and verification.

[1]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[2]  Stephan Merz,et al.  Model checking UML state machines and collaborations , 2001, Workshop on Software Model Checking @ CAV.

[3]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[4]  Miao Huai-kou,et al.  A Strategy for Model Construction and Integration in MDA , 2006 .

[5]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[6]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[7]  Jing Liu,et al.  Unifying Views of UML , 2004, CVUML.

[8]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[9]  Zhenbang Chen,et al.  Harnessing rCOS for Tool Support - The CoCoME Experience , 2007, Formal Methods and Hybrid Real-Time Systems.

[10]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[11]  Andrew William Roscoe,et al.  Model-checking CSP , 1994 .

[12]  Johan Lilius,et al.  vUML: a tool for verifying UML models , 1999, 14th IEEE International Conference on Automated Software Engineering.

[13]  Jifeng He,et al.  Consistency checking of UML requirements , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[14]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction, Second Edition , 2000 .

[15]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[16]  Zhenbang Chen,et al.  A Rigorous Model of Service Component Architecture , 2008, Electron. Notes Theor. Comput. Sci..

[17]  A classical mind: essays in honour of C. A. R. Hoare , 1994 .

[18]  Jing Liu,et al.  The Verification of rCOS Using Spin , 2008, Electron. Notes Theor. Comput. Sci..

[19]  Alexander K. Petrenko,et al.  Electronic Notes in Theoretical Computer Science , 2009 .

[20]  B.H.C. Cheng,et al.  Real-time specification patterns , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[21]  Bertrand Meyer,et al.  Eiffel: The Language , 1991 .

[22]  Jifeng He,et al.  Towards a Rigorous Approach to UML-Based Development , 2005, SBMF.

[23]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[24]  Jifeng He,et al.  rCOS: A refinement calculus of object systems , 2006, Theor. Comput. Sci..

[25]  Robyn R. Lutz Targeting safety-related errors during software requirements analysis , 1993, SIGSOFT '93.

[26]  Takeo Kanade,et al.  Unifying Theories of Programming , 2010, Lecture Notes in Computer Science.