General Navigation Buttons - Home | Search | Contact Us | Site Map | Whats New
managing graphic
white space
managing
Management
Capability Maturity Model Integration (CMMI)
People CMM
Team & Personal Software Process
Software Engineering Measurement
& Analysis (SEMA)
Software Engineering Information Repository (SEIR)
IDEAL Model
Acquisition Support Program (ASP)
International Process Research Consortium (IPRC)
Software Process Improvement Networks (SPINs)
Software Process Achievement
Award
white space
About SEI|Mgt|Eng|Acq|Collaboration|Prod.& Services|Pubs
pixel
Rollover Popup Hints for Topic Navigation Buttons above
pixel
Software Process Automation


Related Research

As with the commercial products, I have identified some of the better known process-centered environments originating from the academic community. I encourage persons to submit information on research projects/products to be incorporated into this section.

. Are you doing research related to software process automation?

. Endeavors
. ICSE94 Tutorial
. Matisse
. Process Definer
. ProSim
. SMART
. SPADE


Endeavors

Contact
Gregory Alan Bolcer
Internet . . . . . . . . . . . . gbolcer@ics.uci.edu

Web . . . . . . . . . . . . . . . http://www.ics.uci.edu/Arcadia/Endeavors

Abstract
Endeavors is a WWW based process automation tool that supports the goals of 1. distribution of processes and people, 2. event-based and intermediate format integration of external tools, 3. a low-entry barrier through ease of use and incremental adoption, 4. ability to customize and reuse objects, tools, and policies, and 5, dynamic change of runtime processes, objects and behaviors. A prototype of the system and a demonstration process can be executed from the above Web page. Endevours is part of the Arcadia project.


ICSE94
Tutorial on Process-Centered Software Engineering Environments

This tutorial presents the state of the art and practice in the area of Process-Centered Software Engineering Environments (PSEEs). PSEEs are Software Engineering Environments in which the organization's development processes are defined explicitly by the user and are modeled in the environment. PSEEs can monitor or enforce the process, automate routine parts of it, and produce accurate information on the status of the process. The tutorial presents a comprehensive picture of this emerging area, the key concepts, formalisms, architectures, and representative systems.

For the researcher, this tutorial presents PSEEs in perspective identifying challenges to be conquered. For the practitioner, the tutorial presents potential benefits of PSEEs in the work environment.

Examples of systems that will be covered in the tutorial are: Adele2, Arcadia, Articulator, CLF, Grapple, K/2R, Marvel, Matisse, Melmac, Merlin, Oikos, Process WEAVER, SMART, SoftBench, SPADE, SynerVision, and the Workshop System. We will distinguish between current commercial and research systems.

An overview and history of PSEEs will be provided. PSEEs will be positioned in context with general Software Engineering Environments, work flow support systems, databases, and CSCW systems.

Representation formalisms that will be discussed include state transition diagrams, process programming languages, SADT, IDEF, Petri-net based approaches, database trigger mechanisms, object-oriented, and rule-based mechanisms. Some of the features of PSEEs to be discussed are: process definition, analysis, simulation, presentation, automation, monitoring, and change support.

Design issues, such as tool information sharing, product information management, database configuration, process customization, multi-user support, enactment engine configuration, and user interface, will be discussed.

Contacts
Pankaj Garg
Internet . . . . . . . . . . . . garg@hpl.hp.com

Mehdi Jazayeri
Internet . . . . . . . . . . . . jazayeri@hpl.hp.com


Matisse:
A Knowledge-Based Team Programming Environment

Main Reference
Garg, P. K., Pham, T., Beach, B., Deshpande, A., Ishizaki, A., Wentzel, W., and Fong, W., "Matisse: A Knowledge-based Team Programming Environment", International Journal of Software Engineering and Knowledge Engineering, 4(1), 1994, pages 17-59

Abstract
The downstream activities of large scale software systems life-cycle require the team effort of several people over extended time periods. Current computing environments, exemplified by Unix, provide limited support for such team activities. Matisse is a knowledge-based team programming environment that addresses this issue.

Matisse models source code, associated documents, people, and tasks, as objects in an information system. Relationships between these objects provide associative information retrieval and navigation support; rules defined on object attributes facilitate team coordination and configuration management.

