Abstract

The validation and verification of reliable systems is a difficult and complex task, mainly for two reasons: First, it is difficult to precisely state which formal properties a system needs to fulfil to be of high quality. Second, it is complex to automatically verify such properties, due to the size of the analysis state space which grows exponentially with the number of components. We tackle these problems by a tool-supported method which embeds application functionality in building blocks that use UML activities to describe their internal behaviour. To describe their externally visible behaviour, we use a combination of complementary interface contracts, so-called ESMs and EESMs. In this paper, we present an extension of the interface contracts, External Reliability Contracts (ERCs), that capture failure behaviour. This separation of different behavioural aspects in separate descriptions facilitates a two-step analysis, in which the first step is completely automated and the second step is facilitated by an automatic translation of the models to the input syntax of the model checker TLC. Further, the cascade of contracts is used to separate the work of domain and reliability experts. The concepts are proposed with the background of a real industry case, and we demonstrate how the use of interface contracts leads to significantly smaller state spaces in the analysis.
- ApectJ web site. URL http://www.eclipse.org/aspectj. Last accessed May 2011.Google Scholar
- Arctis Verification Project. Norwegian Research Council, FORNY Project no. 199644.Google Scholar
- S. Bauer and R. Hennicker. Views on Behaviour Protocols and Their Semantic Foundation. In Algebra and Coalgebra in Computer Science, volume 5728 of LNCS, pages 367--382. Springer, 2009. Google Scholar
Digital Library
- A. Beugnard, J.-M. Jezequel, N. Plouzeau, and D. Watkins. Making Components Contract Aware. Computer, 32: 38--45, 1999. Google Scholar
Digital Library
- Y.-F. Chen, E. M. Clarke, A. Farzan, F. He, M.-H. Tsai, Y.-K. Tsay, B.-Y. Wang, and L. Zhu. Comparing Learning Algorithms in Automated Assume-Guarantee Reasoning. In Proc. of the 4th int. conf. on Leveraging applications of formal methods, verification, and validation - Volume Part I, ISoLA'10, pages 643--657. Springer-Verlag, 2010. Google Scholar
Digital Library
- K. T. Cheng and A. S. Krishnakumar. Automatic Functional Test Generation using the Extended Finite State Machine Model. In Proc. 30th Int. Design Automation Conf., DAC'93, pages 86--91. ACM, 1993. Google Scholar
Digital Library
- E. Clarke, D. Long, and K. McMillan. Compositional Model Checking. In Proc. of the Fourth Annual Symposium on Logic in computer science, pages 353--362. IEEE Press, 1989. Google Scholar
Digital Library
- J. M. Cobleigh, D. Giannakopoulou, and C. S. Păsăreanu. Learning Assumptions for Compositional Verification. In Proc. of the 9th int. conf. on Tools and algorithms for the construction and analysis of systems, TACAS'03, pages 331--346. Springer-Verlag, 2003. Google Scholar
Digital Library
- J. M. Cobleigh, G. S. Avrunin, and L. A. Clarke. Breaking Up is Hard to Do: An Investigation of Decomposition for Assume-Guarantee Reasoning. In Proc. of the 2006 int. symposium on Software testing and analysis, ISSTA '06, pages 97--108. ACM, 2006. Google Scholar
Digital Library
- R. Eshuis. Symbolic Model Checking of UML Activity Diagrams. ACM Trans. Softw. Eng. Methodol., 15 (1): 1--38, 2006. Google Scholar
Digital Library
- N. Guelfi and A. Mammar. A Formal Semantics of Timed Activity Diagrams and its PROMELA Translation. In Proc. 12th Asia-Pacific SE Conf., pages 283--290, 2005. Google Scholar
Digital Library
- L. Gunawan, F. Kraemer, and P. Herrmann. A Tool-Supported Method for the Design and Implementation of Secure Distributed Applications. In Engineering Secure Software and Systems, volume 6542 of LNCS, pages 142--155. Springer Berlin / Heidelberg, 2011. Google Scholar
Digital Library
- P. Herrmann and H. Krumm. A Framework for Modeling Transfer Protocols. Computer Networks, 34 (2): 317--337, 2000. Google Scholar
Digital Library
- F. A. Kraemer. Engineering Reactive Systems: A Compositional and Model-Driven Method Based on Collaborative Building Blocks. PhD thesis, Norwegian University of Science and Technology, 2008.Google Scholar
- F. A. Kraemer and P. Herrmann. Automated Encapsulation of UML Activities for Incremental Development and Verification. In Proc. of the 12th Int. Conf. on Model Driven Engineering, Languages and Systems (Models), volume 5795 of LNCS, pages 571--585, 2009. Google Scholar
Digital Library
- F. A. Kraemer and P. Herrmann. Reactive Semantics for Distributed UML Activities. In Formal Techniques for Distributed Systems, volume 6117 of LNCS, pages 17--31, 2010. Google Scholar
Digital Library
- F. A. Kraemer, R. Bræk, and P. Herrmann. Synthesizing Components with Sessions from Collaboration-Oriented Service Specifications. In Proc. 13th Int. SDL Forum Conf. on Design for Dependable Systems, SDL'07, pages 166--185, 2007. Google Scholar
Digital Library
- F. A. Kraemer, V. Slåtten, and P. Herrmann. Tool Support for the Rapid Composition, Analysis and Implementation of Reactive Services. Journal of Systems and Software, 82 (12): 2068--2080, 2009. Google Scholar
Digital Library
- F. A. Kraemer, V. Slåtten, and P. Herrmann. Model-Driven Construction of Embedded Applications based on Reusable Building Blocks - An Example. In SDL 2009, volume 5719 of LNCS, pages 1--18. Springer-Verlag Berlin Heidelberg, 2009. Google Scholar
Digital Library
- L. Lamport. Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc., 2002. Google Scholar
Digital Library
- V. Mencl. Specifying Component Behavior with Port State Machines. Electronic Notes in Theoretical Computer Science, 101: 129--153, 2004. Google Scholar
Digital Library
- Object Management Group (OMG). Unified Modeling Language: Superstructure, Version 2.3, 2010.Google Scholar
- C. S. Păsăreanu, D. Giannakopoulou, M. G. Bobaru, J. M. Cobleigh, and H. Barringer. Learning to Divide and Conquer: Applying the L* Algorithm to Automate Assume-Guarantee Reasoning. Form. Methods Syst. Des., 32: 175--205, 2008. Google Scholar
Digital Library
- J. Rushby. Disappearing Formal Methods. In High-Assurance Systems Engineering Symposium, pages 95--96. ACM, 2000.Google Scholar
- R. T. Sanders, R. Bræk, G. von Bochmann, and D. Amyot. Service Discovery and Component Reuse with Semantic Interfaces. In SDL 2005: Model Driven Systems Design, volume 3530 of LNCS, chapter 6, pages 1244--1247. Springer, 2005. Google Scholar
Digital Library
- V. Slåtten and P. Herrmann. Contracts for Multi-instance UML Activities. In Formal Techniques for Distributed Systems, volume 6722 of LNCS, pages 304--318, 2011. Google Scholar
Digital Library
- V. Slåtten, F. A. Kraemer, and P. Herrmann. Towards a Model-Driven Method for Reliable Applications: From Ideal to Realistic Transmission Semantics. In Proc. 2nd Int. Workshop on Software Engineering for Resilient Systems (SERENE 2010). ACM Digital Library, 2010. Google Scholar
Digital Library
- H. Störrle. Semantics and Verification of Data Flow in UML 2.0 Activities. Electronic Notes in Theor. Comp. Sci., 127 (4): 35--52, 2005. Google Scholar
Digital Library
- Y. Yu, P. Manolios, and L. Lamport. Model Checking TLA+ Specifications. In Proc. 10th IFIP WG 10.5 Adv. Research Working Conf. on Correct Hardware Design and Verification Methods (CHARME'99), volume 1703 of LNCS, pages 54--66, 1999. Google Scholar
Digital Library
Index Terms
Towards automatic generation of formal specifications to validate and verify reliable distributed systems: a method exemplified by an industrial case study
Recommendations
Towards automatic generation of formal specifications to validate and verify reliable distributed systems: a method exemplified by an industrial case study
GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineeringThe validation and verification of reliable systems is a difficult and complex task, mainly for two reasons: First, it is difficult to precisely state which formal properties a system needs to fulfil to be of high quality. Second, it is complex to ...
Modeling and Verification of Reactive Systems using Rebeca
Actor-based modeling has been successfully applied to the representation of concurrent and distributed systems. Besides having an appropriate and efficient way for modeling these systems, one needs a formal verification approach for ensuring their ...
Automatic Compositional Verification of Probabilistic Safety Properties for Inter-organisationalWorkflow Processes
SIMULTECH 2016: Proceedings of the 6th International Conference on Simulation and Modeling Methodologies, Technologies and ApplicationsFor many complex systems, it is important to verify formally their correctness; the aim is to guarantee the
reliability and the correctness of such systems before their effective deployment. Several methods have been
proposed to this effect using ...







Comments