ATHENA
MDI
 

Standards and technologies

MDA standards

Software Process Engineering Metamodel (SPEM)

The Software Process Engineering Metamodel (SPEM) is a metamodel and a UML profile to describe software engineering processes.

  • Identifies the typical concepts of a process (process, phase, role, model, etc.)
  • Defines them using UML extensions (stereotypes applied to various elements: class, use cases, operations, etc.)
  • Assigns a characteristic icon to each new item.

The SPEM representation of a process is based upon the collaboration between active entities called ProcessRoles that execute tasks called Activities on concrete entities called WorkProducts. SPEM defines notational icons or graphical representation for SPEM concepts that are represented by UML stereotypes.

Modelling constructs

The concepts defined in SPEM are:

  • WorkDefinition: It’s a kind of operation that describes the work performed in the process. Its main subclass is Activity, but phase, iteration and lifecycle are also subclasses of WorkDefinition.
  • Activity: It’s the main subclass of WorkDefinition. An activity describes any part of work executed or assisted by a ProcessRole like tasks, operations and actions. An activity may consist of atomic elements called steps.
  • Process: A Process is a ProcessComponent intended to stand alone as a complete, end-to-end process. It is distinguished from normal process components by the fact that it is not intended to be composed with other components.
  • Document: It is a specialization of a WorkProduct that contains information.
  • Guidance: Indirect support to actual software developers or managers working with a process-centred software engineering environment through interpretation of an instantiated process model.
  • Phase: A phase is a specialization of WorkDefinition such that its precondition defines the phase entry criteria and its goal (often called a “milestone”) defines the phase exit criteria. Phases can be sequential or can run in parallel.
  • ProcessPackage: It is a special notation for packages in a SPEM context. A package is a cohesive collection of work products.
  • ProcessPerformer: The process performer is the performer of higher-level aggregate WorkDefinitions that cannot be associated with individual ProcessRoles. ProcessPerformer represents abstractly the “whole process” or one of its components, and is used to own WorkDefinitions that do not have a more specific owner.
  • ProcessRole: The process role is the performer of activities. Also defines responsibilities over specific WorkProducts, and defines the roles that perform and assist in specific activities.
  • UMLModel: It is a specialization of a WorkProduct that allows to model static, dynamic and behavioural view of process.
  • WorkProduct: A work product or artefact is anything produced, consumed, or modified by a process. It may be a piece of information, a document, a model, source code, a service provided to an end user and so on. A WorkProduct describes one class of work product produced in a process.

Eclipse technologies

Eclipse Process Framework (EPF)

The Eclipse Process Framework (EPF) presents a process management tool platform and conceptual framework for authoring, tailoring and deploying development processes.

First release version 1.0 planned for September 2006

Goals

The Process Framework Project has two goals:

  1. To provide an extensible framework and exemplary tools for software process engineering - method and process authoring, library management, configuring and publishing a process.
  2. To provide exemplary and extensible process content for a range of software development and management processes supporting iterative, agile, and incremental development, and applicable to a broad set of development platforms and applications.

Process framework

Typically the word framework is used in the context of an environment one can use to define partial or complete solutions for a particular problem domain. In defining these solutions reusable structures are used as starting points or building blocks.

A process framework is a similar thing. It defines reusable method content, processes, building blocks and tools that can be utilized to define specific processes and methods. (EPF Composer ships with one or more of these process frameworks, to help the developer in the process, but as well is equiped with the ability to create a completely new method from scratch)th

Method content is primarily expressed using work producs, roles, tasks and guidance. Roles are identified in the development process and these represent a set of skills. Competencies and responsabilities in the development team. These roles are responsible for specific work products and for creating or modifying these work products, roles are assigned to perform tasks.

In addition to roles, tasks and work products EPF supports the addition of guidances in the form of whitepapers, concept description, guidelines, examples etc. Guidence is also present in the process representation.

In the representation of the process the main concept is the activity which can be nested to define breakdown structures and they can relate to each other to form work flows. Activities in EPF define to kind of processes: delivery processes and capability patterns.

Delivery processes represent a complete and integrated processs templete for performing one specific type of project.

Capability patterns are processes that express process knowledge for a key area of interest such as disipline or a best practice. They can be directly used by process practitioners to guide their work.

EPF Composer

EPF Composer is a tool platform for process engineers, project leads, project and program managers who are responsible for mainteining and implementing processes for development organizations or individual projects

Aims to:

  • provide for development practitioners a knowledge base of intelectual capital that allows them to browse, manage and deploy content.
  • provide process engineering capabilities by supporting processe engineers and project managers in selecting, tailoring, and rapidly assembling processes for their concrete development process.

EPF Composer allows you to take method content and to structure it in one specific way using a predefined schema. This schema is an evolution of the SPEM 1.1 OMG specification, which is currently being evaluated to become the 2.0 version of this specification. This method contents can overcome the limits of software engineering covering other design and disiplines such as bussiness transformations, sales cycles and so on. In EMF Composer they are represented as a construct of roles defining development skills and responsabilities for work products. Method contents can be found in books or publications on software engineering methods, best practices, standards, regulations or even homegrown methods.

In EMF Composer processes are typically expressed as workflows or breakdown structures. This framework provides oportunities that aims at supporting processes based on many different development approaches, development culture and development process representation.

Key concepts

  • Redesigned tools for authoring, configuring, viewing, and publishing development processes.
  • Just-in-time generation of publication previews
  • Management of method content using simple form-based user interfaces.
  • Intuitive rich text editors for content description
  • Processes with:
    • breakdown structure editors
    • workflow diagrams
  • Support for many alternative lifecycle models.
  • Improved reuse and extensibility capabilities.
  • Reusable dynamically-linked process patterns