Title :
Constructing interoperable components in distributed systems
Author :
Ling, Sea ; Schmidt, Heinz ; Fletcher, Rohan
Author_Institution :
Sch. of Comput. Sci. & Software Eng., Monash Univ., Clayton, Vic., Australia
Abstract :
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 synchronisation 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 synchronisation 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 synchronisation of method execution is explained
Keywords :
distributed programming; object-oriented programming; visual programming; Eiffel-style assertions; Java binding; architecture definition language; distributed system; distributed systems; interface definition language; interoperable components; lift control system; visual programming; Concurrent computing; Contracts; Fault tolerance; Government; Java; Programming environments; Protection; Read only memory;
Conference_Titel :
Technology of Object-Oriented Languages and Systems, 1999. TOOLS 32. Proceedings
Conference_Location :
Melbourne, Vic.
Print_ISBN :
0-7695-0462-0
DOI :
10.1109/TOOLS.1999.809432