Difference between revisions of "Type:org/oomodels/WIML/1.0"

From OOModels
< Type:org‎ | oomodels‎ | WIML
Jump to navigationJump to search
 
(19 intermediate revisions by the same user not shown)
Line 12: Line 12:
<SubPages/>
<SubPages/>


==Syntax==
== Class Syntax ==


  &lt;wiml&gt;
  &lt;wiml&gt;
  * ClassName Stereotype
* ClassName Stereotype
    &gt; BaseClass
  &lt;= Arg1
    Single line class description
  &lt;= Arg2=String
  ** Attribute1Name Type Stereotype
  &lt;- Arg3
    Single line attribute description
  &lt;- Arg4=String
    + Extension11Name
  &lt;  Arg5
      - Property111Name = Property111Value
  &lt;  Arg6=String
      - Property112Name = Property112Value
  &gt; BaseClass
      - ...
  ^ some.model.Import
    + Extension12Name
  ^^ some.external.Import, primitiveimport
      - Property121Name = Property121Value
  Single line class description
      - Property122Name = Property122Value
  + ExtensionForClass1Name
      - ...
    - PropertyForClassC11Name = PropertyForClassC11Value
  ** Attribute2Name Type Stereotype
    - PropertyForClassC12Name = PropertyForClassC12Value
    Single line attribute description
  + ExtensionForClass2Name
    + Extension21Name
    - PropertyForClassC21Name = PropertyForClassC21Value
      - Property211Name = Property211Value
    - PropertyForClassC22Name = PropertyForClassC22Value
      - Property212Name = Property212Value
** Attribute1Name Type Stereotype
      - ...
    Single line attribute description
    + Extension22Name
    + ExtensionForAttribute11Name
      - Property221Name = Property221Value
      - PropertyForAttribute111Name = PropertyForAttribute111Value
      - Property222Name = Property222Value
      - PropertyForAttribute112Name = PropertyForAttribute112Value
      - ...
    + ExtensionForAttribute12Name
  ** ...
      - PropertyForAttribute121Name = PropertyForAttribute121Value
  ** Association1Name Type(1:n) Stereotype
      - PropertyForAttribute122Name = PropertyForAttribute122Value
    Single line association description
** Attribute2Name Type Stereotype
  ** Association2Name Type(0..1:5) Stereotype
    Single line attribute description
    Single line association description
    + ExtensionForAttribute21Name
  ** ...
      - PropertyForAttribute211Name = PropertyForAttribute211Value
      - PropertyForAttribute212Name = PropertyForAttribute212Value
    + ExtensionForAttribute22Name
      - PropertyForAttribute221Name = PropertyForAttribute221Value
      - PropertyForAttribute222Name = PropertyForAttribute222Value
// ** DisabledAttribute Type Stereotype
    Single line attribute description
** Association1Name Type(0..*) Stereotype, the multiplicity is "to many" (*)
    Single line association description
    + ExtensionForAssociation11Name
      - PropertyForAssociation111Name = PropertyForAssociation111Value
      - PropertyForAssociation112Name = PropertyForAssociation112Value
    + ExtensionForAssociation12Name
      - PropertyForAssociation121Name = PropertyForAssociation121Value
      - PropertyForAssociation122Name = PropertyForAssociation122Value
    +< ExtensionForLeftSideAssociationEnd13Name
      - PropertyForAssociation131Name = PropertyForAssociation131Value
      - PropertyForAssociation132Name = PropertyForAssociation132Value
    +< ExtensionForLeftSideAssociationEnd14Name
      - PropertyForAssociation141Name = PropertyForAssociation141Value
      - PropertyForAssociation142Name = PropertyForAssociation142Value
    +> ExtensionForRightSideAssociationEnd15Name
      - PropertyForAssociation151Name = PropertyForAssociation151Value
      - PropertyForAssociation152Name = PropertyForAssociation152Value
    +> ExtensionForRightSideAssociationEnd16Name
      - PropertyForAssociation161Name = PropertyForAssociation161Value
      - PropertyForAssociation162Name = PropertyForAssociation162Value
