|
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
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
|