skip to main content
research-article

Towards automatic generation of formal specifications to validate and verify reliable distributed systems: a method exemplified by an industrial case study

Authors Info & Claims
Published:22 October 2011Publication History
Skip Abstract Section

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.

References

  1. ApectJ web site. URL http://www.eclipse.org/aspectj. Last accessed May 2011.Google ScholarGoogle Scholar
  2. Arctis Verification Project. Norwegian Research Council, FORNY Project no. 199644.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Beugnard, J.-M. Jezequel, N. Plouzeau, and D. Watkins. Making Components Contract Aware. Computer, 32: 38--45, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Eshuis. Symbolic Model Checking of UML Activity Diagrams. ACM Trans. Softw. Eng. Methodol., 15 (1): 1--38, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. Herrmann and H. Krumm. A Framework for Modeling Transfer Protocols. Computer Networks, 34 (2): 317--337, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle Scholar
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. L. Lamport. Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc., 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. V. Mencl. Specifying Component Behavior with Port State Machines. Electronic Notes in Theoretical Computer Science, 101: 129--153, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Object Management Group (OMG). Unified Modeling Language: Superstructure, Version 2.3, 2010.Google ScholarGoogle Scholar
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. Rushby. Disappearing Formal Methods. In High-Assurance Systems Engineering Symposium, pages 95--96. ACM, 2000.Google ScholarGoogle Scholar
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Towards automatic generation of formal specifications to validate and verify reliable distributed systems: a method exemplified by an industrial case study

                            Recommendations

                            Comments

                            Login options

                            Check if you have access through your login credentials or your institution to get full access on this article.

                            Sign in

                            Full Access

                            PDF Format

                            View or Download as a PDF file.

                            PDF

                            eReader

                            View online with eReader.

                            eReader
                            About Cookies On This Site

                            We use cookies to ensure that we give you the best experience on our website.

                            Learn more

                            Got it!