** Association2Name Type(*) Stereotype, the multiplicity is "to many" (*)
    Single line association description
** Association3Name Type(1..+) Stereotype, the multiplicity is "to one or more" (+)
    Single line association description
** Association4Name Type(+) Stereotype, the multiplicity is "to one or more" (+)
    Single line association description
** Association5Name Type(1) Stereotype, the multiplicity is "to one" (1)
    Single line association description
** BidirectionalAssociation6LeftName:BidirectionalAssociation6RightName Type(1:*) Stereotype
    Single line association description, the multiplicity is "one" (1) "to many" (*)
** BidirectionalAssociation7LeftName:BidirectionalAssociation7RightName Type(*:*) Stereotype
    Single line association description, the multiplicity is "many" (*) "to many" (*)
!! Operation1Name ReturnType(Argument11Name:Argument11Type,Argument12Name:Argument12Type) Stereotype
    Single line operation description
    + ExtensionForOperation11Name
      - PropertyForOperation111Name = PropertyForOperation111Value
      - PropertyForOperation112Name = PropertyForOperation112Value
    + ExtensionForOperation12Name
      - PropertyForOperation121Name = PropertyForOperation121Value
      - PropertyForOperation122Name = PropertyForOperation122Value
!! Operation2Name ReturnType(Argument21Name:Argument21Type,Argument22Name:Argument22Type) Stereotype
    Single line operation description
    + ExtensionForOperation21Name
      - PropertyForOperation211Name = PropertyForOperation211Value
      - PropertyForOperation212Name = PropertyForOperation212Value
    + ExtensionForOperation22Name
      - PropertyForOperation221Name = PropertyForOperation221Value
      - PropertyForOperation222Name = PropertyForOperation222Value
  &lt;/wiml&gt;
  &lt;/wiml&gt;


Line 49: Line 103:


<wiml>
<wiml>
* ClassName Stereotype
* ClassName Stereotype
  > BaseClass
  <= Arg1
  Single line class description
  <= Arg2=String
** Attribute1Name Type Stereotype
  <- Arg3
  Single line attribute description
  <- Arg4=String
  + Extension11Name
  <  Arg5
    - Property111Name = Property111Value
  <  Arg6=String
    - Property112Name = Property112Value
  > BaseClass
  + Extension12Name
  ^ some.model.Import
    - Property121Name = Property121Value
  ^^ some.external.Import, primitiveimport
    - Property122Name = Property122Value
  Single line class description
** Attribute2Name Type Stereotype
  + ExtensionForClass1Name
  Single line attribute description
    - PropertyForClassC11Name = PropertyForClassC11Value
  + Extension21Name
    - PropertyForClassC12Name = PropertyForClassC12Value
    - Property211Name = Property211Value
  + ExtensionForClass2Name
    - Property212Name = Property212Value
    - PropertyForClassC21Name = PropertyForClassC21Value
  + Extension22Name
    - PropertyForClassC22Name = PropertyForClassC22Value
    - Property221Name = Property221Value
** Attribute1Name Type Stereotype
    - Property222Name = Property222Value
    Single line attribute description
** Association1Name Type(1:n) Stereotype
    + ExtensionForAttribute11Name
  Single line association description
      - PropertyForAttribute111Name = PropertyForAttribute111Value
** Association2Name Type(0..1:5) Stereotype
      - PropertyForAttribute112Name = PropertyForAttribute112Value
  Single line association description
    + ExtensionForAttribute12Name
      - PropertyForAttribute121Name = PropertyForAttribute121Value
      - PropertyForAttribute122Name = PropertyForAttribute122Value
** Attribute2Name Type Stereotype
    Single line attribute description
    + ExtensionForAttribute21Name
      - PropertyForAttribute211Name = PropertyForAttribute211Value
      - PropertyForAttribute212Name = PropertyForAttribute212Value
    + ExtensionForAttribute22Name
      - PropertyForAttribute221Name = PropertyForAttribute221Value
      - PropertyForAttribute222Name = PropertyForAttribute222Value
