Programmable Relations for Managing Change During Software Development
Management of changes during software development is a central problem in software object management. Successful propagation of changes requires effective use of relationships among objects. The structure of relationships identifies the direction order, and extent of change propagation, while the se...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Report |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Management of changes during software development is a central problem in software object management. Successful propagation of changes requires effective use of relationships among objects. The structure of relationships identifies the direction order, and extent of change propagation, while the semantics of relationships indicate the kinds of changes to be made. Many data models proposed for software object management offer some useful features for controlling change but lack others. Configuration control and version management systems support some useful relationships and types but are too specialized. Object-oriented systems are more general, but while they may support derived relationships they represent those relationships only as attributes of objects. Conversely entity-relationship models provide for the independent representation of extensional relationships but typically do not support derived relationships fully. The relational model also represent relationships separately, but efficiency and restrictions to atomic valued attributes have been problems for software object management. We propose a model of programmable relations over composite objects. This general model allows relationships among objects to be represented explicitly, and it enables derivation and other processes to be programmed into the implementation of relations. Programmable implementations, combined with an operationally-efficient interface, should help to overcome the performance problems of conventional relational systems. Based on this model we have developed the language APPL/ A, an extension of Ada that includes active, programmable relations plus mechanisms for forward and backward inferencing over relations. We introduce APPL/ A and present an example system of relations to illustrate relation specifications and the opportunities for alternative relation implementations. |
---|