Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "GSoC 2009 Proposal STP-IM Builder"

Line 15: Line 15:
 
* Model comparation and difference matching using EMF Compare.
 
* Model comparation and difference matching using EMF Compare.
 
* Intermediate Model instance updating using EMF Model Query.
 
* Intermediate Model instance updating using EMF Model Query.
 +
* Round-trip engineering to reflect changes in user models.
 
* Interface for the resolution of semantic conflicts (i.e. inconsistencies between models).
 
* Interface for the resolution of semantic conflicts (i.e. inconsistencies between models).
 
* Outline view for a centralized project-wide view of semantic concepts.
 
* Outline view for a centralized project-wide view of semantic concepts.
Line 55: Line 56:
  
 
===When===
 
===When===
 +
The phase of getting familiar to the current implementation of the STP-IM and the related components (analysis and design) will be carried out along the “Community Bonding Period” (April 14th to May 26th). Actual coding (implementation and testing) will be carried out in the official program dates (May 26th to August 11th).
 +
 
===Where===
 
===Where===
 +
The resulting code of the project will be committed to the STP project module of the Eclipse repository, in the IM component, and released under the Eclipse Public License once the IP process is cleared out.
 
===Future Work===
 
===Future Work===
 
==About the Participants==
 
==About the Participants==

Revision as of 00:11, 3 April 2009

Abstract

Description

Context

The SOA Tools Platform project at Eclipse aims to build a set of components to support the SOA lifecycle, from the early stages of business process modeling and composite application design, to development and deployment tasks such as service assembly and policy definition. However, there used to exist a gap between these tools concerning their integration to support a full development methodology for service-oriented solutions. The Intermediate Model for STP model editors appeared to fill this gap.

On the previous edition of Google Summer of Code on 2008, a project was developed with the STP-IM component lead, Adrian Mos, to develop model transformations between several STP model editors and the intermediate model, in both directions. However, as the project progressed, several issues arised in the consideration of the SOA development methodology; for example, a user could be working on a solution to support several business processes, which are represented in several BPMN models and not just one. With the current paradigm on single one-to-one transformations, each BPMN would be transformed into a separate instance of the Intermediate Model, instead of a single project-wide instance that represents the complete picture of the business domain, which is a fundamental requirement for SOA development. Furthermore, having the business concepts scattered in several models puts an inconvenient to use them for further transformations, for example to BPEL or SCA models.

During the project execution, the idea of creating a model builder arised, as a means to mantain a single instance of the intermediate model, by handling all the model transformations and keeping a consistent, consolidated copy. Such mechanism will be supported by the resources builder mechanism that the Eclipse platform provides through the org.eclipse.core.resources.builders extension point.

The builder will have the following features, to be developed in the timeframe of the Google Summer of Code program:

  • Automatic transformation of models created through the STP editors.
  • Creation and consolidation of a central Intermediate Model instance.
  • Model comparation and difference matching using EMF Compare.
  • Intermediate Model instance updating using EMF Model Query.
  • Round-trip engineering to reflect changes in user models.
  • Interface for the resolution of semantic conflicts (i.e. inconsistencies between models).
  • Outline view for a centralized project-wide view of semantic concepts.
  • Drag and Drop from the outline view into model editors, to allow creation of model elements from existing concepts in the IM instance.

Initial considerations on the Intermediate Model Builder as the idea was conceived at the end of last year's instance can be found here. These will be taken into account for this year's instance, however a complete redesign might be required in order to support the above features.

The modeling technologies it will build upon are EMF Model Compare and EMF Model Query. It has been considered that the idea of a model builder does not only concern the SOA domain, but is in general a modeling solution that might be needed in other domains, so there might be a possibility to construct a generic model builder for EMF models, as a component of the Eclipse Modeling Project.

General Goal

  • To develop a mechanism, the IM Builder, to enable the Intermediate Model to become the central artifact in SOA development projects, carrying all the concepts modeled from all possible viewpoints (business domain, service design and definition, and deployment).

Specific Goals

  • To take advantage of the existing model-to-model transformations in the STP Intermediate Model component, by putting them in the frame of a builder mechanism to trigger them automatically and increase their utility for the SOA developer.
  • To leverage the modeling tools at STP with the technologies available at the Eclipse Modeling Project, in order to develop a solution that is able to consolidate the concepts represented in several models of different types.

Methodology

STP Intermediate Model

Transformations from and to STP-IM

The IM model builder will work with the model transformations built on the project for Google Summer of Code 2008, as well as other existing transformations.

Tests and Sample Scenarios

Documentation

Extend the Eclipse wiki (Eclipsepedia – http://wiki.eclipse.org) technical documentation on STP-IM involving the supported transformations and uses cases. The main target of this documentation is the STP team, both from IM and other components, so they can realize the integration possibilities the model brings.

Communication

The project will rely on the constant communication of the main developer (me) with his mentor, Adrian Mos from INRIA (France), as well as other committers from the STP project. There will be active participation on the project’s mailing lists and newsgroups. The project will involve several design decisions that must be made taking into account the advice of experts in the modeling domain. Some of them at the Eclipse Modeling Project are:

  • Ed Merks
  • Antoine Toulme (also in STP)
  • Cédric Brun
  • Peter Friese

When

The phase of getting familiar to the current implementation of the STP-IM and the related components (analysis and design) will be carried out along the “Community Bonding Period” (April 14th to May 26th). Actual coding (implementation and testing) will be carried out in the official program dates (May 26th to August 11th).

Where

The resulting code of the project will be committed to the STP project module of the Eclipse repository, in the IM component, and released under the Eclipse Public License once the IP process is cleared out.

Future Work

About the Participants

The Student

Juan Cadavid is from Medellín, Colombia, South America. He's 23 years old and he's a Computer Science graduate at EAFIT University in Medellín, on board to start his PhD at the University of Rennes, France. His main areas of interest are enterprise information systems, business process management, software engineering and architecture, model engineering, service-oriented architecture and web technologies. His senior degree project, which has already been finished, is entitled “A Proposal for a Model Mapping from a Computation Independent Model (CIM) to a Platform Independent Model (PIM)”, building a model transformation from a BPMN model to a SCA model using a model transformation engine called Operational QVT, part of the Eclipse M2M sub-project.

The Mentor

Adrian Mos works as the SOA Technical Lead at the TUVALU team at INRIA, Grenoble, France. He's a committer and component lead of STP-IM.

Back to the top