// ** DisabledAttribute Type Stereotype
    Single line attribute description
** Association1Name Type(0..*) Stereotype, the multiplicity is "to many" (*)
    Single line association description
    + ExtensionForAssociation11Name
      - PropertyForAssociation111Name = PropertyForAssociation111Value
      - PropertyForAssociation112Name = PropertyForAssociation112Value
    + ExtensionForAssociation12Name
      - PropertyForAssociation121Name = PropertyForAssociation121Value
      - PropertyForAssociation122Name = PropertyForAssociation122Value
    +< ExtensionForLeftSideAssociationEnd13Name
      - PropertyForAssociation131Name = PropertyForAssociation131Value
      - PropertyForAssociation132Name = PropertyForAssociation132Value
    +< ExtensionForLeftSideAssociationEnd14Name
      - PropertyForAssociation141Name = PropertyForAssociation141Value
      - PropertyForAssociation142Name = PropertyForAssociation142Value
    +> ExtensionForRightSideAssociationEnd15Name
      - PropertyForAssociation151Name = PropertyForAssociation151Value
      - PropertyForAssociation152Name = PropertyForAssociation152Value
    +> ExtensionForRightSideAssociationEnd16Name
      - PropertyForAssociation161Name = PropertyForAssociation161Value
      - PropertyForAssociation162Name = PropertyForAssociation162Value
** Association2Name Type(*) Stereotype, the multiplicity is "to many" (*)
    Single line association description
** Association3Name Type(1..+) Stereotype, the multiplicity is "to one or more" (+)
    Single line association description
** Association4Name Type(+) Stereotype, the multiplicity is "to one or more" (+)
    Single line association description
** Association5Name Type(1) Stereotype, the multiplicity is "to one" (1)
    Single line association description
** BidirectionalAssociation6LeftName:BidirectionalAssociation6RightName Type(1:*) Stereotype
    Single line association description, the multiplicity is "one" (1) "to many" (*)
** BidirectionalAssociation7LeftName:BidirectionalAssociation7RightName Type(*:*) Stereotype
    Single line association description, the multiplicity is "many" (*) "to many" (*)
!! Operation1Name ReturnType(Argument11Name:Argument11Type,Argument12Name:Argument12Type) Stereotype
    Single line operation description
    + ExtensionForOperation11Name
      - PropertyForOperation111Name = PropertyForOperation111Value
      - PropertyForOperation112Name = PropertyForOperation112Value
    + ExtensionForOperation12Name
      - PropertyForOperation121Name = PropertyForOperation121Value
      - PropertyForOperation122Name = PropertyForOperation122Value
!! Operation2Name ReturnType(Argument21Name:Argument21Type,Argument22Name:Argument22Type) Stereotype
    Single line operation description
    + ExtensionForOperation21Name
      - PropertyForOperation211Name = PropertyForOperation211Value
      - PropertyForOperation212Name = PropertyForOperation212Value
    + ExtensionForOperation22Name
      - PropertyForOperation221Name = PropertyForOperation221Value
      - PropertyForOperation222Name = PropertyForOperation222Value
</wiml>
 
== State Machine Syntax ==
 
&lt;wiml&gt;
# Transaction
~ state1,state2,state3
** Attribute1 String
** Attribute2 String
!! transition1 void()
    ~~ state1
    + XMLogicImplementation
      - OperationBody = ~ ...\n ==>> state2;
!! transition2 void()
    ~~ state2
    + XMLogicImplementation
      - OperationBody = ~ ...\n ==>> state1;
&lt;/wiml&gt;
 
<wiml>
# Transaction
~ state1,state2,state3
** Attribute1 String
** Attribute2 String
!! transition1 void()
  ~~ state1
  + XMLogicImplementation
    - OperationBody = ~ ...\n ==>> state2;