We describe the design, implementation, and experimental use of Matisse. Matisse represents a novel information management architecture for team programming: it uses database technology for team information management and expert system technology for individual information management; some experimental data on accesses from the individual to the team information space is presented. Three hard scenarios: semi-automatic design history maintenance, dynamic object composition, and adaptive use of existing software, illustrate the power of Matisse, with respect to team programming, over traditional programming environments.

Contact
Pankaj Garg
Phone . . . . . . . . . . . . . 415 / 857-4709
Internet . . . . . . . . . . . . garg@hpl.hp.com


Process Definer:
A tool for the elicitation and definition of processes

Contact
Alan M. Christie
Phone . . . . . . . . . . . . . 412-268-6324
Internet . . . . . . . . . . . . amc@sei.cmu.edu

Reference
Process Definer

Abstract
Process Definer is a tool for the elicitation, understanding and communication of processes. It is freeware and is being distributed to promote the more effective communication of processes in the software and business communities.

Process Definer is activity-centered and supports the modeling of activities, artifacts (and their states), roles (and their agents), conditions (exit and entrance), resources and methods. It is primarily text based but provides an activity breakdown structure of the process. It also provides mechanisms for analysing the consistency of the process model. Process Definer runs under Windows 3.1 and Windows 95


ProSim:
An exploration into enacting graphically defined processes

Contact
Alan M. Christie
Phone . . . . . . . . . . . . . 412-268-6324
Internet . . . . . . . . . . . . amc@sei.cmu.edu

Reference
"Software Process Automation: The Technology and its Automation" to be published by Springer Verlag in late 1994.

Abstract
ProSim was developed to investigate issues associated with generating executable code from a graphically defined process. The underlying process modeling notation used is ProNet. ProSim consists of a set of model-independent driver routines, and is supported by a set of process dependent rules, one rule for each activity in the process. ProSim is written is the logic-based programming language Prolog. Source code for ProSim and some simple supporting processes can be found under the heading "executable examples" located in the Process Automation main page. Both ProNet and ProSim are described in the reference.


SMART
The SMART Approach for Software Process Engineering

Contact
Pankaj Garg
Phone . . . . . . . . . . . . . 415 / 857-4709
Internet . . . . . . . . . . . . garg@hpl.hp.com

Main Reference
Garg, P., Mi, P., Pham, T., Scacchi, W., and Thunquest, G., "The SMART Approach for Software Process Engineering", Proc. of the 16th International Conference on Software Engineering", Sorrento, Italy, May 1994, IEEE Computer Society Press, pages 341-350.

Abstract
SMART is a methodology for software process engineering with a prototype supporting tool. The methodology encapsulates a *process life-cycle* that includes modeling, analysis, and execution of software processes.

SMART's process monitoring capabilities can be used to provide *feedback* from the process execution to the process model. SMART represents the integration of three separately developed process mechanisms, and it uses two modeling formalisms (object-oriented data representation and imperative-style programming language) to bridge the gap between process modeling, analysis, and execution.

The mechanisms integrated with SMART are the SynerVision for SoftBench product from HP, the Articulator process modeling and analysis tool from University of Southern California, and the Matisse system from HP Labs.

SMART demonstrates the *meta-environment* concept, using a process modeling formalism as input specification to a generator that produces Process-Centered Software Engineering Environments (PSEEs). Furthermore, SMART supports a team-oriented approach for process modeling, analysis, and execution.


SPADE:
A software engineering environment to support process analysis,
design and enactment

Contacts
Elisabettta Di Nitto
CEFRIEL - Politecnico di Milano
Via Emanueli, 15
20126 Milano, Italia

Phone . . . . . . . . . . . . . +39 2 66 161 272
FAX . . . . . . . . . . . . . . +39 2 66 100 448
Web . . . . . . . . . . . . . . http://www.elet.polimi.it/~fuggetta
Internet . . . . . . . . . . . dinitto@mailer.cefriel.it

Luigi Lavazza
CEFRIEL - Politecnico di Milano
Via Emanueli, 15
20126 Milano, Italia

Phone . . . . . . . . . . . . . +39 2 66 161 258
FAX . . . . . . . . . . . . . . +39 2 66 100 448
Web . . . . . . . . . . . . . . http://www.elet.polimi.it/~lavazza
Internet . . . . . . . . . . . lavazza@mailer.cefriel.it

Alfonso Fuggetta
CEFRIEL - Politecnico di Milano
Via Emanueli, 15
20126 Milano, Italia

