Font Size: a A A

An underlying framework for a software engineering environment supporting exploratory design

Posted on:1990-09-02Degree:Ph.DType:Dissertation
University:Northwestern UniversityCandidate:Lee, HungFull Text:PDF
GTID:1478390017953448Subject:Computer Science
Abstract/Summary:
In this research, we have developed a design language and an internal representation scheme which together form the underlying framework of a design environment. The goal is to support exploratory design, which is an approach effective for coping with requirement and design changes. The language and the semantic model are developed in the same framework, and thus are conceptually consistent.;The essential mechanisms that the language has to provide are abstractions, information hiding, locality, and modularity. We provide three language constructs: types, event classes, and scripts. Types model passive data entities, legitimate operations are associated with types and can be invoked by other objects. Event classes model "happenings" involving groups of heterogeneous data entities. Scripts model autonomous processes that suffer no operations but require of participation of other data entities and events. Each construct is used to define classes of objects sharing same properties. By instantiating the "forms" with actual substances, we can obtain individual objects. Each object has a specification which is visible to other objects, and also a hidden body which hides implementation details. Moreover, subclasses are used to derive new definitions from existing classes. The inheritance property of such a hierarchy makes module reuse possible. The concept of subsystem is also used to group related classes and their instances. These constructs provide simple and uniform primitives sufficient for the designer to describe a system with great flexibility for development-in-the-large at the design level.;Objects in a design are represented uniformly in the semantic model. The primitive units in the semantic model correspond naturally to the primitive constructs in the language, and so does the inheritance hierarchy. We represent classes and instances in the language as nodes, and their dependencies as links in the model. The semantic model has the property of easy extension and contraction, which is important for solving the problems caused by changes. Tools of the supporting environment are attached to the nodes of the model, thus allowing generic tools to be developed at higher levels as polymorphic facilities. The resulting design environment is an open one since new tools can be incorporated incrementally.
Keywords/Search Tags:Environment, Framework, Language, Model
Related items