The projects that are included in the Deview research area are:
Primary Investigators: J. Paul Tremblay and Paul Sorenson (Alberta).
The general plan for this project is to address the part of the problem of developing a CASE environment using a metasystem approach. This approach is similar in concept to the use of compiler writing systems in generating compilers -- a practice that is now standard in the compiler industry.
More specifically, we will extend the existing Environment Definition Model (EDM) and metasystem prototype to support the definition and development of interactive graphics interfaces for software development tools. In his thesis, McAllister defined an extended EDM that incorporates graphical presentation, manipulation and constraints on design objects, their interrelationships and aggregation . This model will be further refined and implemented as part of an existing metasystem prototype.
A component of the metasystem is EDL (Environment Definition Language) which is a language used to specify different environments. We have specified environments to support structured systems analysis (data flow diagrams), HOS (Higher Order Software), Structured Design, Design Net, and Ward and Mellor's real-time systems specification environments. As well as the modelling of object-oriented development techniques such as the OMT and Shlaer-Mellor approaches have been modelled.
A major effort will be made to formalize an approach for describing how transformations occur as software development moves from one phase (eg., requirements definition) to another (eg., system design). These ``between phase'' translations are not formalized at present and are supported weakly, if at all, in existing software development tool sets. Our approach is to study how these between-phase transitions can be formalized and then develop a method for specifying such transformations. We have designed a preliminary version of an Environment Transformation Language (ETL) which facilitates the specification of these transformations. A transformation (including oracle intervention) that specifies the transformation of data flow diagrams to structure charts has been formulated.
An important area that Metaview must support is Software Process Modelling. The goal of this research is to develop an execution model for support of process models. The execution model is based on an active database model of automatically triggered values. A special language ECODE to describe process models has been designed. This language will be implemented in future versions of Metaview.
We have continued the preliminary work of Schaefer in the area of interactive graphics user interfaces. More specifically, his manual approach to generating these interfaces has been partially automated. Further work needs to be done in this area.
Another aspect of metasystems being investigated is the incorporation of a facility to permit the definition of software metrics for various specification environments. These metrics are used for the assessment and estimation of the quality of the software and to predict, at early stages of development, difficulties later on in the software life cycle. In our approach , metrics applicable to a particular environment are defined using ETL in conjunction with a formal definition of that environment. These metrics are kept in the specification database for future use.
Finally, work is underway in the process modelling area. Process modelling involves the specification of a development process (lifecycle model) to be used in the generation of software for and application. ETL is currently being expanded with suitable dynamics language constructs such as ``events'' and ``triggers'' to facilitate process modelling. This effort includes the design of a proper execution model for ETL and associated active database issues.
Primary Investigators:
J. Paul Tremblay and
Paul Sorenson (Alberta)
A useful tool in imformation systems development is an automated tool for
producing various types of diagrams such as
data flow diagrams and structure charts. MONDRIAN is such a system
for automatically generating data flow diagrams from a specification database.
We have surveyed automated layout systems and proposed
an architecture for an automated diagram layout generation system
for various diagrammatic types.
A central part of this system is a
relational algebra for specifying constraints for icon placement, arc routing,
and, more generally, diagram orientations and constraints.
An initial version of a parser
has been obtained for this system.
Work on the design of an object-oriented iconic graphical language and
a study and taxonomy of graphical constraints for various types of
diagrams is continuing.
The object code produced by the system is fed into the ICOLA (Incremental
Constraint-based Object layout Algorithm) platform. This
seminal work has resulted in a prototype layout systems called
ADL. Work is continuing on the second version of ADL.
The Metaview metasystem facilitates the generation of CASE tools for
different environments. The metasystem can support the generation of
interactive graphical tools for methodologies such as
structured systems analysis,
modelling real-time systems requirements, and structured design.
What is not
represented currently in these tools, however, is a way of specifying how
the development process using these tools should proceed
(i.e., the methodology of design).
We have been investigating, as a part of the IRIS subproject
on the design of large information systems, how ``methodology knowledge''
can be modelled and incorporated into the Metaview architecture. That is,
we want to generate ``smart'' tools.
One approach is examining how ``methodology
knowledge'' can be incorporated into ECL (Environment Constraint Language),
a language for specifying consistency and completeness constraints in a
software development environment definition. This extension would allow
for the capture of rules governing the order and nature of design steps.
Another approach is to formulate a language, based on the modelling of
the design process, for expressing methodology knowledge. Such a language
should be expressive enough to specify a wide family of
methodologies.
We have proposed a paradigm, not yet implemented, to create class
descriptions for an object-oriented environment that
captures the characteristics and
behaviour of real world objects.
This is accomplished through the definition
and incorporation of design constraints on those real world objects.
The main notions of this paradigm are two-fold.
First, constraints are used to drive the definition and development of classes
used to populate the object-oriented environment in
which the designer will later work.
These constraints are transformed into class features which,
during object instantiation,
are implicitly satisfied by the object-oriented system.
Second, constraints on objects are used to specify the
attribute values during the actual design of
an assembly structure, such as a residential building.
Using constraint satisfaction implicit to the objects,
the system can guide the designer through the many decisions to be made.
Since the constraints are integrated with the class definitions of the objects,
the designer need not worry about overlooking some crucial aspect of the design
.
An important aspect in the capture, analysis, elicitation and
specification of customer requirements in the system development
is the communication link between customers and requirement
engineers.
Requirement engineers produce and are familiar with formal specifications of
requirements while customers find formal specifications
difficult to comprehend.
In an attempt to more easily verify the accuracy of formal
specifications which represent customer requirements, systems to convert
formal specifications to English have be produced.
We have designed a system called GETS to convert formal specifications
in TELOS to English.
We are currently developing a system called REVIEW that converts a
specification database in any Metaview environment to English.
Requirements traceability, the ability to trace requirements
through all phases of the project life cycle, has become a
necessary attribute of the software development process. As
software systems become more complex, it becomes increasingly
difficult to manage requirements and ensure that they are
satisfied in the final product. Requirements traceability
offers some assistance with these tasks.
Computer Aided Software Engineering (CASE) tools are required
for achieving traceability, especially in the case of large
projects. One of the concerns with the CASE tools that are
currently available is that they are not adaptable to new
environments and methodologies. Metasystems can help to
alleviate this concern.
Work is being done to model a set of systems that foster
requirements traceability in the Metaview metasystem.
Primary Investigators: J. Paul Tremblay and Paul Sorenson (Alberta).
The emphasis in the DEVIEW project is on the investigation, design,
and implementation of prototype systems that assist the systems analyst
and designer in developing an information system.
Current research on the automatic aids for
information systems development include a metasystem
for deriving new versions or extensions to a problem statement language
and analyser, a set of system prototyping support tools, and database
and Structured System Design support tools.
The design of the Metaview metasystem
is continuing and the implementation of a prototype in Prolog is now taking place.
Version 1 of the database engine is complete.
The Metaview system is being expanded to contain a version and concurrency
control subsystem for handling long transactions. We are also
developing a graphical interaction model for specification
environments which can be used in the generation of graphically-orientated
tools.
Wood burl letters were taken from
Octagamm's Ball Boutique.
Knowledge-Based Information Systems
Automated Diagram Layout
Specifying Design Knowledge in Metaview
Constraint-Driven Object-Oriented Design
Generating Natural Language From Formal Specifications
Modelling Requirements Traceability
Information Systems
Tools for Analysis and Design
Deview Main Page
People
Projects
Papers
Theses
Related Sites
Feedback