/
east_adl.ecore
3392 lines (3392 loc) · 250 KB
/
east_adl.ecore
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="east_adl"
nsURI="http://www.topcased.org/0.11.0/east_adl" nsPrefix="east_adl">
<eClassifiers xsi:type="ecore:EClass" name="EASTADLModel" eSuperTypes="#//core/EASTADLNamedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the root entity for modeling all EAST-ADL artifacts."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="artifacts" upperBound="-1"
eType="#//core/EASTADLArtifact" containment="true" eOpposite="#//core/EASTADLArtifact/model">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are artifacts that belong to this model. Several artifacts of same kind can be present."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eSubpackages name="core" nsURI="http://www.topcased.org/0.11.0/east_adl/core" nsPrefix="core">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This package contains core elements which are usually base classes. "/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="EASTADLNamedElement" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the base entity which is created to provide the name attribute."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EASTADLArtifact" abstract="true" eSuperTypes="#//core/EASTADLNamedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is an EAST-ADL artifact, a container for EAST-ADL structural entities. For more information, look at the documentation provided for a specific artifact."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="requirements" upperBound="-1"
eType="#//requirements/Requirement" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the requirements contained in this artifact."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="model" lowerBound="1"
eType="#//EASTADLModel" eOpposite="#//EASTADLModel/artifacts">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the owning model of this artifact."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="supportEntities" upperBound="-1"
eType="#//support/SupportEntity" containment="true" eOpposite="#//support/SupportEntity/owningArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are support entities that are contained in this artifact."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="validationEntities" upperBound="-1"
eType="#//verification_validation/VVCase" containment="true" eOpposite="#//verification_validation/VVCase/owningArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are verification and validation entities of this artifact."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EASTADLEntity" abstract="true" eSuperTypes="#//core/EASTADLNamedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the base class for all EAST-ADL structural entities."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="passiveAssignments" upperBound="-1"
eType="#//requirements/Assignment" eOpposite="#//requirements/Assignment/target">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are all assignments of this entity."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="assignedRequirements"
upperBound="-1" eType="#//requirements/Requirement" changeable="false" volatile="true"
transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are requirements assigning this entity."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
</eSubpackages>
<eSubpackages name="structure" nsURI="http://www.topcased.org/0.11.0/east_adl/structure"
nsPrefix="structure">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This package and its sub package contains all EAST-ADL structural features."/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="StructureHolder" abstract="true"/>
<eSubpackages name="vehicle_feature_model" nsURI="http://www.topcased.org/0.11.0/east_adl/structure/vehicle_feature_model"
nsPrefix="vehicle_feature_model">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This package contains entities of the VFM artifact."/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="VehicleFeatureModel" eSuperTypes="#//core/EASTADLArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity is a top level container for a vehicle product line. It contains a flat list of vehicle parameters that are relevant for the configuration of the embedded electronics (trim, country, etc.), and vehicle sets which describe sets of vehicle instances sharing common properties."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="vehicleParameters"
upperBound="-1" eType="#//structure/vehicle_feature_model/VehicleParameter"
containment="true" eOpposite="#//structure/vehicle_feature_model/VehicleParameter/owningArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the vehicle parameters of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="vehicleSets" upperBound="-1"
eType="#//structure/vehicle_feature_model/VehicleSet" containment="true"
eOpposite="#//structure/vehicle_feature_model/VehicleSet/owningArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the vehicle sets of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="analysisArchitecture"
eType="#//structure/functional_analysis_architecture/FunctionalAnalysisArchitecture"
eOpposite="#//structure/functional_analysis_architecture/FunctionalAnalysisArchitecture/vehicleModel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the analysis model that implements vehicle features of this entity."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="designArchitecture"
eType="#//structure/functional_design_architecture/FunctionalDesignArchitecture"
eOpposite="#//structure/functional_design_architecture/FunctionalDesignArchitecture/vehicleModel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the design model implementing this entity."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="electronicFeatures"
upperBound="-1" eType="#//structure/vehicle_feature_model/EFeature" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are electronic features "/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VehicleParameter" eSuperTypes="#//core/EASTADLEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity is used to describe general vehicle characteristics that may affect the actual configuration of the embedded electronics. It may be also a customer selectable attribute."/>
</eAnnotations>
<eAnnotations source="http://www.topcased.org/documentation">
<details key="documentation" value="See vehicle inclusion criterion command."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="customerChoice" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This attribute is used to declare if this parameter is a choice usually done by the customer. This is only for reference and has no technical impact on the system."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This attribute is the type of the vehicle parameter."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="owningArtifact" lowerBound="1"
eType="#//structure/vehicle_feature_model/VehicleFeatureModel" eOpposite="#//structure/vehicle_feature_model/VehicleFeatureModel/vehicleParameters">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the artifact to which this vehicle parameter belongs."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VehicleSet" eSuperTypes="#//core/EASTADLEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity represents all vehicles with certain properties declared in the inclusion criterion attribute."/>
</eAnnotations>
<eAnnotations source="http://www.topcased.org/documentation">
<details key="documentation" value="This entity may have derived properties that are deleted from graphical view for readability purposes."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="inclusions" upperBound="-1"
eType="#//structure/vehicle_feature_model/Inclusion" containment="true"
eOpposite="#//structure/vehicle_feature_model/Inclusion/vehicleSet">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the inclusions objects that belong to the vehicle set. An inclusion is used to include an electronic feature."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="vehicleInclusionCriterion"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This attribute is a condition that refers to the vehicle parameters (!) and can be tested for a specific vehicle."/>
</eAnnotations>
<eAnnotations source="http://www.topcased.org/documentation">
<details key="documentation" value="I would not choose this solution to the problem."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="owningArtifact" lowerBound="1"
eType="#//structure/vehicle_feature_model/VehicleFeatureModel" eOpposite="#//structure/vehicle_feature_model/VehicleFeatureModel/vehicleSets">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the artifact to which this vehicle set belongs."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="includedEFeatures"
upperBound="-1" eType="#//structure/vehicle_feature_model/EFeature" changeable="false"
volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is a derived property used to show all included electronic features of this entity (if any).
This property will be shown instead of the corresponding inclusion model objects because it is more explicit."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Inclusion" eSuperTypes="#//core/EASTADLNamedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity allows linking a vehicle set and an EFeature."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="electronicFeature"
eType="#//structure/vehicle_feature_model/EFeature" resolveProxies="false"
eOpposite="#//structure/vehicle_feature_model/EFeature/inclusions">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the electronic feature included by the vehicle set of this inclusion."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="vehicleSet" lowerBound="1"
eType="#//structure/vehicle_feature_model/VehicleSet" eOpposite="#//structure/vehicle_feature_model/VehicleSet/inclusions">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="All vehicles belonging to this set must implement included EFeatures."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EFeature" eSuperTypes="#//core/EASTADLEntity #//structure/common/RealizedEntity #//structure/common/AllocatableEntity #//support/ArchivedEntity #//variant_handling/VariantEntity #//verification_validation/ValidatedEntity">
<eAnnotations source="http://www.topcased.org/documentation">
<details key="documentation" value="This entity may have derived properties that are deleted from graphical view for readability purposes."/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the entity used to describe required functionnalities of in-vehicle embedded systems."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This attribute declares whether this electronic feature is optional or not. Allows to model product independant technical variability when decomposing EFeatures into sub-EFeatures.If its value is true, the decision to include this EFeature in the containing EFeature will be done by engineers during design or implementation phases. If the attribute is false, the EFeature must be necessarily included."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="visibleByCustomer"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This attribute declares whether this electronic feature is visible by a customer or not. If an EFeature has customer visibility, the decision to include that feature in a certain car or not and the selection of variant is done by the customer. Otherwise these decisions will be taken by engineers or other actors."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="passiveSpecifications"
upperBound="-1" eType="#//requirements/Specification" eOpposite="#//requirements/Specification/specifiedEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are descriptions of what this electronic feature does."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="passiveConstraints"
upperBound="-1" eType="#//requirements/Constraint" eOpposite="#//requirements/Constraint/constrainedEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the constraint to be considered for an electronic feature design and implementation."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="specifyingFunctionalRequirements"
upperBound="-1" eType="#//requirements/FunctionalRequirement" changeable="false"
volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is a derived property used to show all functional requirements specifying this entity (if any).
This property will be shown instead of the corresponding specification model objects because it is more explicit."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="constrainingDesignConstraints"
upperBound="-1" eType="#//requirements/DesignConstraint" changeable="false"
volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is a derived property used to show all design constraints constraining this entity (if any).
This property will be shown instead of the corresponding constraint model objects because it is more explicit."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="inclusions" upperBound="-1"
eType="#//structure/vehicle_feature_model/Inclusion" eOpposite="#//structure/vehicle_feature_model/Inclusion/electronicFeature">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the inclusions including this feature. An inclusion represents a vehicle set."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="includingVehicleSets"
upperBound="-1" eType="#//structure/vehicle_feature_model/VehicleSet"
changeable="false" volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is a derived property used to show all including vehicle sets of this entity (if any).
This property will be shown instead of the corresponding inclusion model objects because it is more explicit."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="subFeatures" upperBound="-1"
eType="#//structure/vehicle_feature_model/EFeature" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="functional_analysis_architecture" nsURI="http://www.topcased.org/0.11.0/east_adl/structure/functional_analysis_architecture"
nsPrefix="functional_analysis_architecture">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This package contains the entities of the FAA artifact. The goal here is to answer the question "what does the system do"."/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="FunctionalAnalysisArchitecture"
eSuperTypes="#//core/EASTADLArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity describes the functionalities of a vehicle at a level of abstraction situated between the informal specification of the features and the implementation of the functionalities that support these features."/>
</eAnnotations>
<eAnnotations source="http://www.topcased.org/documentation">
<details key="documentation" value="In the specification this is a top level analysis function. I'm not ok with this and I consider this as a simple artifact. However, within this artifact you can create any top level function you want."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="analysisFunctions"
upperBound="-1" eType="#//structure/functional_analysis_architecture/AnalysisFunction"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the analysis functions of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionalDevices"
upperBound="-1" eType="#//structure/functional_analysis_architecture/FunctionalDevice"
containment="true" eOpposite="#//structure/functional_analysis_architecture/FunctionalDevice/owningArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the functional devices of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="vehicleModel" eType="#//structure/vehicle_feature_model/VehicleFeatureModel"
eOpposite="#//structure/vehicle_feature_model/VehicleFeatureModel/analysisArchitecture">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the vehicle model which this entity implements."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="designArchitecture"
eType="#//structure/functional_design_architecture/FunctionalDesignArchitecture"
eOpposite="#//structure/functional_design_architecture/FunctionalDesignArchitecture/analysisArchitecture">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the design model implementing this entity."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="designDataTypes" upperBound="-1"
eType="#//structure/common/DesignDataType" containment="true">
<eAnnotations source="http://www.topcased.org/documentation">
<details key="documentation" value="These are all DDT used by entities of this artifact."/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are design data types used in this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="connectorSignals" upperBound="-1"
eType="#//structure/common/ConnectorSignal" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are connector signals used in this analysis model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="operationCalls" upperBound="-1"
eType="#//structure/common/OperationCall" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are operation calls used at this analysis level."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="typeAssociations" upperBound="-1"
eType="#//structure/common/TypeAssociation" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are associations between the types of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementationDataTypes"
upperBound="-1" eType="#//structure/common/ImplementationDataType" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are implementation data types of this model."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AnalysisFunction" eSuperTypes="#//core/EASTADLEntity #//variant_handling/VariantEntity #//structure/common/RealizedEntity #//structure/common/RealizingEntity #//structure/common/AllocatableEntity #//verification_validation/ValidatedEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity is used at the analysis level to describe the functionalities provided by a car. These functions may interact with their environment (other analysis functions or functional devices) through function ports."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//structure/common/Parameter" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These entities are configuration parameters of this analysis function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="-1"
eType="#//structure/common/FunctionPort" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These entities are the ports of this analysis function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="subFunctions" upperBound="-1"
eType="#//structure/functional_analysis_architecture/AnalysisFunction"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the sub functions of this function allowing to break up hierarchically the functionnalities provided by the parent."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="analysisBehavior" eType="#//behavior/Behavior"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the behavior of this function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionalDevices"
eType="#//structure/functional_analysis_architecture/FunctionalDevice"
eOpposite="#//structure/functional_analysis_architecture/FunctionalDevice/owningFunction">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are functional devices that can be nested within this function."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FunctionalDevice" eSuperTypes="#//core/EASTADLEntity #//structure/common/RealizedEntity #//verification_validation/ValidatedEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity is used at the analysis level to describe an interface for interaction with devices such as sensors or actuators."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="owningArtifact" lowerBound="1"
eType="#//structure/functional_analysis_architecture/FunctionalAnalysisArchitecture"
eOpposite="#//structure/functional_analysis_architecture/FunctionalAnalysisArchitecture/functionalDevices">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the artifact to which this functional device belongs."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//structure/common/Parameter" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These entities are used to this functional device or its behavior."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="-1"
eType="#//structure/common/FunctionPort" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the ports of this functional device."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="owningFunction" eType="#//structure/functional_analysis_architecture/AnalysisFunction"
containment="true" eOpposite="#//structure/functional_analysis_architecture/AnalysisFunction/functionalDevices">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the analysis function owning this device"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EnvironmentFunction" eSuperTypes="#//structure/functional_analysis_architecture/AnalysisFunction">
<eStructuralFeatures xsi:type="ecore:EReference" name="actuators" upperBound="-1"
eType="#//structure/hardware_architecture/Actuator" eOpposite="#//structure/hardware_architecture/Actuator/actuatorModel"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="sensors" upperBound="-1"
eType="#//structure/hardware_architecture/Sensor" eOpposite="#//structure/hardware_architecture/Sensor/sensorModel"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="functional_design_architecture" nsURI="http://www.topcased.org/0.11.0/east_adl/structure/functional_design_architecture"
nsPrefix="functional_design_architecture">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This package contains the entities of the FDA artifact. The goal here is to answer the question "how does the system does it"."/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="FunctionalDesignArchitecture" eSuperTypes="#//core/EASTADLArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity describes the realizations of the functional analysis architecture. A network of possibly decomposed functions will be specified."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="elementarySoftwareFunctions"
upperBound="-1" eType="#//structure/functional_design_architecture/ElementarySoftwareFunction"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are all elementary software functions owned by this artifact."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="compositeSoftwareFunctions"
upperBound="-1" eType="#//structure/functional_design_architecture/CompositeSoftwareFunction"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are all composite software functions owned by this artifact."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="analysisArchitecture"
eType="#//structure/functional_analysis_architecture/FunctionalAnalysisArchitecture"
eOpposite="#//structure/functional_analysis_architecture/FunctionalAnalysisArchitecture/designArchitecture">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the analysis model which this entity implements."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="vehicleModel" eType="#//structure/vehicle_feature_model/VehicleFeatureModel"
eOpposite="#//structure/vehicle_feature_model/VehicleFeatureModel/designArchitecture">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the vehicle model which this entity implements."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="instanceModel" eType="#//structure/function_instance_model/FunctionInstanceModel"
eOpposite="#//structure/function_instance_model/FunctionInstanceModel/designArchitecture">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the instantiating instance model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="typeAssociations" upperBound="-1"
eType="#//structure/common/TypeAssociation" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the type associations between the types of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementationDataTypes"
upperBound="-1" eType="#//structure/common/ImplementationDataType" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the implementation data types of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="designDataTypes" upperBound="-1"
eType="#//structure/common/DesignDataType" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the design data types of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="connectorSignals" upperBound="-1"
eType="#//structure/common/ConnectorSignal" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the connector signals of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="operationCalls" upperBound="-1"
eType="#//structure/common/OperationCall" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are operation calls of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="hardwareArchitecture"
eType="#//structure/hardware_architecture/HardwareArchitecture" eOpposite="#//structure/hardware_architecture/HardwareArchitecture/designArchitecture"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ElementarySoftwareFunction" eSuperTypes="#//core/EASTADLEntity #//structure/common/RealizingEntity #//variant_handling/VariantEntity #//verification_validation/ValidatedEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity is used to describe the leaves of the functional hierarchy."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="-1"
eType="#//structure/common/FunctionPort" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the ports of this function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//structure/common/Parameter" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These entities are configuration parameters of this elementary function. Details of internal or external data exchanged by this function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="instances" upperBound="-1"
eType="#//structure/function_instance_model/FunctionInstance" eOpposite="#//structure/function_instance_model/FunctionInstance/instantiatedFunction">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are instances of this function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="triggerType" eType="#//structure/common/TriggerKind">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This attribute defines the triggering policy of this function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="triggerEvent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This attribute describes the interrupt that trigs this function in case of event policy."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="triggerCondition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is a condition that must be evaluated to true in order for this function to execute."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="period" lowerBound="1"
eType="#//requirements/TimingRestriction" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the triggering period in case of periodic triggering policy."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="offset" lowerBound="1"
eType="#//requirements/TimingRestriction" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the offset from the period start time."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="executionTime" lowerBound="1"
eType="#//requirements/TimingRestriction" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the execution time from the start to completion."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="specifationBehavior"
eType="#//behavior/Behavior" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the specification behavior of this function that may be used for verification."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="implementationBehavior"
eType="#//behavior/Behavior" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the implementation behavior of this function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="activePrecedencies"
upperBound="-1" eType="#//structure/functional_design_architecture/Precedence"
containment="true" eOpposite="#//structure/functional_design_architecture/Precedence/predecessor">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are all precedencies (representing successors) of this elementary function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="passivePrecedencies"
upperBound="-1" eType="#//structure/functional_design_architecture/Precedence"
eOpposite="#//structure/functional_design_architecture/Precedence/successor">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are indirect representations of predecessors of this function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="predecessors" upperBound="-1"
eType="#//structure/functional_design_architecture/ElementarySoftwareFunction"
changeable="false" volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is a derived property used to show all predecessors of this function (if any)."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="successors" upperBound="-1"
eType="#//structure/functional_design_architecture/ElementarySoftwareFunction"
changeable="false" volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is a derived property used to show all successors of this function (if any)."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompositeSoftwareFunction" eSuperTypes="#//core/EASTADLEntity #//structure/common/AllocatableEntity #//structure/common/RealizingEntity #//variant_handling/VariantEntity #//verification_validation/ValidatedEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity is used to describe functional hierarchy"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="elementarySoftwareFunctions"
upperBound="-1" eType="#//structure/functional_design_architecture/ElementarySoftwareFunction"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are elementary functions owned by this entity."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="compositeSoftwareFunctions"
upperBound="-1" eType="#//structure/functional_design_architecture/CompositeSoftwareFunction"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are composite functions owned by this entity."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="ports" upperBound="-1"
eType="#//structure/common/FunctionPort" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the ports of tis composite function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//structure/common/Parameter" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These entities are configuration parameters of this elementary function. Details of internal or external data exchanged by this function."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LocalDeviceManager" eSuperTypes="#//structure/functional_design_architecture/ElementarySoftwareFunction">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is a special kind of elementary software function that is the software interface to sensor or actuator. It interacts with hardware abstraction function and contains the functional aspects rather than the computer hardware aspects of interfacing."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Precedence" eSuperTypes="#//core/EASTADLNamedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This association is used to define a precedence relationship between several elementary functions."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="predecessor" lowerBound="1"
eType="#//structure/functional_design_architecture/ElementarySoftwareFunction"
eOpposite="#//structure/functional_design_architecture/ElementarySoftwareFunction/activePrecedencies">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the predecessor of this association."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="successor" eType="#//structure/functional_design_architecture/ElementarySoftwareFunction"
eOpposite="#//structure/functional_design_architecture/ElementarySoftwareFunction/passivePrecedencies">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the successor of this precedence"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
</eSubpackages>
<eSubpackages name="function_instance_model" nsURI="http://www.topcased.org/0.11.0/east_adl/structure/function_instance_model"
nsPrefix="function_instance_model">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This package contains the entities of the FIM artifact (or LA - Logial Architecture). The goal here is to instantiate elementary software functions."/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="FunctionInstanceModel" eSuperTypes="#//core/EASTADLArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity's purpose is to gather design decisions that should not be made in the FDA because the latter is independant of a particular allocation, but which must be made before the actual allocation step."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="designArchitecture"
eType="#//structure/functional_design_architecture/FunctionalDesignArchitecture"
eOpposite="#//structure/functional_design_architecture/FunctionalDesignArchitecture/instanceModel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the FDA instantiated by this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionInstances"
upperBound="-1" eType="#//structure/function_instance_model/FunctionInstance"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the function instances of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="logicalClusters" upperBound="-1"
eType="#//structure/function_instance_model/LogicalCluster" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the logical clusters of tihs model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="signalInstances" upperBound="-1"
eType="#//structure/function_instance_model/SignalInstance" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the signal instances of this model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="allocationModel" eType="#//structure/allocation_model/AllocationModel"
eOpposite="#//structure/allocation_model/AllocationModel/instanceModel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the allocation model to which platform entities are allocated."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FunctionInstance" eSuperTypes="#//core/EASTADLEntity #//structure/function_instance_model/SignalInstanceTarget">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity is the instantiation of an elementary software function."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="triggerType" eType="#//structure/common/TriggerKind">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This attribute defines the triggering policy of this function instance."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="triggerEvent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This attribute describes the interrupt that trigs the function instance in case of an event trigger type."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="period" lowerBound="1"
eType="#//requirements/TimingRestriction" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the trigger period of a function instance. It defines the nominal period for periodic execution and expected interarrival time for event triggered execution."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="offset" lowerBound="1"
eType="#//requirements/TimingRestriction" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the offset from the period start time. It only applies to periodic trigger type."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="executionTime" lowerBound="1"
eType="#//requirements/TimingRestriction" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the execution time of the function instance."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="instantiatedFunction"
eType="#//structure/functional_design_architecture/ElementarySoftwareFunction"
eOpposite="#//structure/functional_design_architecture/ElementarySoftwareFunction/instances">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the function that this entity instantiates."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="definedParameters"
upperBound="-1" eType="#//structure/function_instance_model/ParameterInstance"
containment="true" eOpposite="#//structure/function_instance_model/ParameterInstance/owningFunction">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the values of parameters of instantiated elementary software function."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="referencedParameters"
upperBound="-1" eType="#//structure/function_instance_model/ParameterInstance"
eOpposite="#//structure/function_instance_model/ParameterInstance/referencingFunctions">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are parameters of other function instances referenced here."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LogicalCluster" eSuperTypes="#//core/EASTADLEntity #//structure/function_instance_model/SignalInstanceTarget">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity consists of one or several function instances with a defined execution order. This is a mappable entity that can be allocated to an OS Task in the AM."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="functionInstances"
upperBound="-1" eType="#//structure/function_instance_model/FunctionInstance"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are function instances contained in this cluster."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="passiveDeployments"
upperBound="-1" eType="#//structure/allocation_model/FunctionDeployment"
eOpposite="#//structure/allocation_model/FunctionDeployment/deployed">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These represent the tasks deploying this cluster."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="deployers" upperBound="-1"
eType="#//structure/allocation_model/OSTask" changeable="false" volatile="true"
transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is a derived property used to show all elements deploying this entity (if any).
This property will be shown instead of the corresponding deployment model objects because it is more explicit."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="period" lowerBound="1"
eType="#//requirements/TimingRestriction" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the trigger period of a cluster. It defines the nominal period for periodic execution and expected interarrival time for event triggered execution."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="offset" lowerBound="1"
eType="#//requirements/TimingRestriction" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the offset from the period start time. It only applies to periodic trigger type."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="triggerType" eType="#//structure/common/TriggerKind">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This attribute defines the triggering policy of this 
cluster."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="triggerEvent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This attribute describes the interrupt that trigs the cluster in case of an event trigger type."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ParameterInstance" eSuperTypes="#//core/EASTADLEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity is an instantiation of a function parameter."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="instantiatedParameter"
eType="#//structure/common/Parameter" eOpposite="#//structure/common/Parameter/instances">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the parameter of an elementary software function which this instance parameter instantiates."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="owningFunction" lowerBound="1"
eType="#//structure/function_instance_model/FunctionInstance" eOpposite="#//structure/function_instance_model/FunctionInstance/definedParameters">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the funciton instance for which this parameter is defined."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="referencingFunctions"
upperBound="-1" eType="#//structure/function_instance_model/FunctionInstance"
eOpposite="#//structure/function_instance_model/FunctionInstance/referencedParameters">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are all function instances referencing this parameter."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SignalInstance" eSuperTypes="#//core/EASTADLEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity is used for communication within and between logical clusters. It corresponds to a connector signal of the FDA."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the size in bits of the signal instance."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="destination" lowerBound="1"
eType="#//structure/function_instance_model/SignalInstanceTarget" eOpposite="#//structure/function_instance_model/SignalInstanceTarget/incomingSignals">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the destination of the signal instance."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="instantiatedSignal"
eType="#//structure/common/ConnectorSignal" eOpposite="#//structure/common/ConnectorSignal/instances">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the connector signal which is instantiated by this signal instance."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="passiveDeployments"
upperBound="-1" eType="#//structure/allocation_model/SignalDeployment"
eOpposite="#//structure/allocation_model/SignalDeployment/deployed">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These represent entities deploying this signal instance."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="deployers" upperBound="-1"
eType="#//core/EASTADLEntity" changeable="false" volatile="true" transient="true"
derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is a derived property used to show all elements deploying this entity (if any).
This property will be shown instead of the corresponding deployment model objects because it is more explicit."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="outgoingExchangers"
upperBound="-1" eType="#//structure/platform_model/IPCExchanger" eOpposite="#//structure/platform_model/IPCExchanger/source">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are all outgoing exchangers."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="incomingExchangers"
upperBound="-1" eType="#//structure/platform_model/IPCExchanger" eOpposite="#//structure/platform_model/IPCExchanger/destination">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are all incoming exchangers."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
eType="#//structure/function_instance_model/SignalInstanceTarget" eOpposite="#//structure/function_instance_model/SignalInstanceTarget/outgoingSignals">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the source of the signal instance."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SignalInstanceTarget" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity is used to declare entities that can be linked through signal instances."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="incomingSignals" upperBound="-1"
eType="#//structure/function_instance_model/SignalInstance" eOpposite="#//structure/function_instance_model/SignalInstance/destination"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outgoingSignals" upperBound="-1"
eType="#//structure/function_instance_model/SignalInstance" eOpposite="#//structure/function_instance_model/SignalInstance/source"/>
</eClassifiers>
</eSubpackages>
<eSubpackages name="hardware_architecture" nsURI="http://www.topcased.org/0.11.0/east_adl/structure/hardware_architecture"
nsPrefix="hardware_architecture">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This package contains the entities of the HWA artifact. The goal here is to describe physical entities of the embedded system."/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="HardwareArchitecture" eSuperTypes="#//core/EASTADLArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity contains all entitites of a certain hardware architecture and is used to reference a particular hardware architecture."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="platformModel" eType="#//structure/platform_model/PlatformModel"
eOpposite="#//structure/platform_model/PlatformModel/hardwareArchitecture">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the platform model defined for this hardware architecture."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="hardwareEntities" upperBound="-1"
eType="#//structure/hardware_architecture/HardwareEntity" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are hardware entities of this architecture."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="electricalSignals"
upperBound="-1" eType="#//structure/hardware_architecture/ElectricalSignal"
containment="true" eOpposite="#//structure/hardware_architecture/ElectricalSignal/owningArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are signals used in this hardware model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="wires" upperBound="-1"
eType="#//structure/hardware_architecture/Wire" containment="true" eOpposite="#//structure/hardware_architecture/Wire/owningArtifact">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are all the wires used in this hardware model."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="designArchitecture"
eType="#//structure/functional_design_architecture/FunctionalDesignArchitecture"
eOpposite="#//structure/functional_design_architecture/FunctionalDesignArchitecture/hardwareArchitecture"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="HardwareEntity" abstract="true"
eSuperTypes="#//core/EASTADLEntity #//verification_validation/ValidatedEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity is used do describe functional hardware"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the informal description of the entity."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="technicalSpecification"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ECU" eSuperTypes="#//structure/hardware_architecture/HardwareEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity models the computer nodes of the embedded system."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="processors" upperBound="-1"
eType="#//structure/hardware_architecture/Processor" containment="true"
eOpposite="#//structure/hardware_architecture/Processor/owningECU">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the processors contained within this ECU."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="memory" upperBound="-1"
eType="#//structure/hardware_architecture/Memory" containment="true" eOpposite="#//structure/hardware_architecture/Memory/owningECU">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is all the memory contained within this ECU."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="channels" upperBound="-1"
eType="#//structure/hardware_architecture/Channel" eOpposite="#//structure/hardware_architecture/Channel/connectedECUs">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are channels to which this ECU is connected."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="peripherals" upperBound="-1"
eType="#//structure/hardware_architecture/Peripheral" containment="true"
eOpposite="#//structure/hardware_architecture/Peripheral/owningECU">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the peripherals contained within this ECU."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="pins" upperBound="-1"
eType="#//structure/hardware_architecture/Pin" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are the pins of which the hardware interface of this ECU is composed."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="allocations" upperBound="-1"
eType="#//structure/common/AllocationConstraint" eOpposite="#//structure/common/AllocationConstraint/target">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="These are all allocated entities."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="allocatedEntities"
upperBound="-1" eType="#//structure/common/AllocatableEntity" changeable="false"
volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is a derived property used to show all allocated properties instead of the corresponding constraints."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Processor" eSuperTypes="#//structure/hardware_architecture/HardwareEntity">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This entity represents a computing element. It may be either microprocessors, controllers or programmable logic such as FPGAs or ASICs."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the type of the processor : CPU, MCU etc."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="frequency" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the frequency of the processor."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="frequencyUnit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the unit of the frequency (Mhz, Khz, etc)."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="owningECU" lowerBound="1"
eType="#//structure/hardware_architecture/ECU" eOpposite="#//structure/hardware_architecture/ECU/processors">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the ECU owning this processor."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="usedMemory" upperBound="-1"
eType="#//structure/hardware_architecture/Memory" eOpposite="#//structure/hardware_architecture/Memory/usingProcessors">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">