logoC-SPIN / Meetings and Events / Previous Meeting
Updated 24 Jul 1999

Domain Modeling and Software Process Management
Thursday, June 3, 1999

Back to C-SPIN Homepage

Domain Modeling and Software Process Management

The extent to which software processes are not actually managed by software is quite odd. The spare application of software systems development methods to the construction of software construction processes could also be viewed as rather ironic. When the most popular capability model for software organizations prescribes an "approved documented process", perhaps something is missing.

There have been a number of attempts to systematize and even automate the "production" of software "products". But apart from a hodgepodge of coding tools, passive documentation environments, drawing tools, CASE tools, CM tools and the like, not a lot of software is actually used in the production of software. The bulk of the code work is done in program editors and most design and documentation is done in word processors. The tools that are used tend to be quite disconnected. When it could reasonably be argued that the job of the software developer is to automate things, then the fact that key elements of the job of software development are not "automated" implies that something is missing.

Domain Modeling has a simple premise: a "domain" is some area of human or machine (or other) activity that contains knowledge, this knowledge can best be effected by modeling it. Software development and its associated disciplines (e.g., Project Management) qualify as domains. While many models have been built of or about these domains, most of them are passive—they describe the domain knowledge, they do not execute the domain knowledge. Some recently developed Model-Based Software Engineering (MBSE) tools employ a different approach and goal. They add three things to classical modeling:

  1. The nature or structure of the domain knowledge is first identified. This is known as a meta-model.
  2. The domain knowledge structure is used to develop domain-based tools employing knowledge models based on the meta-model rules.
  3. These models and tools can be made active in that they either interact with their environment or can dynamically produce outputs that are executable.

Most MBSE approaches have focused on traditional software engineering in the product domain. A legitimate but under-employed application of both the concepts and the tools of MBSE is in active process modeling. In this discussion, the underpinnings of such an approach are given. Using Honeywell's DoME tool as an example, a setting for the application of MBSE approaches to software process management will be defined. Copies of the software will be made available to participants.

Domain Modeling approaches will challenge not only the traditional approach to software development, the implementation of software process, and the management of software development environments, but also the very concept of software itself. The movement toward MBSE or like approaches has been continuous and consistent throughout software's fifty-year history, though not always obvious. Its application over the next decade will redefine the idea of software, the business models employed by software development companies, and the notion of software process and process management.


Phil Armour
Phil Armour is currently a consultant and instructor for many large corporations in the areas of software process and software development.

Back to C-SPIN Homepage

C-SPIN: Chicago Software Process Improvement Network