Members of the group are particularly interested in developing abstractions that will make these processes more manageable, specifically in the context of adaptability and reuse. We have devised an approach to object-oriented software design that creates software systems from two types of components called objects and object views.
Objects are the usual artifacts of object-oriented design.
Object views are also objects which can query and update objects, and represent interfaces between objects, or between objects and external media, such as is represented by a user interface or a network connection. ADVs and ADOs are intended to augment object-oriented analysis and design methods, and we have found that specification of interfaces separate from the other objects that constitute a design, strongly supports both adaptability and reuse. ADV and ADO components are specified through schema expressed in various types of logic, and are joined together using interconnection languages. With this approach we can reason about both the individual components and the system composed of the interconnected components. We wish to determine if a design and its components satisfy both the specifications and various interconnection properties such as those found in safety-critical systems.