Subweb Home
Overview
OOA of OOA
Metamodel
PARSEC
Templates
Converter
Architecture
PULSAR
Demonstrator
Downloads
Introduction to the PLASMA Tool Set
PLASMA Overview

PLASMA is a CASE (Computer Aided Software Engineering) tool which is used for modeling large and complex computer systems.

CASE tools allow software developers to draw various sorts of technical pictures to represent certain aspects of a system under development.

The different diagram types describe a number of key features of the system; what data it stores, how it behaves and what work it does. The diagrams are drawn in a formal representation known as UML (Unified Modeling Language) which has been a standard notation for a number of years.

Although the term "CASE" fell out of favor several years ago, mainly because of promises about the technology that were never quite delivered, there has been a revival; it comes in the form of the Model Driven Architecture initiative from the Object Management Group (OMG).

Nowadays, most commercial tools also have a capability to generate code from the diagrams they hold. However, the effectiveness of automatic code generation varies widely from tool to tool.

The PLASMA tool set has no diagram drawing facility as yet, but implements an advanced automatic code generation technique known as Translation. Sally Shlaer and Steve Mellor both from Project Technology published details on Translation as part of their Recursive Design (RD) method in 1990.

Conceptually, the PLASMA tool set has a number of components, mostly written in ANSI C or tailored to produce ANSI C code:

  • Analysis of the Analysis Formalism
  • OOA Metamodel foundation for the tool
  • PARSEC - Advanced Code Generator
  • Suite of Code Templates for PARSEC
  • Diagram harvester for populating the Metamodel
  • Software Architecture Virtual Machine
  • PULSAR - Event level Test Environment
  • Analysis model for testing PLASMA

They are all briefly described in this Subweb except for PARSEC which is described in detail and has its own Subweb.

History of PLASMA

Initially, the long term aim of Dark Matter Systems was to produce a privately funded state-of-the-art CASE tool.

However, as the project progressed it became apparent that the resources required to develop a complete CASE tool product were beyond the company's capabilities.

A decision was soon made to concentrate on the back-end code generation process, in preference to the development of a front-end diagram editor.

This had the desired effect of helping to reduce the scope of development. But there were a number of other reasons for this decision. The main one being it was simply more interesting to do research into automatic code generation than to develop yet another drawing tool!

The development of PLASMA continued, albeit with several long interruptions, for about five years. It's perhaps because of the long time in development, that the various components have evolved together to form a highly integrated tool set.

PLASMA development began in 1994 on a platform that was to become almost obsolete over the next few years. In 1998, some PLASMA components were successfully ported across to Windows - mainly because they had been written in ANSI C, while others that depended on certain aspects of the Operating System or specific file formats still remain a challenge.

Future of PLASMA

Back in 1998, PLASMA's code generating capability was clearly ahead of it's time. Since then, other tools based on the Translation process have been developed or have progressed.

The PLASMA project has now restarted with the aim of making it known to the wider Software Development community. However, there is still much work to do before it can actually be used for real software development.

Similar to most of the other code generating tools originally developed for the Shlaer-Mellor Method, "PLASMA" has been reorientated to indicate that it's now a tool supporting the ideals typified by the MDA approach.

MON-10-NOV-2003