!! transition2 void()
  ~~ state2
  + XMLogicImplementation
    - OperationBody = ~ ...\n ==>> state1;
</wiml>
 
== Process Syntax ==
 
&lt;wiml&gt;
* Step1 org/ooem/stereotypes/Step
** Initial Constellation11(1..1)
** Final1 Constellation12(1..1)
** Final2 Constellation13(1..1)
&lt;/wiml&gt;
 
<wiml>
* Step1 org/ooem/stereotypes/Step
** Initial Constellation11(1..1)
** Final1 Constellation12(1..1)
** Final2 Constellation13(1..1)
</wiml>
 
&lt;wiml&gt;
* Constellation1 org/ooem/stereotypes/Constellation
** Attribute11 Class11[InState11]
** Attribute12 Class12[InState12]
&lt;/wiml&gt;
 
<wiml>
* Constellation1 org/ooem/stereotypes/Constellation
** Attribute11 Class11[InState11]
** Attribute12 Class12[InState12]
</wiml>
</wiml>


{{Browse}}
{{Browse}}

Latest revision as of 10:58, 18 April 2026

Classification
MIME Type text/plain
FileExtension wiml
Domain Domain:it/development/modelling
Category Type:org/oomodels/wiki/Version
Namespace (more)

OOModels main namespace

create new pages

Description[edit]

This is version 1.0 of Type:org/oomodels/WIML


Class Syntax[edit]

<wiml>
* ClassName Stereotype
  <= Arg1
  <= Arg2=String
  <- Arg3
  <- Arg4=String
  <  Arg5
  <  Arg6=String
  > BaseClass
  ^ some.model.Import
  ^^ some.external.Import, primitiveimport
  Single line class description
  + ExtensionForClass1Name
    - PropertyForClassC11Name = PropertyForClassC11Value
    - PropertyForClassC12Name = PropertyForClassC12Value
  + ExtensionForClass2Name
    - PropertyForClassC21Name = PropertyForClassC21Value
    - PropertyForClassC22Name = PropertyForClassC22Value
** Attribute1Name Type Stereotype
   Single line attribute description
   + ExtensionForAttribute11Name
     - PropertyForAttribute111Name = PropertyForAttribute111Value
     - PropertyForAttribute112Name = PropertyForAttribute112Value
   + ExtensionForAttribute12Name
     - PropertyForAttribute121Name = PropertyForAttribute121Value
     - PropertyForAttribute122Name = PropertyForAttribute122Value
** Attribute2Name Type Stereotype
   Single line attribute description
   + ExtensionForAttribute21Name
     - PropertyForAttribute211Name = PropertyForAttribute211Value
     - PropertyForAttribute212Name = PropertyForAttribute212Value
   + ExtensionForAttribute22Name
     - PropertyForAttribute221Name = PropertyForAttribute221Value
     - PropertyForAttribute222Name = PropertyForAttribute222Value
// ** DisabledAttribute Type Stereotype
   Single line attribute description
** Association1Name Type(0..*) Stereotype, the multiplicity is "to many" (*)
   Single line association description
   + ExtensionForAssociation11Name
     - PropertyForAssociation111Name = PropertyForAssociation111Value
     - PropertyForAssociation112Name = PropertyForAssociation112Value
   + ExtensionForAssociation12Name
     - PropertyForAssociation121Name = PropertyForAssociation121Value
     - PropertyForAssociation122Name = PropertyForAssociation122Value
   +< ExtensionForLeftSideAssociationEnd13Name
     - PropertyForAssociation131Name = PropertyForAssociation131Value
     - PropertyForAssociation132Name = PropertyForAssociation132Value
   +< ExtensionForLeftSideAssociationEnd14Name
     - PropertyForAssociation141Name = PropertyForAssociation141Value
     - PropertyForAssociation142Name = PropertyForAssociation142Value
   +> ExtensionForRightSideAssociationEnd15Name
     - PropertyForAssociation151Name = PropertyForAssociation151Value
     - PropertyForAssociation152Name = PropertyForAssociation152Value
   +> ExtensionForRightSideAssociationEnd16Name
     - PropertyForAssociation161Name = PropertyForAssociation161Value
     - PropertyForAssociation162Name = PropertyForAssociation162Value
