Type:org/oomodels/WIML/1.0

From OOModels
< Type:org‎ | oomodels‎ | WIML
Revision as of 10:58, 18 April 2026 by AndreasLeue (talk | contribs) (→‎Class Syntax)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
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]