SCHEMA Generic_Graph; USE FROM basic_types; ENTITY Generic_Node ABSTRACT SUPERTYPE; Id : STRING; END_ENTITY; ENTITY Node_Lists_Package; List_ : Node_Lists; Iterator : Node_Lists_Iterator; END_ENTITY; TYPE Node_Lists = LIST OF Generic_Node; END_TYPE; TYPE Node_Lists_Iterator = Iterator; END_TYPE; ENTITY Generic_Edge ABSTRACT SUPERTYPE; Id : STRING; Node_1 : STRING; Node_2 : STRING; END_ENTITY; ENTITY Edge_Lists_Package; List_ : Edge_Lists; Iterator : Edge_Lists_Iterator; END_ENTITY; TYPE Edge_Lists = LIST OF Generic_Edge; END_TYPE; TYPE Edge_Lists_Iterator = Iterator; END_TYPE; ENTITY Graph; Nodes : Node_Lists; Edges : Edge_Lists; END_ENTITY; END_SCHEMA; SCHEMA DP_Graph; USE FROM Generic_Graph; USE FROM Tasks; USE FROM Buffers; USE FROM Messages; USE FROM Dependencies; USE FROM Resources; USE FROM Processors; ENTITY Task_Node SUBTYPE OF ( Generic_Node ); TaskRef : Generic_Task; Kind : Tasks_Type; (*à virer redondant*) (* Ces deux champs sont dérivés (peuvent être retrouvés par exploration de la tache du taskRef)*) Proc : Generic_Processor; (*à virer redondant*) END_ENTITY; ENTITY Time_Triggered_Communication_Edge SUBTYPE OF ( Generic_Edge ); Timing_Property : Time_Triggered_Communication_Timing_Property_Type; Time_Triggered_Communication_Sink : Task_Node; Time_Triggered_Communication_Source : Task_Node; END_ENTITY; ENTITY Resource_Edge SUBTYPE OF ( Generic_Edge ); Resource_Dependency_Resource : Generic_Resource; END_ENTITY; ENTITY Precedence_Edge SUBTYPE OF ( Generic_Edge ); END_ENTITY; ENTITY Communication_Edge SUBTYPE OF ( Generic_Edge ); Communication_Dependency_Object : Generic_Message; END_ENTITY; ENTITY Buffer_Edge SUBTYPE OF ( Generic_Edge ); Buffer_Dependency_Object : Buffer; END_ENTITY; END_SCHEMA;