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 "Stardust/Enhancing and Embedding Stardust/Browser Modeler/Javascript Metamodel"

(Details)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
The metamodel of Javascript objects used to implement the Browser Modeler (Lightdust) is supposed to be a superset of the BPMN2 metamodel. As work on the Browser Model was initially started focussed on the metamodel, some names and structures are still driven by originally Stardust needs stemming from Stardust's use of XPDL - but we intend to change this soon.
+
The metamodel of Javascript objects used to implement the Browser Modeler (Lightdust) is supposed to be a superset of the BPMN2 metamodel. As work on the Browser Model was initially started focussed on the metamodel, some names and structures are still driven by originally Stardust needs stemming from Stardust's use of XPDL - but we intend to change this soon.  
  
=Overview=
+
= Overview =
  
The following schema provides an overview of the Lightdust metamodel using indention to describe aggregation, > to describe references and * to indicate to many aggregation or reference
+
The following schema provides an overview of the Lightdust metamodel using indention to describe aggregation, > to describe references and * to indicate to many aggregation or reference  
  
*Model
+
*Model  
** Application*
+
**Application*  
** StructuredDataDefinition*
+
**StructuredDataDefinition*  
** Data*
+
**Data*  
** Participant*
+
**Participant*  
** Process*
+
**Process*  
**** Activity*
+
****Activity*  
*** Diagram
+
***Diagram  
**** ActivitySymbol*
+
****ActivitySymbol*  
***** > Activity
+
*****> Activity  
**** Gateway Symbol*
+
****Gateway Symbol*  
***** > Gateway
+
*****> Gateway
  
=Common Aspects=
+
= Common Aspects =
  
All model elements have an '''id''' and a '''uuid'''
+
All model elements have an '''id''' and a '''uuid'''  
  
 
Furthermore all model elements hold an '''attributes''' object which can be stored to store arbitrary properties  
 
Furthermore all model elements hold an '''attributes''' object which can be stored to store arbitrary properties  
  
=Model=
+
= Model =
  
== Overview ==
+
== Overview ==
  
The model is the root of all elements. Lightdust manages a set of models which can be obtained from the m_model module, via
+
The model is the root of all elements. Lightdust manages a set of models which can be obtained from the m_model module, via  
  
 
<source lang="javascript">
 
<source lang="javascript">
 
m_model.getModels()
 
m_model.getModels()
</source>
+
</source>  
  
== Details ==
+
== Details ==
  
{| border="1" cellspacing="0" cellpadding="5" align="left"
+
{| border="1" cellspacing="0" cellpadding="5"
! Attribute
+
|-
! Type/Module
+
! Attribute  
 +
! Type/Module  
 
! Content
 
! Content
|-  
+
|-
| '''uuid'''
+
| '''uuid'''  
| '''String'''
+
| '''String'''  
 
| UUID of the model
 
| UUID of the model
|-  
+
|-
| '''name'''
+
| '''name'''  
| '''String'''
+
| '''String'''  
 
| Name of the model
 
| Name of the model
|-  
+
|-
| '''attributes'''
+
| '''attributes'''  
| '''Object'''
+
| '''Object'''  
| Arbitrary extension elements  
+
| Arbitrary extension elements
|-  
+
|-
| '''applications'''
+
| '''applications'''  
| '''Application (m_application)'''
+
| '''Application (m_application)'''  
 
| Applications, service etc. defined for the model
 
| Applications, service etc. defined for the model
|-  
+
|-
| '''processes'''
+
| '''processes'''  
| '''Process (m_process)'''
+
| '''Process (m_process)'''  
 
| Processes defined for the model
 
| Processes defined for the model
 
|}
 
|}
  
 +
= Process =
  
=Process=
+
== Overview  ==
  
== Overview ==
+
== Details  ==
  
== Details ==
+
{| border="1" cellspacing="0" cellpadding="5"
 
+
|-
{| border="1" cellspacing="0" cellpadding="5" align="left"
+
! Attribute  
! Attribute
+
! Type/Module  
! Type/Module
+
 
! Content
 
! Content
|-  
+
|-
| '''uuid'''
+
| '''uuid'''  
| '''String'''
+
| '''String'''  
 
| UUID of the model
 
| UUID of the model
|-  
+
|-
| '''name'''
+
| '''name'''  
| '''String'''
+
| '''String'''  
 
| Name of the model
 
| Name of the model
|-  
+
|-
| '''attributes'''
+
| '''attributes'''  
| '''Object'''
+
| '''Object'''  
| Arbitrary extension elements  
+
| Arbitrary extension elements
 
|}
 
|}
  
