Cooperative Software Engineering (CSE) means that large-scale, software development and maintenance can be conducted in a distributed organisation or across organisations. CSE can be characterised by distributed process fragments, partly shared workspaces, cooperation planning, and frequent interactions in intra/inter-workspaces. To support CSE processes, we must deal with dynamic, unpredictable processes as well as stable, repeatable processes with totally different characteristics. Traditional workflow and process systems offer good support for stable, pre-planned processes, providing user agendas, invocation of tools, presentation of process state etc. Multi-agent systems are well suited to model and support users involved in cooperative processes. By combining these two technologies, processes with characteristics similar to cooperative software engineering processes can be modelled and supported more completely.The thesis presents a framework called CAGIS Process Centred Environment (PCE), for combining a workflow system with a multi-agent system. These are the main parts of the thesis:- A multi-agent architecture to support cooperative processes. This architecture is particularly useful in modelling and providing support for cooperative activities where software agents act on behalf of the user. The design and implementation of this architecture is described.-A workflow system to support distributed mobile processes. This workflow system allows processes to be fragmented into smaller sub-processes that can be distributed over several workspaces and moved between these workspaces.-A gluing framework to specify the interaction between the workflow system and the multi-agent architecture. The gluemodel defines the relationships between software agents and process fragments (sub-processes), and a GlueServer is used as a middleware between a workflow tool and a multi-agent system. Results from applying the GlueModel framework on a cooperative software engineering (CSE) process is also described.- A Evaluation of the framework by modelling three practical cases:- A conference organising process is modelled in three different process environments (including our own), and evaluated according to modelling completeness and adaptability to process changes.- A CSE scenario describing a software and maintenance process in a Norwegian software company is modelled to show usefulness of the gluing framework.- A project organisation scenario used to demonstrate how software agents can be used in CAGIS Process Centred Environment to deal with evolution of distributed, fragmented workflow models.
[1]
Maria Letizia Jaccheri,et al.
Eliciting Process Models in E3
,
1999
.
[2]
Richard L. Upchurch,et al.
Designing process-based software curriculum
,
1997,
Proceedings Tenth Conference on Software Engineering Education and Training.
[3]
Victor R. Basili,et al.
Software process evolution at the SEL
,
1994,
IEEE Software.
[4]
Robert B. Grady,et al.
Practical Software Metrics for Project Management and Process Improvement
,
1992
.
[5]
J. Davenport.
Editor
,
1960
.
[6]
Shari Lawrence Pfleeger,et al.
Software Metrics : A Rigorous and Practical Approach
,
1998
.
[7]
Watts S. Humphrey,et al.
Managing the software process
,
1989,
The SEI series in software engineering.
[8]
Robert B. Grady,et al.
Successful Software Process Improvement
,
1997
.
[9]
Kim Caputo.
Cmm Implementation Guide: Choreographing Software Process Improvement
,
1997
.
[10]
S. B. Kiselev,et al.
The capability maturity model: guidelines for improving the software process
,
1995
.
[11]
Mark C. Paulk,et al.
Capability Maturity Model for Software, Version 1.1
,
1993
.
[12]
Melody Moore Jackson,et al.
Process Improvement in the Classroom
,
1995,
CSEE.
[13]
Maria Letizia Jaccheri,et al.
How Project-based Courses face the Challenge of educating Software Engineers
,
1998
.
[14]
Reidar Conradi,et al.
Project Courses at the NTH: 20 Years of Experience
,
1994,
CSEE.