Proceedings of the Fourth Annual Symposium on Logic in computer science
Automatic functional test generation using the extended finite state machine model
DAC '93 Proceedings of the 30th international Design Automation Conference
A framework for modeling transfer protocols
Computer Networks: The International Journal of Computer and Telecommunications Networking
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Making Components Contract Aware
Computer
Model Checking TLA+ Specifications
CHARME '99 Proceedings of the 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
A Formal Semantics of Timed Activity Diagrams and its PROMELA Translation
APSEC '05 Proceedings of the 12th Asia-Pacific Software Engineering Conference
Symbolic model checking of UML activity diagrams
ACM Transactions on Software Engineering and Methodology (TOSEM)
Breaking up is hard to do: an investigation of decomposition for assume-guarantee reasoning
Proceedings of the 2006 international symposium on Software testing and analysis
Learning to divide and conquer: applying the L* algorithm to automate assume-guarantee reasoning
Formal Methods in System Design
Tool support for the rapid composition, analysis and implementation of reactive services
Journal of Systems and Software
Automated Encapsulation of UML Activities for Incremental Development and Verification
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Specifying Component Behavior with Port State Machines
Electronic Notes in Theoretical Computer Science (ENTCS)
Semantics and Verification of Data Flow in UML 2.0 Activities
Electronic Notes in Theoretical Computer Science (ENTCS)
Learning assumptions for compositional verification
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
Synthesizing components with sessions from collaboration-oriented service specifications
SDL'07 Proceedings of the 13th international SDL Forum conference on Design for dependable systems
Model-driven construction of embedded applications based on reusable building blocks: an example
SDL'09 Proceedings of the 14th international SDL conference on Design for motes and mobiles
Views on behaviour protocols and their semantic foundation
CALCO'09 Proceedings of the 3rd international conference on Algebra and coalgebra in computer science
Comparing learning algorithms in automated assume-guarantee reasoning
ISoLA'10 Proceedings of the 4th international conference on Leveraging applications of formal methods, verification, and validation - Volume Part I
A tool-supported method for the design and implementation of secure distributed applications
ESSoS'11 Proceedings of the Third international conference on Engineering secure software and systems
Contracts for multi-instance UML activities
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
Service discovery and component reuse with semantic interfaces
SDL'05 Proceedings of the 12th international conference on Model Driven
Reactive semantics for distributed UML activities
FMOODS'10/FORTE'10 Proceedings of the 12th IFIP WG 6.1 international conference and 30th IFIP WG 6.1 international conference on Formal Techniques for Distributed Systems
Proceedings of the 2nd International Workshop on Software Engineering for Resilient Systems
Compositional verification of application-level security properties
ESSoS'13 Proceedings of the 5th international conference on Engineering Secure Software and Systems
Hi-index | 0.00 |
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.