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.
Please contact:
Michele Missikoff or Roberto Pizzicannella - IASI-CNR
Tel: +39 6 77161
E-mail: {missikoff, pizzican}@iasi.rm.cnr.it