Generating adapters for concurrent component protocol synchronisation
FMOODS '02 Proceedings of the IFIP TC6/WG6.1 Fifth International Conference on Formal Methods for Open Object-Based Distributed Systems V
Trustworthy components-compositionality and prediction
Journal of Systems and Software - Special issue on: Component-based software engineering
Trust-By-Contract: Modelling, Analysing And Predicting Behaviour Of Software Architectures
Journal of Integrated Design & Process Science
Architecture-Based Reasoning About Performability in Component-Based Systems
SOFSEM '07 Proceedings of the 33rd conference on Current Trends in Theory and Practice of Computer Science
SOFSEM '07 Proceedings of the 33rd conference on Current Trends in Theory and Practice of Computer Science
Hi-index | 0.00 |
The separation of architecture definition language (ADL) and interface definition language (IDL) is widely accepted in the distributed system community. It separates issues of hierarchical composition and configuration from those of services, communication and synchronization and thus eases reconfiguration without changing the interfaces and implementation and allows the change of services within well-defined configuration constraints. Our approach towards distributed system definition draws on the Darwin project's notion of distributed system architecture definition and on Eiffel's notion of design-by-contract. We extend contracts to deal with synchronization and coordination at a higher level, explicitly targeting both large-scale loosely-coupled distributed components and tightly coupled parallel or multithreaded objects.In this paper, we present a Java binding of the resulting contract extensions. We incorporate annotations into Java programs adding Eiffel-style assertions and other contractual constraints. Java component code and constraints are then associated to architectural diagrams in a visual programming environment. The paper illustrates the language features in a case study of a lift control system. Based on the case study, the component-based design approach is illustrated and the internal synchronization of method execution is explained.