Title :
Software evolution and ´light´ semantics
Author :
Perry, Dewayne E.
Author_Institution :
AT&T Bell Labs., Murray Hill, NJ, USA
Abstract :
The motivation for Inscape came from my experience as a programmer, designer and architect. There were two major (and inter-related) problems that I encountered while building software systems where I had to use components built by other people: the pieces often did not fit when I put them together and changing code often produced surprising and unexpected results. The first problem was due primarily to the informality and often incompleteness of component interfaces. The second problem was due ultimately to the complexity of the software and an inability to foresee or determine the consequences of changes. These problems result from three essential and intertwined properties of building software systems: composition, evolution and complexity. In coming to grips with the problem of composition, using formal interface specifications is the obvious choice. Enhancing the syntactic interfaces with semantic information is one way of expressing the intent of the interface provider and enabling the user to have all the information necessary to its correct and effective use. How to attack the problem of evolution is not as obvious. The approach I took in the Inscape experiment was to use the specifications constructively in order to determine and maintain semantic dependencies. Keeping track semantically as to how the interfaces are used is the analog of expressing the interface creator´s intent: it is capturing the users intent. Given that both interfaces and implementations evolve, keeping track of the dependencies enables the environment to help in understanding the effects of changes and where those effects take place.
Keywords :
formal specification; software maintenance; user interfaces; Inscape; complexity; component interfaces; composition; formal interface specifications; light semantics; semantic dependencies; semantic information; software evolution; software systems; syntactic interfaces; Buildings; Data structures; Hardware; Permission; Pins; Pressing; Programming profession; Software systems;
Conference_Titel :
Software Engineering, 1999. Proceedings of the 1999 International Conference on
Conference_Location :
Los Angeles, CA, USA
Print_ISBN :
1-58113-074-0