=Activity=
+
= Activity =
  
== Overview ==
+
== Overview ==
  
== Details ==
+
== Details ==
  
{| border="1" cellspacing="0" cellpadding="5" align="left"
+
{| border="1" cellspacing="0" cellpadding="5"
! Attribute
+
|-
! Type/Module
+
! Attribute  
 +
! Type/Module  
 
! Content
 
! Content
|-  
+
|-
| '''uuid'''
+
| '''uuid'''  
| '''String'''
+
| '''String'''  
 
| UUID of the model
 
| UUID of the model
|-  
+
|-
| '''name'''
+
| '''name'''  
| '''String'''
+
| '''String'''  
 
| Name of the model
 
| Name of the model
|-  
+
|-
| '''attributes'''
+
| '''attributes'''  
| '''Object'''
+
| '''Object'''  
| Arbitrary extension elements  
+
| Arbitrary extension elements
 
|}
 
|}
  
=Gateway=
+
= Gateway =
  
== Overview ==
+
== Overview ==
  
== Details ==
+
== Details ==
  
{| border="1" cellspacing="0" cellpadding="5" align="left"
+
{| border="1" cellspacing="0" cellpadding="5"
! Attribute
+
|-
! Type/Module
+
! Attribute  
 +
! Type/Module  
 
! Content
 
! Content
|-  
+
|-
| '''uuid'''
+
| '''uuid'''  
| '''String'''
+
| '''String'''  
 
| UUID of the model
 
| UUID of the model
|-  
+
|-
| '''name'''
+
| '''name'''  
| '''String'''
+
| '''String'''  
 
| Name of the model
 
| Name of the model
|-  
+
|-
| '''attributes'''
+
| '''attributes'''  
| '''Object'''
+
| '''Object'''  
| Arbitrary extension elements  
+
| Arbitrary extension elements
 
|}
 
|}
  
=Data Flow=
+
= Data Flow =
  
== Overview ==
+
== Overview ==
  
== Details ==
+
== Details ==
  
{| border="1" cellspacing="0" cellpadding="5" align="left"
+
{| border="1" cellspacing="0" cellpadding="5"
! Attribute
+
|-
! Type/Module
+
! Attribute  
 +
! Type/Module  
 
! Content
 
! Content
|-  
+
|-
| '''uuid'''
+
| '''uuid'''  
| '''String'''
+
| '''String'''  
 
| UUID of the model
 
| UUID of the model
|-  
+
|-
| '''name'''
+
| '''name'''  
| '''String'''
+
| '''String'''  
 
| Name of the model
 
| Name of the model
|-  
+
|-
| '''attributes'''
+
| '''attributes'''  
| '''Object'''
+
| '''Object'''  
| Arbitrary extension elements  
+
| Arbitrary extension elements
 
|}
 
|}

Latest revision as of 09:51, 25 June 2013

The metamodel of Javascript objects used to implement the Browser Modeler (Lightdust) is supposed to be a superset of the BPMN2 metamodel. As work on the Browser Model was initially started focussed on the metamodel, some names and structures are still driven by originally Stardust needs stemming from Stardust's use of XPDL - but we intend to change this soon.

Overview

The following schema provides an overview of the Lightdust metamodel using indention to describe aggregation, > to describe references and * to indicate to many aggregation or reference

  • Model
    • Application*
    • StructuredDataDefinition*
    • Data*
    • Participant*
    • Process*
        • Activity*
      • Diagram
        • ActivitySymbol*
          • > Activity
        • Gateway Symbol*
          • > Gateway

Common Aspects

All model elements have an id and a uuid

Furthermore all model elements hold an attributes object which can be stored to store arbitrary properties

Model

Overview

The model is the root of all elements. Lightdust manages a set of models which can be obtained from the m_model module, via

m_model.getModels()

Details

Attribute Type/Module Content
uuid String UUID of the model
name String Name of the model
attributes Object Arbitrary extension elements
applications Application (m_application) Applications, service etc. defined for the model
processes Process (m_process) Processes defined for the model

Process

Overview

Details

Attribute Type/Module Content
uuid String UUID of the model
name String Name of the model
attributes Object Arbitrary extension elements

Activity

Overview

Details

Attribute Type/Module Content
uuid String UUID of the model
name String Name of the model
attributes Object Arbitrary extension elements

Gateway

Overview

Details

Attribute Type/Module Content
uuid String UUID of the model
name String Name of the model
attributes Object Arbitrary extension elements

Data Flow

Overview

Details

Attribute Type/Module Content
uuid String UUID of the model
name String Name of the model
attributes Object Arbitrary extension elements

Back to the top