Wiki

This is the starting page for the wiki dedicated to the Service Oriented Development Methodology + Testing (SODM+T from now on). This methodology extends and revises the SODM methodology developed by the Kybele research group at the University of Rey Juan Carlos (Madrid) to take into account testing aspects.

The source code of the tools that have been reimplemented from scratch and extended by Antonio García-Domínguez is available from this project under the Eclipse Public License, v1.0. Please note that not all tools in the original SODM toolset have been reimplemented.

The latest version of SODM+T has reimplemented the algorithms to make them work on standard UML models and MARTE annotations, improved their performance and added support for fine-grained time distribution and task repetitions.

Related papers

  • MESIC 2009: Propuesta metodológica para la implementación de una arquitectura orientada a servicios en entornos de Sistemas de Fabricación Distribuida
  • JSWEB 2009: Hacia la Integración de Técnicas de Pruebas en Metodologías Dirigidas por Modelos para SOA
  • AIP Conference Proceedings: Proposal of a Methodology for Implementing a Service-Oriented Architecture in Distributed Manufacturing Systems
  • I Jornadas Predoctorales ESI: Primeros Avances en una Metodología Orientada a Modelos para los Sistemas de Información de Empresas de Fabricación Distribuida
  • Masters Thesis: Estudio de viabilidad de una metodología dirigida por modelos para el desarrollo de los sistemas de información de una empresa de fabricación distribuida
  • MoSE 2010: Inference of performance constraints in Web Service composition models
  • JISBD 2010: SODM+T: Inferencia de restricciones de rendimiento
  • II Jornadas Predoctorales ESI: Avances Hacia un Algoritmo Optimizado para la Inferencia de Restricciones Locales de Rendimiento en Grafos
  • QSIC 2011: Model-Driven Design of Performance Requirements
  • ICSOFT 2011: Model-Driven Design of Performance Requirements with UML and MARTE
  • JISBD 2011: Inferencia Automática de Requisitos Locales de Rendimiento en Flujos de Trabajo Anotados con MARTE
  • MoDELS 2011: EUnit: a Unit Testing Framework for Model Management Tasks
  • ICIW 2012: An Approach for Performance Test Artefact Generation for Multiple Technologies from MARTE-Annotated Workflows
  • IJAIT: Performance Test Case Generation for Java and WSDL-based Web Services from MARTE
  • PhD Thesis: Metodología dirigida por modelos para las pruebas de un sistema distribuido multiagente de fabricación (title and abstract in Spanish, and the rest in English)

Dependencies

The tools available in this project assume the user has already installed a recent version of Eclipse (4.2 or newer is required) and the plugins for:

All these dependencies are included in the Eclipse Modeling Tools package, which is available for Windows (32 bits), Linux 32/64 bits and MacOS X.

SODM+T is implemented on top of the Epsilon framework. It is advised to use the latest interim release from the update site available here. SODM+T also requires the latest version of EMFatic, as an optional dependency of Epsilon: it is avilable from this update site or from the SODM+T Update Site itself. SODM+T also requires the latest GMF Experimental Tooling SDK, as it uses SVG-based figures (normally, it is better to grab a compatible version of the lite.svg plugins and place the .jar files in the dropins directory).

If you'd like to test the SODM+T inference algorithms with standard UML diagrams annotated with the MARTE profile, you will need to install Papyrus from the "Help > Install Modeling Components" menu. After Eclipse has restarted, according to these instructions, use "Help > Install Papyrus Additional Components" to install the MARTE component.

For the performance test artefact weaving models and code generation templates, you will need a recent version of MoDisco. The "Help > Install Modeling Components..." entry does not work right now: you will have to use the official Eclipse update site. You may also need to install a recent release of m2eclipse through the Eclipse Marketplace (on the "Help" menu of Eclipse Juno and beyond).

Install from the Update Site

Once all the above dependencies have been installed, you only need to install all the features inside the SODM+T Update Site and restart your Eclipse instance.

How to check out the code

You will need a recent version of Git: at least 1.6.6.2 is required, but 1.7.0.1 or newer is recommended (check the User Support Area for more information). Please run the following commands:

git clone https://neptuno.uca.es/git/sodmt
cd sodmt

Working with the code

As usual when developing EMF-based code, you will use up to three Eclipse instances nested one inside each other: the first instance will have all plugins you need for developing the metamodels, the second one will be used to develop the metamodels, and the third one will be used to define models using those metamodels. Of course, you'll need over 1 GiB of RAM (2 GiB should be fine) and a reasonably powerful CPU to run these three instances comfortably :-).

Please follow these steps to prepare each of these instances for the first time:

  1. If you want to run the latest bleeding edge version of Epsilon, import the Epsilon plugin projects from the official SVN repository into an infrastructure workspace and follow the next step from inside it. If you've already installed a stable or interim version of Epsilon, ignore this step.
  2. Launch an Eclipse workspace.
  3. Import all the projects in the workspace-metamodelos folder, and let it compile.
  4. Start a nested workspace by right-clicking on one of the projects and selecting "Run As > Eclipse Application".
  5. Import all the projects in the workspace-modelos folder, and try the metamodels.

Using the tool with ad-hoc annotations

Usage is similar to most GMF editors. Please watch this demo.