for deVELopment tools and IntegrAtion in a distributed environment) project .... The OPHELIA project is currently on target towards alpha release at the end of ...
THE OPHELIA PROJECT: SUPPORTING SOFTWARE DEVELOPMENT IN A DISTRIBUTED ENVIRONMENT Dr R G Dewar, Dr L M MacKinnon, Professor R J Pooley, Mr A D Smith, Mr M J Smith, Dr P A Wilcox Department of Computer Science School of Mathematical and Computing Sciences Heriot-Watt University, Edinburgh, UK
ABSTRACT This short paper provides an introduction to the European Union funded OPHELIA (Open Platform and meTHodologies for deVELopment tools and IntegrAtion in a distributed environment) project (IST-2000-28402-2000-20002) that began in October 2001. OPHELIA aims to produce a platform definition that will support software engineering in a distributed environment and the integration of t oolsets across such an environment. The project consortium comprises partners from six countries (Czech Republic, Germany, Italy, Poland, Spain and the UK) and is a test case for the platform. The platform intends to support the analysis and implementation phase of the software lifecycle. An additional project goal is the development of a methodology and a process for the optimisation of the software lifecycle in situations where modellers and software engineers are distributed over different sites. We provide an introduction to the aims and scope of the OPHELIA project and present an overview of the architecture in the context of our pilot implementation, ORPHEUS. Finally, we summarise our achievements to date and discuss some storage and interoperability issues raised during the development of the OPHELIA Modelling Module, which is one of the contributions from Heriot-Watt University. KEYWORDS Distributed Software Engineering, Integrated Development Environments, Case Tools .
1. INTRODUCTION The OPHELIA project (2002) (Hapke et al 2001) is an EU funded initiative that aims to develop a platform to support software engineering in a distributed environment. Central to this aim is the integration of tools in a distributed environment and leveraging the advantages that such integration brings. Other environments that support distributed working and software engineering exist, but many of these are specific to a particular toolset (GENESIS 2002). The novelty of the OPHELIA project lies in exposing a set of core services common to a category of tools through CORBA (OMG 2002) interfaces. These interfaces define the services that individual modules contract to supply. Particular specialisations on the core services are catered for by defining non-mandatory interfaces particular to a type of tool. This leads to an open and flexible architecture. The platform considers a range of tool categories including project management, requirements capture, modelling and software design, code generation and bug tracking. The primary product of the OPHELIA project is the definition of a set of core interfaces that will support interoperability between such a set of tools as well as a methodology appropriate to working in a distributed manner. This architecture aims to support the integration of a set of tools that the users choose to work with, i.e. the specific tools are not mandatory. The tools can then be viewed as being part of an environment, which can provide added value on top of the set of tools that a project uses. This added value includes event notification and tracking. The project consortium comprises a range of partners encompassing both professional IT organisations and academia. Between the partners we have both user communities (i.e. organisations that will use the OPHELIA platform) as well as technology specialists. The Consortium details are provided on the OPHELIA website (2002) and are also included in the acknowledgements section of this paper. Since the OPHELIA consortium is itself engaged in a distributed software engineering project, we anticipate using OPHELIA to
568
THE OPHELIA PROJECT: SUPPORTING SOFTWARE DEVELOPMENT IN A DISTRIBUTED ENVIRONMENT
develop OPHELIA. The following sections explain the project in more detail. Current project progress and issues are also reported.
2. OPHELIA CONCEPT AND ORPHEUS IMPLEMENTATION OPHELIA represents the concept, and is not a software product in itself. The primary product of the OPHELIA project is the platform definition, i.e. the set of core interfaces that define the services that individual modules contract to supply. As part of the OPHELIA project, the platform definition will examined through an example implementation. The implementation, referred to as ORPHEUS, is the software product that realises the interfaces defined by the OPHELIA platform. The following subsections aim to clarify what lies within the OPHELIA domain, and what lies within the ORPHEUS implementation.
2.1. OPHELIA Platform Definition The architecture for the OPHELIA project can be viewed as a four-layer model (Figure 1).
Commercial Tools Integrators
External Applications Layer
OPHELIA Portal
Integration Layer
Traceability Traceability
Requirements Requirements
Modelling Modelling
Project Project Management Management
Repository Repository
Metrics Metrics
Documentation Documentation
ProjectAdminstrator ProjectAdminstrator
BugTracking BugTracking
Kernel Modules Layer
Broker Broker Event/System Event/System Log Log
Tool Modules Layer
UserAdministrator UserAdministrator
Figure 1. The OPHELIA platform
The Kernel Layer is composed of modules that provide general services to tool modules and external applications. These services are related to management of the various elements of the OPHELIA platform; modules, users, groups, and projects. The OPHELIA Tool Module Layer comprises a series of modules that perform certain tasks related to software development, for example modelling or metrics collation. CORBA (OMG 2002) Module Interface Specifications (MIS) define the services that these modules offer. A concrete realisation of a MIS makes the services of one module transparently available for use by another, thus facilitating interoperability between tools. The Integration Layer provides additional functionality to support integration of the Tool Modules. Integrator applications facilitate specific inter-module communication in addition to data transfer synchronisation and marshalling. Additionally, this layer provides traceability, in the form of event notification to users, and relationship management between external applications and modules. These first three layers form the OPHELIA platform definition. External Applications use the Kernel Modules to access the functionality provided by the Tool Modules. These applications can be commercial products e.g. ArgoUML (2002), MS Project (2002), or bespoke tools e.g. the OPHELIA portal, or the metrics tool. A specific toolset, and corresponding Integrators, define a
569
IADIS International Conference WWW/Internet 2002
particular distribution – known as an OPHELIA solution. The ability to select external applications enables users to establish customised OPHELIA solutions that best fit their development environment.
2.2. ORPHEUS Implementation ORPHEUS is the pilot application that realises the interfaces defined by the OPHELIA platform. ORPHEUS is concerned with taking a specific set of tools (the External Applications Layer) and examining their subsequent integration into the platform through the interfaces defined by the platform. ORPHEUS is thus an example of a customised OPHELIA solution. The requirements for ORPHEUS were defined in consultation with our commercial partners who will be testing the ORPHEUS solution. The main goals of ORPHEUS are to: provide functionality and know-how for organising and planning of project development processes; keep all information concerning a particular project accessible; provide functionality for communication within team members; automate as many processes as possible to lower the effort and shorten the duration of the project; The following tools are included in the ORPHEUS implementation: • Bug Tracking: Bugzilla (2002) • Modelling: ArgoUML (2002) • Project Management: MS Project (2002) • Repository: a bespoke implementation that wraps a file system. • User Requirements: a bespoke web-based requirements gathering and tracking tool. • Documentation: a process based approach to document compilation. • Metrics: a bespoke generic, scaleable client for metrics evaluation and analysis. The following features were deemed desirable for the ORPHEUS implementation: • Platform independence: The platform will not be restricted to only one operating system. As many as possible platforms will be supported. This is addressed by the use of Java (2002) for the implementation; we will support Windows 9x/NT/2000 and Linux on the client side and Linux on the server side. • Web environment: It is envisaged that the users will access their personal workspace through a Web based environment. This will support user login, access to relevant projects, notifications of changes and other relevant communications. • Security: Data stored within ORPHEUS will be secure against access by unauthorised users. ORPHEUS will provide fully scalable system of user access and user rights. • Standards: ORPHEUS will support a variety of today's widely used technologies and standards, for example UML for modelling, and XML for data exchange. • Strong communication channels: ORPHEUS will provide users with mechanisms for communication with one another. Both synchronous and asynchronous communication will be supported.
2.3. Project status, achievements and issues The first six months of the project were spent collating and refining the core user requirements. Consortium partners, fulfilling the role of customer for the OPHELIA project, specified these requirements. The project is moving towards an alpha release, due at the end of September 2002. This release will see the majority of key functionality implemented, and will examine the effectiveness of the OPHELIA platform definition. The majority of work at Heriot-Watt University concerns the implementation of the Modelling and Metrics modules, and their subsequent integration into the OPHELIA platform. Figure 2 illustrates the architecture for integrating the modelling modules into the OPHELIA platform.
570
THE OPHELIA PROJECT: SUPPORTING SOFTWARE DEVELOPMENT IN A DISTRIBUTED ENVIRONMENT
:OpheliaServer
:ModellingClient
:XMLRepository
CORBA
:ArgoPlugin
:Xindice
:PUTRepServer
:ArgoUML
CORBA
CORBA :ModellingServer
Figure 2 - Typical M odule Deployment Architecture
The development of the Modelling Module has highlighted a number of key issues including storage (XML repositories), interoperability (the XMI standard), the need for plugins, version control (and recovery), locking (simple tokens) and event notification.
3. CONCLUSION The aim of the OPHELIA project is to create a platform that enables organisations to use a custom set of commercial and / or bespoke tools in a distributed environment. The platform will facilitate collaborative working across such a distributed environment. We describe a four tier architectural model that will support this platform and provide mechanisms for integration, traceability and interoperability. We are currently working on the ORPHEUS pilot implementation as proof of concept. The OPHELIA project is currently on target towards alpha release at the end of September 2002. This release will comprise key functionality in the ORPHEUS implementation, as well as further defining key issues in the OPHELIA platform definition and concept that are to be resolved. Two further releases are planned, beta (end March 2003) and final, the latter coincides with the end of the OPHELIA project (end Sept 2003). For further details please refer to the OPHELIA project web site (2002).
ACKNOWLEDGEMENT OPHELIA consortium partners are: Azertia, Spain; GUT Consult, Germany; Heriot-Watt University, United Kingdom; I.C.C.C., Czech Republic; OMEGA, Italy; Poznan University, Poland.
REFERENCES ArgoUML, http://argouml.tigris.org/ (current May 2002). Bugzilla, http://www.mozilla .org/projects/bugzilla/ (current May 2002). GENESIS Project WWW site, http://www.genesis -ist.org/english/default.htm (current May 2002). Hapke, M. et al, 2001. OPHELIA - Open platform and methodologies for development tools integration in a distributed environment. Proceedings of 3rd National Conference on Software Engineering. Otwock/Warsaw, pp. 189-198. Java, http://java.sun.com/ (current May 2002). MS Project, http://www.microsoft.com/office/project/default.asp (current May 2002). OMG CORBA WWW site, http://www.corba.org/ (current May 2002). OPHELIA Project WWW site, http://www.gut-consult.de/ophelia/ (current May 2002).
571