We introduce an abstract theory for systems, components, composition, architectures, interfaces, and compatibility. We apply this theory to object orientation and work out an instance of that theory that covers these notions in terms of a formal model of objects, classes, components, and architectures as well as of interfaces of classes and components and their specification. We define and analyze, in particular, interfaces for object oriented software systems and their architectures. We deal with “design by contract” as well as “specification by contract” and analyze their limitations. We show how to specify these interfaces by logical formulas in the style of specification by contract, by state machines and also by interaction diagrams. We treat composition given a formal definition of class composition and analyze semantic complications. We discuss, in particular, how we can extend concepts from object orientation towards components and more sophisticated ways to handle interfaces and hierarchical architectures. Our approach is based on the concept of states, state assertions, and state machines. A pragmatic goal is to explore simple and tractable ways to describe interfaces.
IOS Press, Inc.
6751 Tepper Drive
Clifton, VA 20124
Tel.: +1 703 830 6300
Fax: +1 703 830 2300 firstname.lastname@example.org
(Corporate matters and books only) IOS Press c/o Accucoms US, Inc.
For North America Sales and Customer Service
West Point Commons
Lansdale PA 19446
Tel.: +1 866 855 8967
Fax: +1 215 660 5042 email@example.com