** Association2Name Type(*) Stereotype, the multiplicity is "to many" (*)
   Single line association description
** Association3Name Type(1..+) Stereotype, the multiplicity is "to one or more" (+)
   Single line association description
** Association4Name Type(+) Stereotype, the multiplicity is "to one or more" (+)
   Single line association description
** Association5Name Type(1) Stereotype, the multiplicity is "to one" (1)
   Single line association description
** BidirectionalAssociation6LeftName:BidirectionalAssociation6RightName Type(1:*) Stereotype
   Single line association description, the multiplicity is "one" (1) "to many" (*)
** BidirectionalAssociation7LeftName:BidirectionalAssociation7RightName Type(*:*) Stereotype
   Single line association description, the multiplicity is "many" (*) "to many" (*)
!! Operation1Name ReturnType(Argument11Name:Argument11Type,Argument12Name:Argument12Type) Stereotype
   Single line operation description
   + ExtensionForOperation11Name
     - PropertyForOperation111Name = PropertyForOperation111Value
     - PropertyForOperation112Name = PropertyForOperation112Value
   + ExtensionForOperation12Name
     - PropertyForOperation121Name = PropertyForOperation121Value
     - PropertyForOperation122Name = PropertyForOperation122Value
!! Operation2Name ReturnType(Argument21Name:Argument21Type,Argument22Name:Argument22Type) Stereotype
   Single line operation description
   + ExtensionForOperation21Name
     - PropertyForOperation211Name = PropertyForOperation211Value
     - PropertyForOperation212Name = PropertyForOperation212Value
   + ExtensionForOperation22Name
     - PropertyForOperation221Name = PropertyForOperation221Value
     - PropertyForOperation222Name = PropertyForOperation222Value
</wiml>

The above code (except the "..." parts) is rendered as follows. Please note: all types (Type, Stereotype, Base) are rendered automatically as links. If the typename contains no "/", it is assumed it is a primitive model type defined in Artefact:Model/org/oomodels/primitives. If it does contain a "/", it is linked to the respective subpage in Artefact:Model.

