PPOOA CASE tool and Computerized Tutor
Commercial CASE tools already support UML notation and offer general functionality that is expected of visual languages. Visual elements can be created and deleted; manipulated; connected; copied and pasted; and saved and loaded.
Developers are already familiar with commercial CASE tools. Thus a particular software development method as PPOOA can be crafted on the top of the existing general functionality of a commercial visual CASE tool.
We illustrate the approach with the implementation of PPOOA on the top of Microsoft Visio, considering the extension mechanisms of the tool, and the PPOOA metamodel previously created as an extension of UML metamodel [publications]. The PPOOA profile is compatible with UML and improves its use in real-time architectures. The UML stereotypes are extended with the elements of the style (periodic and aperiodic processes, controller object, and coordination mechanisms). UML Activity diagrams are also adapted for PPOOA requirements, specifically modeling resources and considering scheduling points.
We decided
to choose Microsoft Visio because it is highly customizable and offers a robust
user interface to build
upon . Furthermore, it has a large user base and is commonly found in industry.
Visio can be easily customized for different domains as nicely illustrated by
the applications that Visio already offers:UML and
other software methods diagrams, network architectures diagrams, ER diagrams to
model databases, electrical engineering diagrams, pipes and instruments diagrams
for industrial processes etc.
A Visio customized application such as PPOOA,
offers
The Visio object model represents
the objects, properties, methods and events that the Visio engine exposes
through automation. Most objects in the model correspond to items, the user can
see and select in the Visio user interface. Typical objects in the Visio model
are: application/global object,
document object, page object, master object, selection object, shape object and
window object. For example, a shape object can represent anything on a Visio
drawing page that the user can select with a pointer or an object from another
application that is linked, embedded, or imported into a Visio
drawing.
PPOOA-Visio has the following capabilities :
· PPOOA Navigator (Figure 1). This window contains the references to architecture diagrams and dynamic views (CFAs) of the developed system, and the instances of the PPOOA building elements used in this particular software architecture.
· Handling Visio events. In Visio, events can result from user actions such as opening or closing documents, dropping or deleting shapes on the drawing page, editing the text of shapes and altering shape attributes.
· Implementing PPOOA document structure. That is, pages representing architecture diagrams, and pages representing the dynamic view or responses model represented by the CFAs.
Figure 2. PPOOA-Visio Architectural Diagramm for a SCADA subsystem
Figure 3. Causal Flow of Activities for modelling the Raw Data Processing Response
Other important PPOOA Visio tool feature is the automatic generation of the System Architecture documentation.
PPOOA Computerized Tutor For Architecting Software (PPOOA_ATA)
Knowledge based systems and particularly intelligent agents provide the technology to implement user-oriented CASE tools where an intelligent agent implemented as a tool module, guides the software architect through the architecting process, suggesting him the actions to be performed and the methodology rules that apply to the current problem context.
The PPOOA_ATA agent presents a main screen, shown in the demo, which is part of the PPOOA _ATA computerized tutor and provides outputs relative to the architecting process, next goals, help issues and methodology guidelines to apply in a particular situation of the PPOOA architecting process. This main screen acts as a real-time library reference tuned to the exact step of the architecting process at which the software architect is working in his/her current software development project.
The main screen shown in the demo describes the current step, goals and substep of the architecting process for a particular situation in the project. In this situation the computerized tutor recommends the software architect to begin with a particular step of the PPOOA architecting process. The buttons give the software architect the opportunity to know the help issues and guidelines applicable to this situation