10 UMLClass 330 120 150 130 ModuleClass -- *@ name : text* /- extends: Extends/ /- Doc : Doc/ /- Actions : Actions/ /- Data : Data/ /- Events : Events/ fg=blue UMLClass 580 190 140 100 Action -- *@ name : text* /@ type : DataType/ /- Doc : Doc/ /- Arg : Arg/ fg=blue Relation 470 100 130 90 lt=<- m1=0,1 110.0;10.0;40.0;10.0;40.0;70.0;10.0;70.0 UMLClass 800 260 160 80 Arg -- *@ name ; text* *@ type : DataType* /- Doc : Doc/ fg=blue Relation 710 260 110 40 lt=<- m1=0..* 90.0;10.0;10.0;10.0 UMLClass 60 230 200 100 Domain -- *@ id : ID* /- imports/ /- Modules : ModuleClass/ /- RootDevices : RootDevice/ fg=blue Relation 250 120 100 200 lt=<- m1= 0..* 80.0;10.0;30.0;10.0;30.0;180.0;10.0;180.0 UMLClass 330 600 190 100 Device -- *@ id : Name* /- Doc : Doc/ /- Modules : Module/ /- DeviceInfo : DeviceInfo/ fg=blue Relation 240 300 50 250 lt=<- m1=0..* 10.0;230.0;10.0;180.0;30.0;180.0;30.0;10.0;20.0;10.0 UMLClass 590 610 180 130 DeviceInfo -- *- name : text* *- vendor : text* /- serialNumber : text/ /- vendorURL : URL/ /- firmwareVersion : text/ /- Doc : Doc/ fg=blue Relation 510 610 100 90 lt=<- m1= 0,1 80.0;10.0;40.0;10.0;40.0;70.0;10.0;70.0 UMLClass 800 30 160 210 <<Enumeration>> DataType -- boolean byte integer float string enum date time datetime blob UMLClass 850 650 110 50 Doc -- - ... fg=blue UMLClass 580 90 130 80 <<Attributes>> Extends -- @domain : IDRF @class : text Relation 470 180 130 50 lt=<- m1=0..* 110.0;20.0;10.0;20.0 Relation 710 40 110 220 lt=<- m1=0,1 90.0;10.0;40.0;10.0;40.0;200.0;10.0;200.0 Relation 780 640 90 50 lt=<.. m1=0..* 70.0;20.0;10.0;20.0 Relation 950 110 50 220 lt=<- m1= 1 10.0;10.0;30.0;10.0;30.0;200.0;10.0;200.0 UMLClass 580 340 170 50 Data -- /- dataPoint : DataPoint/ fg=blue Relation 470 210 130 170 lt=<- m1=0..* 110.0;140.0;50.0;140.0;50.0;10.0;10.0;10.0 Relation 740 350 80 50 lt=<- m1=0..* 60.0;20.0;10.0;20.0 UMLClass 800 360 160 130 DataPoint -- *@ name : text* /@ type : DataType/ /@ writable : boolean/ /@ readable : boolean/ /@ eventable : boolean/ /- Doc : Doc/ fg=blue UMLClass 590 520 160 80 Event -- *@ name : text* /- data : Data/ - Doc : Doc fg=blue Relation 470 220 140 340 lt=<- m1=0..* 120.0;310.0;30.0;310.0;30.0;10.0;10.0;10.0 UMLClass 330 550 120 30 Module fg=blue Relation 440 550 110 130 lt=<- m1=0..* 10.0;10.0;90.0;10.0;90.0;110.0;80.0;110.0 Relation 380 240 100 330 lt=<<<. <<extends>> 10.0;10.0;10.0;310.0 Relation 650 380 130 210 lt=<- m1=0..* 10.0;10.0;10.0;120.0;110.0;120.0;110.0;190.0;100.0;190.0 Relation 950 40 70 390 lt=<- m1=1 10.0;10.0;50.0;10.0;50.0;370.0;10.0;370.0 UMLClass 70 530 190 110 RootDevice -- *@ id : Name* /- Doc : Doc/ /- Modules : Module/ /- Devices : Device/ /- DeviceInfo : DeviceInfo/ fg=blue Relation 250 590 100 50 lt=<- m1=0..* 80.0;20.0;10.0;20.0 UMLNote 60 30 200 130 bg=#FAF8C8 fontsize=10 @elementAttribute *@mandatoryElementAttribute* - element - element : Subclass /- optionalElement/ "Contains" Relation Subclassing Relation 160 90 100 40 lt=<- fontsize=10 m1=0..* 80.0;20.0;10.0;20.0 Relation 160 120 110 40 lt=<<<. <<extends>> fontsize=10 90.0;20.0;10.0;20.0 Relation 250 550 100 60 lt=<- m1=0..* 80.0;10.0;30.0;10.0;30.0;40.0;10.0;40.0 Relation 250 610 360 130 lt=<- 340.0;10.0;300.0;10.0;300.0;110.0;30.0;110.0;30.0;20.0;10.0;20.0