BaseClass
ClassName≦Arg1≧≦Arg2=String≧≤Arg3≥≤Arg4=String≥<Arg5><Arg6=String>
«Stereotype»
Single line class description
...
some.model.Import
some.external.Import
primitiveimport
...
ExtensionForClass1Name PropertyForClassC11NamePropertyForClassC11Value
PropertyForClassC12NamePropertyForClassC12Value
ExtensionForClass2Name PropertyForClassC21NamePropertyForClassC21Value
PropertyForClassC22NamePropertyForClassC22Value
Attribute1NameType«Stereotype»
...
ExtensionForAttribute11Name PropertyForAttribute111NamePropertyForAttribute111Value
PropertyForAttribute112NamePropertyForAttribute112Value
ExtensionForAttribute12Name PropertyForAttribute121NamePropertyForAttribute121Value
PropertyForAttribute122NamePropertyForAttribute122Value
Single line attribute description
Attribute2NameType«Stereotype»
...
ExtensionForAttribute21Name PropertyForAttribute211NamePropertyForAttribute211Value
PropertyForAttribute212NamePropertyForAttribute212Value
ExtensionForAttribute22Name PropertyForAttribute221NamePropertyForAttribute221Value
PropertyForAttribute222NamePropertyForAttribute222Value
Single line attribute description
DisabledAttribute disabledType«Stereotype»
Single line attribute description
Association1Name──0..*──► Type«Stereotype, the multiplicity is "to many" (*)»
...
ExtensionForAssociation11Name PropertyForAssociation111NamePropertyForAssociation111Value
PropertyForAssociation112NamePropertyForAssociation112Value
ExtensionForAssociation12Name PropertyForAssociation121NamePropertyForAssociation121Value
PropertyForAssociation122NamePropertyForAssociation122Value
ExtensionForLeftSideAssociationEnd13Name (End 1) PropertyForAssociation131NamePropertyForAssociation131Value
PropertyForAssociation132NamePropertyForAssociation132Value
ExtensionForLeftSideAssociationEnd14Name (End 1) PropertyForAssociation141NamePropertyForAssociation141Value
PropertyForAssociation142NamePropertyForAssociation142Value
ExtensionForRightSideAssociationEnd15Name (End 2) PropertyForAssociation151NamePropertyForAssociation151Value
PropertyForAssociation152NamePropertyForAssociation152Value
ExtensionForRightSideAssociationEnd16Name (End 2) PropertyForAssociation161NamePropertyForAssociation161Value
PropertyForAssociation162NamePropertyForAssociation162Value
Single line association description
Association2Name──*──► Type«Stereotype, the multiplicity is "to many" (*)»
Single line association description
Association3Name──1..+──► Type«Stereotype, the multiplicity is "to one or more" (+)»
Single line association description
Association4Name──+──► Type«Stereotype, the multiplicity is "to one or more" (+)»
Single line association description
Association5Name──1──► Type«Stereotype, the multiplicity is "to one" (1)»
Single line association description
BidirectionalAssociation6LeftName:BidirectionalAssociation6RightName──1:*──► Type«Stereotype»
Single line association description, the multiplicity is "one" (1) "to many" (*)
BidirectionalAssociation7LeftName:BidirectionalAssociation7RightName──*:*──► Type«Stereotype»
Single line association description, the multiplicity is "many" (*) "to many" (*)
Operation1NameReturnType (Argument11Name: Argument11Type, Argument12Name: Argument12Type) «Stereotype»
...
ExtensionForOperation11Name PropertyForOperation111NamePropertyForOperation111Value
PropertyForOperation112NamePropertyForOperation112Value
ExtensionForOperation12Name PropertyForOperation121NamePropertyForOperation121Value
PropertyForOperation122NamePropertyForOperation122Value
Single line operation description
Operation2NameReturnType (Argument21Name: Argument21Type, Argument22Name: Argument22Type) «Stereotype»
...
ExtensionForOperation21Name PropertyForOperation211NamePropertyForOperation211Value
PropertyForOperation212NamePropertyForOperation212Value
ExtensionForOperation22Name PropertyForOperation221NamePropertyForOperation221Value
PropertyForOperation222NamePropertyForOperation222Value
Single line operation description


State Machine Syntax[edit]

<wiml>
# Transaction
~ state1,state2,state3
** Attribute1 String
** Attribute2 String
!! transition1 void()
   ~~ state1
   + XMLogicImplementation
     - OperationBody = ~ ...\n ==>> state2;
!! transition2 void()
   ~~ state2
   + XMLogicImplementation
     - OperationBody = ~ ...\n ==>> state1;
</wiml>
Transaction
state1state2state3
Attribute1String«»
Attribute2String«»
state1──► transition1void () «»
...
XMLogicImplementation OperationBodyn =  = state2
state2──► transition2void () «»
...
XMLogicImplementation OperationBodyn =  = state1


Process Syntax[edit]

<wiml>
* Step1 org/ooem/stereotypes/Step
** Initial Constellation11(1..1)
** Final1 Constellation12(1..1)
** Final2 Constellation13(1..1)
</wiml>
Step1
«Step»
Initial──1..1──► Constellation11«»
Final1──1..1──► Constellation12«»
Final2──1..1──► Constellation13«»


<wiml>
* Constellation1 org/ooem/stereotypes/Constellation
** Attribute11 Class11[InState11]
** Attribute12 Class12[InState12]
</wiml>
Constellation1
«Constellation»
Attribute11Class11
[InState11]
«»
Attribute12Class12
[InState12]
«»


Browse[edit]