Project GIPSY: facing the challenge of future integrated software engineering environments
The goal of a software process is the development and maintenance of a software product. A software engineering environment (SEE) integrates a combination of tools to a cohesive environment to support the software process. Emerging technologies such as software components and the Internet will change the way software is produced and marketed. Component suppliers need to co-operate tightly within virtual organizations and share their software processes to produce properly interoperating
... roperating components. The support of such a virtual organization that is managed decentralized and involves various cultures and methods challenges the social, technical and organizational aspects of traditional SEE concepts. The goal of the GIPSY (Generating Integrated Process support SYstems) project was the development of a SEE framework prototype capable to support a virtual organization's software process aimed to produce high quality software. The prototype allows for the generation of a SEE based on process and tool specifications. This thesis outlines the conceptual work of the project. I distinguish two layers of abstraction with different integration requirements: The organization layer focuses on the coarse-grain process steps providing process definition and enactment services reflecting organizational integrity. The artifact layer copes with the fine-grain process steps enabling the specification and generation of tools that are used to work on artifacts and that integrate on a high data integration level. The aim of the organization layer is to enable cooperation and communication based on organizational integrity. Organizational integrity means the common understanding of the structure and evolution of product, process and organization form shared among all process participants including users and tools. I propose to achieve organizational integrity by using a simple similar model to represent product, process and organization form. I accept the trade-offs of applying a simple similar model to represent the three main organizational aspects that is less powerful compared to aspect-specific models. Gaining organizational integrity by sacrificing sophisticated models is a promising approach to provide a common understanding of organization within a heterogeneous virtual organization. Reflecting organizational integrity is an essential design issue for future SEEs. The artifact layer focuses on the specification and generation of highly integrated tool components supporting formal languages. Compiler-compiler technology is extended by the object-oriented paradigm to a tool specification technique providing powerful decomposition, extension and import mechanisms. This allows for a fast and flexible transformation of formal software engineering methods into supporting tools. The goal of this layer is to achieve data integration on a high level.