Object Specification

TitleObject Specification
Publication TypeConference Paper
Year of Publication1996
AuthorsEhrich, H. - D.
PublisherTU Braunschweig

The paper presents an approach to object specification that combines ideas from algebraic data type specification, conceptual data modeling, behavior modeling, specification of reactive systems, and concurrency theory. The main purpose is to deal with open, reactive and distributed systems. The paper concentrates on fundamental concepts and constructions rather than languages and systems. The approach is based on experiences with developing the \sc Troll family of languages and their semantic foundations. The semantic basis is linear-time temporal logic. \ After briefly explaining the basic concepts of object, class, type, and system, a denotational model of object classes is described that is tailored towards temporal logic. Then temporal class specification is explained, i.e., the use of linear-time temporal logic for in-the-small specification of object classes. Then in-the-large structuring concepts are discussed that are typical for object-orientation: inheritance and composition. Inheritance concepts include is-a and as-a specialization, hiding, overriding, overlaying, and covariance. Composition concepts include generalization and aggregation. For specifying interaction among object components, temporal logic is sufficient. For interaction among concurrent objects, an extension of the logic called Distributed Temporal Logic \sc Dtl is introduced.