The algebraic structure of interfaces

  • Authors:
  • D. Ll. L. Rees;K. Stephenson;J. V. Tucker

  • Affiliations:
  • Wireless Data Services, Alder Hills Park, Poole BH12 4AR, UK;Systems Assurance Group, QinetiQ Trusted Information Management, Malvern WR14 3PS, UK;Department of Computer Science, University of Wales Swansea, Singleton Park, Swansea SA2 8PP, UK

  • Venue:
  • Science of Computer Programming
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we examine formally the idea that the architecture of a system can be modelled by the structure of its interface expressed in terms of the interfaces for its components. Thus, System Interface Architecture = Structured set of Sub-system Interfaces. We specify an abstract model for interface definition languages (IDLs) based on this idea and the idea that an Interface = Name + Imports + Body. A set of interfaces is a repository. An interface architecture is a repository with some primary interfaces identified; the import dependencies between the interfaces of a repository are used to determine its structure.The abstract model uses algebraic specifications to define the abstract syntax of a general IDL, and interface transformations using structural induction. We examine a flattening process which assembles a system interface from its components.We use the general model to derive a simple IDL suitable for the design phase of object-oriented software development. This requires us to specify a form of Body that treats both data types and state, and in Body we explicitly distinguish between methods with and without side-effects, by commands and queries, respectively. We also consider alternative proposals for Body that yield new IDLs, including other object-oriented design languages and data type specification languages.