Statecharts: A visual formalism for complex systems
Science of Computer Programming
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
Object-oriented and mixed programming paradigms
Use Case Maps as Architectural Entities for Complex Systems
IEEE Transactions on Software Engineering
BCOOPL: Basic concurrent object-oriented programming language
Software—Practice & Experience
Petri Net Theory and the Modeling of Systems
Petri Net Theory and the Modeling of Systems
Architectural Mismatch: Why Reuse Is So Hard
IEEE Software
Architectural Mismatch: Why Reuse Is So Hard
IEEE Software
A Grey-Box Approach to Component Composition
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
The specification of process synchronization by path expressions
Operating Systems, Proceedings of an International Symposium
Scenario-Based Generation and Evaluation of Software Architectures
GCSE '01 Proceedings of the Third International Conference on Generative and Component-Based Software Engineering
Hi-index | 0.00 |
The behavior of a system comprised of collaborating components tend to be difficult to analyze, especially if the system consists of a large number of concurrently operating components. We propose a scenario-based approach for analyzing component compositions that is based on Use Case Maps (UCMs), but is extended with a few additional constructs for modeling component interfaces and connections. UCMs provide a high level, behavioral view on a system that is easy to comprehend by humans. However, UCMs do not have well-defined semantics. For this reason, UCMs are augmented with formal component interface specifications as used in the concurrent, object-oriented programming language BCOOPL. The combination of UCMs and BCOOPL interface specifications enables formal analysis of component compositions. This involves two steps. In the first step, UCMs and BCOOPL interface specifications are translated into a BCOOPL program. In the second step, the interactions between components are analyzed for system properties like deadlock and reachability. An important result of the combination is that the complexity, which arises when concurrently collaborating components are brought together, is tamed by considering only those usages of components that are actually specified in UCM scenarios.