Constructing Interoperable Components in Distributed Systems

  • Authors:
  • Sea Ling;Heinz W. Schmidt;Rohan Fletcher

  • Affiliations:
  • -;-;-

  • Venue:
  • TOOLS '99 Proceedings of the 32nd International Conference on Technology of Object-Oriented Languages
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

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 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.