IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Formal Methods in System Design - Special issue on The First Federated Logic Conference (FLOC'96), part II
JMOCHA: a model checking tool that exploits design structure
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Coordination models and languages
Coordination models and languages
Reo: a channel-based coordination model for component composition
Mathematical Structures in Computer Science
Modeling component connectors in Reo by constraint automata
Science of Computer Programming - Special issue on second international workshop on foundations of coordination languages and software architectures (FOCLASA'03)
A Uniform Framework for Modeling and Verifying Components and Connectors
COORDINATION '09 Proceedings of the 11th International Conference on Coordination Models and Languages
Formal Verification for Components and Connectors
Formal Methods for Components and Objects
Formal modeling
Hi-index | 0.00 |
In traditional approaches to software development, modeling precedes programming activities. Hence, models represent the intended structure and behavior of the system-to-be. The reverse case, however, is often found in practice: using models to gain insight into an existing software system, enabling the evolution and refactoring of the system to new needs. We report on a case study with the ASK communication platform, an existing distributed software system with multithreaded components. For the modeling of the ASK system we followed a hierarchical top-down approach that allows a high-level description of the system behavior on different levels of abstraction by applying an iterative refinement procedure. The system model is refined by decomposing the components into sub-components together with the "glue code" that orchestrates their interactions. Our model of the ASK system is based on the exogenous coordination language Reo for specifying the glue code and an automatabased formalism for specifying the component interfaces. This approach is supported by the modeling framework of the tool-set Vereofy which is used to establish several properties of the components and the coordination mechanism of the ASK system. Besides demonstrating how modeling and verification can be used in combination to gain insight into legacy software, this case study also illustrates the applicability of exogenous coordination languages such as Reo for modeling and toolsets such as Vereofy for the formal analysis of industrial systems.