Phone . . . . . . . . . . . . . +39 2 66 161 215
FAX . . . . . . . . . . . . . . +39 2 66 100 448
Web . . . . . . . . . . . . . . http://www.elet.polimi.it/~fuggetta
Internet . . . . . . . . . . . alfonso@mailer.cefriel.it

The SPADE-1 PSEE
The SPADE project goal is to provide a software engineering environment to support Software Process Analysis, Design, and Enactment. The project is currently being carried out at CEFRIEL and Politecnico di Milano. The environment is based on a process modeling language, called SLANG (SPADE Language), which is a high-level Petri net based formalism. SLANG offers features for process modeling, enaction, and evolution. In addition, it describes interaction with external tools and humans in a uniform manner. The main features of the SLANG modeling facilities can be summarized as follows:

  • Process models can be statically structured in a modular way using the activity construct. Activities (i.e., process fragments) can be dynamically instantiated.
  • Activities can be manipulated as data by other activities; i.e., SLANG supports computational reflection.
  • Process artifacts, including process models, are modeled as tokens of a Petri net and behave as instances of abstract data types (i.e., in an object-oriented manner).

    It has been a deliberate decision in the design of SLANG to provide the necessary mechanisms for process modeling without freezing any process-specific policy in the language. The result is the structuring of the process language in two levels. Kernel SLANG is a low-level and very powerful formal notation, which provides the basic constructs and mechanisms for process modeling. On top of this language, process specific constructs are defined (by giving semantics in terms of kernel constructs). The augmented language with the new defined constructs is called Full SLANG, or simply SLANG.

    SPADE-1 is the first implementation of the SPADE environment. SPADE-1 supports the enaction of SLANG process models. Moreover, it provides the basic mechanisms for process model evolution. Thanks to SLANG reflective features, a SLANG process model may include a metaprocess to change process definition and/or state during process model enaction. SPADE-1 architecture is based on the principle of separation of concerns between process model enaction and user interaction. This means that the semantics of the process modeling language does not preclude any user interaction paradigm, achieving independence of user interaction paradigm and process modeling paradigm.

    SPADE-1 includes a process interpreter, which is able to enact process models written in SLANG, a SLANG editor to create and modify SLANG process models, a monitor, to control the enaction state of the process, and an agenda, to interact with process agents (developers, designers, etc). SPADE-1 supports tool integration at different granularity levels. In particular, it is possible to integrate stand-alone tools as well as service-based tools. Stand-alone tools are viewed by SPADE-1 as a function performed on an input and producing some output. No interaction between the PSEE and the tool can occur during tool execution. Examples of this kind of tools are UNIX tools, such as vi or cc. Service-based tools provide a programmatic interface that can be used to integrate the functionalities offered by the tool in an environment. To this end, SPADE-1 relies on DEC FUSE (DEC Friendly Unified Software Environment), an integrated tool environment for software development. DEC FUSE offers a set of integrated service-based tools. In addition, it provides an utility called EnCASE to add other tools to the environment. The integration of a new tool in the environment is accomplished by specifying its interface which includes the set of services provided by the tool, the declaration of required services from other tools, and the possible tool states.

    The implementation of the SPADE-1 repository is based on the object-oriented database management system O2. The process model and the process data are both stored in the repository. Software artifacts manipulated by the process model (tokens) correspond to O2 objects.


    Publications on SPADE-1
    Sergio Bandinelli, Alfonso Fuggetta, and Carlo Ghezzi. Process Model Evolution in the SPADE Environment. IEEE Transactions on Software Engineering, 19(12):1128--1144, December 1993.

    Sergio Bandinelli and Alfonso Fuggetta. Computational Reflection in Software Process Modeling: the SLANG Approach. In Proceedings of the 15th. International Conference on Software Engineering, Baltimore, Maryland (USA), May 1993.

    Sergio Bandinelli, Alfonso Fuggetta, Carlo Ghezzi, and Luigi Lavazza. SPADE: An Environment for Software Process Analysis, Design and Enactment. In Anthony Finkelstein, Jeff Kramer, and Bashar Nuseibeh, editors, Software Process Modeling and Technology. Research Studies Press Limited, 1994.

    Sergio Bandinelli, Luciano Baresi, Alfonso Fuggetta, and Luigi Lavazza. Requirements and Early Experiences in the Implementation of the SPADE Repository. In Proceedings of the 8th. International Software Process Workshop, Schloss Dagstuhl, Wadern (Germany), March 1993.

    Sergio Bandinelli, Luciano Baresi, Alfonso Fuggetta, and Luigi Lavazza. Requirements and Early Experiences in the Implementation of the SPADE Repository using Object-Oriented Technology. In International Symposium on Object Technologies for Advanced Software, Kanazawa (Japan), November 1993.

    Sergio Bandinelli, Marco Braga, Alfonso Fuggetta, and Luigi Lavazza. Cooperation Support in the SPADE Environment: a Case Study. In Workshop on Computer Supported Cooperative Work, Petri Nets and related formalisms, Chicago (USA), June 1993.

    Sergio Bandinelli, Marco Braga, Alfonso Fuggetta, and Luigi Lavazza. The Architecture of the SPADE-1 Process-Centered SEE. In Third European Workshop on Software Process Technology, Grenoble, France, February 1994.

    Sergio Bandinelli, Alfonso Fuggetta, and Carlo Ghezzi. SLANG Solution for the ISPW-7 Software Process Example. In Proceedings of the 7th. International Software Process Workshop, Yountville, California (USA), October 1991.

    Sergio Bandinelli, Alfonso Fuggetta, and Carlo Ghezzi. Software Processes as Real-time Systems: a Case Study Using High-level Petri nets. In Alfonso Fuggetta, Reidar Conradi, and Vincenzo Ambriola, editors, Proceedings of the First European Workshop on Software Process Modeling, Milano (Italy), May 1991.

    Sergio Bandinelli, Alfonso Fuggetta, and Carlo Ghezzi. Software Processes as Real-time Systems: a Case Study Using High-level Petri nets}. In Proceedings of the 11th. International Phoenix Conference on Computers and Communications, Scottsdale, Arizona (USA), April 1992. IEEE.

    Sergio Bandinelli, Alfonso Fuggetta, Carlo Ghezzi, and Sandro Grigolli. Process Enactment in SPADE. In J.~C. Derniame, editor, Proceedings of the Second European Workshop on Software Process Technology, Trondheim (Norway), September 1992. LNCS 635 Springer-Verlag.

    Sergio Bandinelli, Alfonso Fuggetta, Carlo Ghezzi, and Angelo Morzenti. A Multi-Paradigm Petri Net Based Approach to Process Description. In Proceedings of the 7th. International Software Process Workshop, Yountville, California (USA), October 1991.

    Sergio Bandinelli, Alfonso Fuggetta, and Sandro Grigolli. Process Modeling-in-the-large with SLANG. In Proceedings of the 2nd International Conference on the Software Process, Berlin (Germany), February 1993. IEEE.

    Sergio Bandinelli, Alfonso Fuggetta, Luigi Lavazza, and Gian~Pietro Picco. Combining Control and Data Integration in the SPADE-1 Process-centered Software Engineering Environment. In 9th International Software Process Workshop, Airlie, Virginia (USA), October 1994.


    Publications related to SPADE-1 and Process-centered Environments
    Pasquale Armenise, Sergio Bandinelli, Carlo Ghezzi, and Angelo Morzenti. Software process representation languages: survey and assessment. In Fourth International Conference on Software Engineering and Knowledge Engineering, Capri, (Italy), June 1992. IEEE.

    Pasquale Armenise, Sergio Bandinelli, Carlo Ghezzi, and Angelo Morzenti. A survey and assessment of software process representation formalisms. In International Journal of Software Engineering and Knowledge Engineering, 3(3):401--426, December 1993.

    Alfonso Fuggetta. A classification of CASE technology. IEEE Computer, December 1993.

    Sergio Bandinelli, Elisabetta Di Nitto, and Alfonso Fuggetta. Policies and Mechanisms to Support Process Evolution in PSEEs. In Third International Conference on the Software Process Reston Virginia (USA) October 1994.

    Sergio Bandinelli, Elisabetta Di Nitto, Alfonso Fuggetta, and Luigi Lavazza. Coupled vs decoupled user interfaces in PSEEs. In 9th International Software Process Workshop, Airlie, Virginia (USA), October 1994.


    More Info
    You may also get documentation about SPADE from the ftp server: ftp://ftp-se.elet.polimi.it/dist/Papers/ProcessModeling

    home


    The Software Engineering Institute (SEI) is a federally funded research and development center sponsored by the U.S. Department of Defense and operated by Carnegie Mellon University.

    Copyright 2007 by Carnegie Mellon University
    Terms of Use
    URL: http://www.sei.cmu.edu/legacy/procauto/projects.products.html
    Last Modified: 11 January 2007