ProForm - A Knowledge-Based Tool for Object-Oriented Analysis and Design

by Michele Missikoff and Roberto Pizzicannella

ProForm aims at developing an environment for the analysis, modeling
and rapid prototyping of Object-Oriented Information Systems. The application
model is defined using an object-oriented approach with the specification
of structural (static) and behavioural (dynamic) components. The specifications
are stored in a knowledge base, allowing a rich set of services, such as:
formal verification, diagrammatic representation of the application domain,
rapid prototyping.

The ProForm research project is being carried out at IASI-CNR (Institute
for System Analysis and Computer Science of the Italian National Research
Council) by the MOSAICO group. The main motivation for the project is the
inadequacy of traditional tools and methodologies to handle the development
of new generation Information Systems.

This inadequacy has two main causes:

Traditional approaches give great relevance to the software construction
phase of the development process (such as detailed design, coding and testing).
However, nowadays, attention is moving towards the higher phases of development
(such as requirements analysis and application modeling). This shift in
emphasis encourages the use of modeling paradigms and terminology closer
to the application domain, allowing the application expert to be involved
in the system development.

The focus on the lower phases of development has meant that the tools
can be very complex and difficult to use, in particular for domain-experts.
Thus an upward shift in the scope of the tools will permit the interface
paradigm to be simplified.

The approach to Information System modeling in ProForm is based on two
paradigms:

for the static part, a pure object-oriented model is used, based on
the ODMG-93 standard

for the dynamic part, the notion of a Business Process, with its decomposition
in Business Use Cases and Activities is used.

Main features

The main characteristics of ProForm with reference to the system architecture
reported in the figure are:

Knowledge Application Modeling:

The static and dynamic component of an Information System are modeled.
The static component is described as a set of Entities in the object-oriented
sense. The dynamic component is specified in terms of Business Processes
(BP). A BP is a set of Use Cases (UC), each of which represents a different
user view of the BP. The Use Cases are recursively decomposed into actions/subactions.
The lower level of decomposition is represented by steps, ie, ground executable
actions. To deal with the complexity of BP modeling, the notions of Standard
Course of Actions, Conditional Actions and Exceptions have been introduced.
All this information is stored in the Application Knowledge Base (AKB).

ProForm Interface:

Interaction with the analyst and, in particular, the knowledge acquisition
process is achieved by means of a set of interactive forms designed to
facilitate the use of the tool.

Knowledge Base Verifier:

The formal nature of the underlying object model allows for the correctness
verification of the Knowledge Base, checking for the absence of incomplete,
inconsistent or unsafe assertions. Theorem proving techniques are also
employed for this purpose.

Diagram Interface:

A subsystem for the automatic construction of diagrammatic representations
is provided in order to offer synthetic views of the model stored in the
AKB. The diagrams that can be obtained are defined according to the UML
standard and concern inheritance hierarchies, association graphs, message
passing diagrams, and so on.

ProForm Engine:

The specification stored in the AKB can be executed, allowing a rapid
prototype of the Information System to be realized. This is done using
the ProForm Engine that interprets the specifications and executes them.
Partial execution can be performed with an incomplete AKB. A stand alone
prototype can be produced using a compiler and the automatic construction
(through K2D Generator) of the Application DB. In this case a User Application
Interface for the prototype is automatically generated by the Application
GUI Generator.

ProForm is currently under development on a PC platform, using Windows
95, Microsoft Access and Visual Basic.