Jump to: navigation, search

Difference between revisions of "JWT Metamodel"

m (Design)
(JWT Metamodel Aspects Extension)
Line 49: Line 49:
  
 
== JWT Metamodel Aspects Extension ==
 
== JWT Metamodel Aspects Extension ==
* [[JWT Metamodel Extension]] documents how to use store custom information in (workflow) models using Conf, Profiles and Aspects.
+
[[JWT_Metamodel_Extension]] documents how to use store custom information in (workflow) models using Conf, Profiles and Aspects :
* Aspects metamodel extension feature development - See bugzilla https://bugs.eclipse.org/bugs/show_bug.cgi?id=241567
+
* prerequisites : [[JWT_Metamodel_Extension#Using_aspect_model_extensions|Using aspect model extensions]]
* [[JWT Metamodel Extension Specifications]] describes the initial specifications of the aspects metamodel extension mechanism :
+
* [[JWT_Metamodel_Extension#Creating_custom_aspect_model_extensions|Creating custom aspect model extensions]]
 +
** [[JWT_Metamodel_Extension#Setting_up_simple_.28key-value.29_additional_model_extensions|Setting up simple (key-value) additional model extensions]] thanks to the jwt-we-conf-property official JWT metamodel extension
 +
** [[JWT_Metamodel_Extension#For_advanced_users_:_designing_complex_additional_model_extensions_without_code|For advanced users : designing complex additional model extensions without code]]
 +
** [[JWT_Metamodel_Extension#For_developers_:_developing_complex_additional_model_extensions_using_EMF-generated_code|For developers : developing complex additional model extensions using EMF-generated code]]
 +
* For other EMF-based tool developers: [[JWT_Metamodel_Extension#For_other_EMF-based_tool_developers_:_enriching_a_model_with_extensions|allowing aspect extensions in an EMF model]]
 +
 
 +
Aspects metamodel extension feature design and development
 +
* Development : See bugzilla https://bugs.eclipse.org/bugs/show_bug.cgi?id=241567
 +
* Design : [[JWT Metamodel Extension Specifications]] describes the initial specifications of the aspects metamodel extension mechanism :
 
** [[JWT Metamodel Extension Specifications/Requirements|Extension Requirements and Use Cases]]
 
** [[JWT Metamodel Extension Specifications/Requirements|Extension Requirements and Use Cases]]
 
** [[JWT Metamodel Extension Specifications/Alternatives Study|Specification Alternatives Study]]
 
** [[JWT Metamodel Extension Specifications/Alternatives Study|Specification Alternatives Study]]

Revision as of 12:07, 2 November 2009

Introduction

This page describes the architecture, requirements and discussions for the meta-model of JWT. Starting from the original meta-model of AgilPro, it summarizes all evolutions, extensions, wishes etc.


Architecture

The JWT metamodel comprises

  • a core workflow metamodel that is as generic as possible
  • extensions that allow to provide specific additional features
  • overall governance that allows extensions to coexist within the JWT ecosystem.

Core metamodel

Its aim is to be a workflow metamodel that is as generic as possible.

Changes to the core metamodel should rather go in metamodel extensions, because they affect possibly all JWT users and must therefore be considered very carefully.

Metamodel extensions

Metamodel extensions allow to provide specific additional features, be it UI like JWT views, runtime like a WebServiceApplication or other features like logging.

  • Official JWT metamodel extensions : an official JWT metamodel extension is the standard for its domain model. To make your metamodel extension official, there must be none yet for its domain model, it must be approved by project leads and listed in JWT Metamodel Extensions/Official
  • JWT Labelized metamodel extensions : if there is already an official JWT extension for your domain model, you can make it JWT labelized by implementing a two-way transformation to an existing official or labelized metamodel extension along with its transformation documentation and test kit, make it approved by project leads and list it in JWT Metamodel Extensions/Labelized
  • extensions can obviously still be developed by anyone without being official or labelized, though their users can't be sure they'll be able to freely benefit from other parts of the JWT ecosystem, because of possible domain model specific incompatibility.

Metamodel governance

In order to become better and answer more user requirements, the JWT metamodel evolves. In order to avoid conflicts and compatibility problems, it does so in a governed manner, and with the help of tools such as an automated version converter.

Metamodel Roadmap

  • initial metamodel : JWT up to 0.5. This was originally AgilPro's metamodel.
  • core metamodel and aspect extensions : JWT 0.6 (upcoming). Includes core metamodel improvements and the new aspect extension mechanism.
  • externalized metamodel : later. The metamodel will be in its own plugin.


Current metamodel : JWT up to 0.5 and AgilPro metamodel

Design

This document File:AgilPro MetamodelDescription.pdf describes the metamodel of AgilPro as it is today (2007-02-21). This document will be the basis for discussions on all working groups who have requirements on the meta-model.

Metamodel comparisons

JWT Metamodel and XPDL 1.0

The document File:AgilPro Metamodel.pdf describes an initial revision of the document comparing the JWT/AgilPro metamodel with the XPDL 1.0 schema. It covers all the XPDL elements as well as the Bonita engine vendor specific extensions.

JWT Metamodel and BPMN

The document File:Comparison JWT BPMN v0 3.pdf describes the differences between the JWT Metamodel on the one hand and BPMN on the other.

JWT Metamodel and various others

A comparison with other meta-models (including BPM Guide's Simple BPM, BPDM, AgilPro, UML Activity Diagram, Event-driven Process Chains, List/Korherr's metamodel) as a result of an evaluation can be found in the following document: File:EvaluationExistingMetamodels.pdf.


JWT Metamodel Aspects Extension

JWT_Metamodel_Extension documents how to use store custom information in (workflow) models using Conf, Profiles and Aspects :

Aspects metamodel extension feature design and development