Commit 80369cc9 authored by Thanassis Tsiodras's avatar Thanassis Tsiodras

Legacy version (as a backup)

parent 8f192289
<?xml version="1.0" encoding="UTF-8"?>
<Assembly:Assembly xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Assembly="http://www.esa.int/2005/10/Smdl/Assembly" xmlns:Types="http://www.esa.int/2005/10/Core/Types" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="TasteDemo" Name="TasteDemo" Creator="htp" Date="2012-02-02T10:57:57.355Z" Title="TasteDemo" Version="1.0">
<Description>Assembly using Interface Based design</Description>
<Model xlink:title="AssemblyModel" xlink:role="Model" xlink:href="TasteDemo.cat#ID_b65c82e7-e375-4540-bfe9-da79a6db7338"/>
<Implementation>b65c82e7-e375-4540-bfe9-da79a6db7338</Implementation>
<ModelInstance Id="ID_77debaba-d168-4238-a8c5-5fc94f4ea7b3" Name="onlinux_gui">
<Description>The Control and Monitoring model</Description>
<Model xlink:title="OnLinuxGui" xlink:role="Model" xlink:href="TasteDemo.cat#ID_d05bc34e-7d85-4c5d-ada6-83ec120ad7e8"/>
<Implementation>d05bc34e-7d85-4c5d-ada6-83ec120ad7e8</Implementation>
<FieldValue>
<Field xlink:title="result" xlink:href="TasteDemo.cat#ID_8442b86a-cdc0-40b9-a07e-a49c9a5f05ee"/>
<Value xsi:type="Types:SimpleValue">
<Value xsi:type="xsd:double">0.0</Value>
</Value>
</FieldValue>
<Link xsi:type="Assembly:InterfaceLink" Id="ID_a08b4b14-989d-48ac-84b0-266d705cd971" Name="ItfLnkStartFunction">
<Description></Description>
<Reference xlink:title="RefStartFunction" xlink:role="Reference" xlink:href="TasteDemo.cat#ID_ee4dd288-7ef1-421d-bfd1-909557d9f069"/>
<Provider xlink:title="ModelInstance myfunction" xlink:href="#ID_bd4184a0-cd29-47b8-b3df-de4d2f2496a8"/>
</Link>
<Container xlink:title="MdlContainer" xlink:role="Container" xlink:href="TasteDemo.cat#ID_3c6fa9ef-0ff6-4bda-a0bf-50f5848c2376"/>
</ModelInstance>
<ModelInstance Id="ID_bd4184a0-cd29-47b8-b3df-de4d2f2496a8" Name="myfunction">
<Description>The Functional model</Description>
<Model xlink:title="MyFunction" xlink:role="Model" xlink:href="TasteDemo.cat#ID_f62728e0-f91d-45b2-b1ad-3e9d0e899543"/>
<Implementation>f62728e0-f91d-45b2-b1ad-3e9d0e899543</Implementation>
<FieldValue>
<Field xlink:title="result" xlink:href="TasteDemo.cat#ID_721626ee-011e-4e44-b7cc-4a480f311134"/>
<Value xsi:type="Types:SimpleValue">
<Value xsi:type="xsd:double">0.0</Value>
</Value>
</FieldValue>
<Link xsi:type="Assembly:InterfaceLink" Id="ID_9e355f47-6259-4880-be91-ae2794bb66a1" Name="ItfLnkAddValue">
<Description></Description>
<Reference xlink:title="RefAddValue" xlink:role="Reference" xlink:href="TasteDemo.cat#ID_cf909626-70ea-4174-be97-f69dd2bf79ab"/>
<Provider xlink:title="ModelInstance mysimulink" xlink:href="#ID_73438e2f-efff-46c1-9806-5e7016e0e847"/>
</Link>
<Link xsi:type="Assembly:InterfaceLink" Id="ID_7cb7eb7d-1689-45f6-b460-9c3810e5b1ee" Name="ItfLnkResult">
<Description></Description>
<Reference xlink:title="RefResult" xlink:role="Reference" xlink:href="TasteDemo.cat#ID_359b9894-318c-4570-9d0a-84f1ebc51679"/>
<Provider xlink:title="ModelInstance onlinux_gui" xlink:href="#ID_77debaba-d168-4238-a8c5-5fc94f4ea7b3"/>
</Link>
<Container xlink:title="MdlContainer" xlink:role="Container" xlink:href="TasteDemo.cat#ID_3c6fa9ef-0ff6-4bda-a0bf-50f5848c2376"/>
</ModelInstance>
<ModelInstance Id="ID_73438e2f-efff-46c1-9806-5e7016e0e847" Name="mysimulink">
<Description>The Simulink model</Description>
<Model xlink:title="MySimulink" xlink:role="Model" xlink:href="TasteDemo.cat#ID_74b9c7c4-23a5-4274-b4b4-81c2a3c9c209"/>
<Implementation>74b9c7c4-23a5-4274-b4b4-81c2a3c9c209</Implementation>
<FieldValue>
<Field xlink:title="tunable" xlink:href="TasteDemo.cat#ID_b1ab73b7-1adc-46ef-8679-8731883c7d00"/>
<Value xsi:type="Types:SimpleValue">
<Value xsi:type="xsd:double">42.0</Value>
</Value>
</FieldValue>
<FieldValue>
<Field xlink:title="result" xlink:href="TasteDemo.cat#ID_3b0fa88a-b033-4343-a142-f34003cfe740"/>
<Value xsi:type="Types:SimpleValue">
<Value xsi:type="xsd:double">0.0</Value>
</Value>
</FieldValue>
<Container xlink:title="MdlContainer" xlink:role="Container" xlink:href="TasteDemo.cat#ID_3c6fa9ef-0ff6-4bda-a0bf-50f5848c2376"/>
</ModelInstance>
</Assembly:Assembly>
\ No newline at end of file
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<Schedule:Schedule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Schedule="http://www.esa.int/2005/10/Smdl/Schedule" xmlns:xlink="http://www.w3.org/1999/xlink" Id="TasteDemoItfBased" Name="TasteDemoItfBased" Creator="htp" Date="2012-02-02T11:42:19.93Z" Title="TasteDemoItfBased" Version="1.0">
<Description>For the Interface Based design</Description>
<Task Id="ID_23242c9f-9f67-4a7c-b8a5-ba2c898b8fd1" Name="CyclicActivation">
<Description>Task to perform the MyFunction cyclic activation</Description>
<Activity xsi:type="Schedule:Trigger" Id="ID_baea6181-41da-4580-9aa9-6723b264e35e" Name="TriggerCyclicAct">
<Description></Description>
<Provider xlink:title="myfunction" xlink:role="Provider" xlink:href="TasteDemoItfBased.asb#ID_bd4184a0-cd29-47b8-b3df-de4d2f2496a8"/>
<EntryPoint xlink:title="CyclicActivation" xlink:role="Entry_Point" xlink:href="TasteDemo.cat#ID_5958531d-3b95-48be-8206-eb6fbc39e833"/>
</Activity>
</Task>
<Event xsi:type="Schedule:SimulationEvent" Id="ID_8796ed9c-63de-49b8-bb84-c6212363190b" Name="CyclicActivation" SimulationTime="PT0S">
<Description>Event that executes the MyFunction cyclic activation</Description>
<CycleTime>PT1S</CycleTime>
<Task xlink:title="CyclicActivation" xlink:role="Task" xlink:href="#ID_23242c9f-9f67-4a7c-b8a5-ba2c898b8fd1"/>
</Event>
</Schedule:Schedule>
\ No newline at end of file
--------------------------------------------------------
--! File generated by asn2aadl v1.2160: DO NOT EDIT !
--------------------------------------------------------
package DataView
public
with Data_Model;
with Taste;
with Base_Types;
with Deployment;
-- No more private heap required (we use the space certified compiler)
-- Memory_Required: 0
data Stream_Element_Buffer
-- Root type for buffer elements
properties
Data_Model::Data_Representation => Character;
end Stream_Element_Buffer;
DATA MyInteger
PROPERTIES
-- name of the ASN.1 source file:
Source_Text => ("TestDataView.asn");
TASTE::Ada_Package_Name => "TASTE_Dataview";
Deployment::ASN1_Module_Name => "TASTE-Dataview";
Source_Language => ASN1;
-- Size of a buffer to cover all forms of message representation:
-- Real message size is 8; suggested aligned message buffer is...
Source_Data_Size => 8 Bytes;
-- name of the corresponding data type in the source file:
Type_Source_Name => "MyInteger";
-- what kind of type is this?
TASTE::ASN1_Basic_Type =>aINTEGER;
END MyInteger;
DATA MyInteger_Buffer_Max
END MyInteger_Buffer_Max;
DATA IMPLEMENTATION MyInteger_Buffer_Max.impl
-- Buffer to hold a marshalled data of type MyInteger
PROPERTIES
Data_Model::Data_Representation => array;
Data_Model::Dimension => (8); -- Size of the buffer
Data_Model::Base_Type => (classifier (DataView::Stream_Element_Buffer));
END MyInteger_Buffer_Max.impl;
DATA MyInteger_Buffer
END MyInteger_Buffer;
DATA IMPLEMENTATION MyInteger_Buffer.impl
-- Buffer to hold a marshalled data of type MyInteger
SUBCOMPONENTS
Buffer : data MyInteger_Buffer_Max.impl;
Length : data Base_Types::Unsigned_16;
PROPERTIES
Data_Model::Data_Representation => Struct;
END MyInteger_Buffer.impl;
DATA MyReal
PROPERTIES
-- name of the ASN.1 source file:
Source_Text => ("TestDataView.asn");
TASTE::Ada_Package_Name => "TASTE_Dataview";
Deployment::ASN1_Module_Name => "TASTE-Dataview";
Source_Language => ASN1;
-- Size of a buffer to cover all forms of message representation:
-- Real message size is 13; suggested aligned message buffer is...
Source_Data_Size => 16 Bytes;
-- name of the corresponding data type in the source file:
Type_Source_Name => "MyReal";
-- what kind of type is this?
TASTE::ASN1_Basic_Type =>aREAL;
END MyReal;
DATA MyReal_Buffer_Max
END MyReal_Buffer_Max;
DATA IMPLEMENTATION MyReal_Buffer_Max.impl
-- Buffer to hold a marshalled data of type MyReal
PROPERTIES
Data_Model::Data_Representation => array;
Data_Model::Dimension => (16); -- Size of the buffer
Data_Model::Base_Type => (classifier (DataView::Stream_Element_Buffer));
END MyReal_Buffer_Max.impl;
DATA MyReal_Buffer
END MyReal_Buffer;
DATA IMPLEMENTATION MyReal_Buffer.impl
-- Buffer to hold a marshalled data of type MyReal
SUBCOMPONENTS
Buffer : data MyReal_Buffer_Max.impl;
Length : data Base_Types::Unsigned_16;
PROPERTIES
Data_Model::Data_Representation => Struct;
END MyReal_Buffer.impl;
DATA MySeqOf
PROPERTIES
-- name of the ASN.1 source file:
Source_Text => ("TestDataView.asn");
TASTE::Ada_Package_Name => "TASTE_Dataview";
Deployment::ASN1_Module_Name => "TASTE-Dataview";
Source_Language => ASN1;
-- Size of a buffer to cover all forms of message representation:
-- Real message size is 8; suggested aligned message buffer is...
Source_Data_Size => 8 Bytes;
-- name of the corresponding data type in the source file:
Type_Source_Name => "MySeqOf";
-- what kind of type is this?
TASTE::ASN1_Basic_Type =>aSEQUENCEOF;
END MySeqOf;
DATA MySeqOf_Buffer_Max
END MySeqOf_Buffer_Max;
DATA IMPLEMENTATION MySeqOf_Buffer_Max.impl
-- Buffer to hold a marshalled data of type MySeqOf
PROPERTIES
Data_Model::Data_Representation => array;
Data_Model::Dimension => (8); -- Size of the buffer
Data_Model::Base_Type => (classifier (DataView::Stream_Element_Buffer));
END MySeqOf_Buffer_Max.impl;
DATA MySeqOf_Buffer
END MySeqOf_Buffer;
DATA IMPLEMENTATION MySeqOf_Buffer.impl
-- Buffer to hold a marshalled data of type MySeqOf
SUBCOMPONENTS
Buffer : data MySeqOf_Buffer_Max.impl;
Length : data Base_Types::Unsigned_16;
PROPERTIES
Data_Model::Data_Representation => Struct;
END MySeqOf_Buffer.impl;
DATA MySeq
PROPERTIES
-- name of the ASN.1 source file:
Source_Text => ("TestDataView.asn");
TASTE::Ada_Package_Name => "TASTE_Dataview";
Deployment::ASN1_Module_Name => "TASTE-Dataview";
Source_Language => ASN1;
-- Size of a buffer to cover all forms of message representation:
-- Real message size is 12; suggested aligned message buffer is...
Source_Data_Size => 16 Bytes;
-- name of the corresponding data type in the source file:
Type_Source_Name => "MySeq";
-- what kind of type is this?
TASTE::ASN1_Basic_Type =>aSEQUENCE;
END MySeq;
DATA MySeq_Buffer_Max
END MySeq_Buffer_Max;
DATA IMPLEMENTATION MySeq_Buffer_Max.impl
-- Buffer to hold a marshalled data of type MySeq
PROPERTIES
Data_Model::Data_Representation => array;
Data_Model::Dimension => (16); -- Size of the buffer
Data_Model::Base_Type => (classifier (DataView::Stream_Element_Buffer));
END MySeq_Buffer_Max.impl;
DATA MySeq_Buffer
END MySeq_Buffer;
DATA IMPLEMENTATION MySeq_Buffer.impl
-- Buffer to hold a marshalled data of type MySeq
SUBCOMPONENTS
Buffer : data MySeq_Buffer_Max.impl;
Length : data Base_Types::Unsigned_16;
PROPERTIES
Data_Model::Data_Representation => Struct;
END MySeq_Buffer.impl;
DATA MyEnum
PROPERTIES
-- name of the ASN.1 source file:
Source_Text => ("TestDataView.asn");
TASTE::Ada_Package_Name => "TASTE_Dataview";
Deployment::ASN1_Module_Name => "TASTE-Dataview";
Source_Language => ASN1;
-- Size of a buffer to cover all forms of message representation:
-- Real message size is 4; suggested aligned message buffer is...
Source_Data_Size => 8 Bytes;
-- name of the corresponding data type in the source file:
Type_Source_Name => "MyEnum";
-- what kind of type is this?
TASTE::ASN1_Basic_Type =>aENUMERATED;
END MyEnum;
DATA MyEnum_Buffer_Max
END MyEnum_Buffer_Max;
DATA IMPLEMENTATION MyEnum_Buffer_Max.impl
-- Buffer to hold a marshalled data of type MyEnum
PROPERTIES
Data_Model::Data_Representation => array;
Data_Model::Dimension => (8); -- Size of the buffer
Data_Model::Base_Type => (classifier (DataView::Stream_Element_Buffer));
END MyEnum_Buffer_Max.impl;
DATA MyEnum_Buffer
END MyEnum_Buffer;
DATA IMPLEMENTATION MyEnum_Buffer.impl
-- Buffer to hold a marshalled data of type MyEnum
SUBCOMPONENTS
Buffer : data MyEnum_Buffer_Max.impl;
Length : data Base_Types::Unsigned_16;
PROPERTIES
Data_Model::Data_Representation => Struct;
END MyEnum_Buffer.impl;
DATA MyChoice
PROPERTIES
-- name of the ASN.1 source file:
Source_Text => ("TestDataView.asn");
TASTE::Ada_Package_Name => "TASTE_Dataview";
Deployment::ASN1_Module_Name => "TASTE-Dataview";
Source_Language => ASN1;
-- Size of a buffer to cover all forms of message representation:
-- Real message size is 16; suggested aligned message buffer is...
Source_Data_Size => 16 Bytes;
-- name of the corresponding data type in the source file:
Type_Source_Name => "MyChoice";
-- what kind of type is this?
TASTE::ASN1_Basic_Type =>aCHOICE;
END MyChoice;
DATA MyChoice_Buffer_Max
END MyChoice_Buffer_Max;
DATA IMPLEMENTATION MyChoice_Buffer_Max.impl
-- Buffer to hold a marshalled data of type MyChoice
PROPERTIES
Data_Model::Data_Representation => array;
Data_Model::Dimension => (16); -- Size of the buffer
Data_Model::Base_Type => (classifier (DataView::Stream_Element_Buffer));
END MyChoice_Buffer_Max.impl;
DATA MyChoice_Buffer
END MyChoice_Buffer;
DATA IMPLEMENTATION MyChoice_Buffer.impl
-- Buffer to hold a marshalled data of type MyChoice
SUBCOMPONENTS
Buffer : data MyChoice_Buffer_Max.impl;
Length : data Base_Types::Unsigned_16;
PROPERTIES
Data_Model::Data_Representation => Struct;
END MyChoice_Buffer.impl;
DATA MyOctStr
PROPERTIES
-- name of the ASN.1 source file:
Source_Text => ("TestDataView.asn");
TASTE::Ada_Package_Name => "TASTE_Dataview";
Deployment::ASN1_Module_Name => "TASTE-Dataview";
Source_Language => ASN1;
-- Size of a buffer to cover all forms of message representation:
-- Real message size is 3; suggested aligned message buffer is...
Source_Data_Size => 8 Bytes;
-- name of the corresponding data type in the source file:
Type_Source_Name => "MyOctStr";
-- what kind of type is this?
TASTE::ASN1_Basic_Type =>aSTRING;
END MyOctStr;
DATA MyOctStr_Buffer_Max
END MyOctStr_Buffer_Max;
DATA IMPLEMENTATION MyOctStr_Buffer_Max.impl
-- Buffer to hold a marshalled data of type MyOctStr
PROPERTIES
Data_Model::Data_Representation => array;
Data_Model::Dimension => (8); -- Size of the buffer
Data_Model::Base_Type => (classifier (DataView::Stream_Element_Buffer));
END MyOctStr_Buffer_Max.impl;
DATA MyOctStr_Buffer
END MyOctStr_Buffer;
DATA IMPLEMENTATION MyOctStr_Buffer.impl
-- Buffer to hold a marshalled data of type MyOctStr
SUBCOMPONENTS
Buffer : data MyOctStr_Buffer_Max.impl;
Length : data Base_Types::Unsigned_16;
PROPERTIES
Data_Model::Data_Representation => Struct;
END MyOctStr_Buffer.impl;
end DataView;
TASTE-Dataview DEFINITIONS ::=
BEGIN
-- A few simple types to start with ASN.1
MyInteger ::= INTEGER (0..255)
MyReal ::= REAL (0.0 .. 1000.0)
MyEnum ::= ENUMERATED { hello, world, howareyou }
MySeq ::= SEQUENCE {
a MyInteger,
b ENUMERATED { taste(1), welcomes(2), you(3) }
}
MyChoice ::= CHOICE {
a BOOLEAN,
b MySeq
}
MySeqOf ::= SEQUENCE (SIZE (2)) OF MyEnum
MyOctStr ::= OCTET STRING (SIZE (3))
-- You can also declare variables (they will be visible in C, Ada and RTDS)
myVar MySeqOf ::= { hello, world }
-- myVar2 MyChoice ::= a:TRUE
END
---------------------------------------------------
-- AADL2.0
-- TASTE
-- (c)Ellidiss Technologies
--
---------------------------------------------------
PACKAGE test::FV::mySimulink
PUBLIC
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM add_value
FEATURES
inp : IN PARAMETER DataView::MyReal {
Taste::encoding => NATIVE;
};
outp : OUT PARAMETER DataView::MyReal {
Taste::encoding => NATIVE;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END add_value;
SUBPROGRAM IMPLEMENTATION add_value.others
END add_value.others;
END test::FV::mySimulink;
PACKAGE test::FV::myFunction
PUBLIC
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM run
FEATURES
initial_value : IN PARAMETER MyReal {
Taste::encoding => UPER;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END run;
SUBPROGRAM IMPLEMENTATION run.others
END run.others;
SUBPROGRAM cyclic_activation
PROPERTIES
Taste::Associated_Queue_Size => 1;
END cyclic_activation;
SUBPROGRAM IMPLEMENTATION cyclic_activation.others
END cyclic_activation.others;
SUBPROGRAM obj644
FEATURES
inp : IN PARAMETER DataView::MyReal {
Taste::encoding => NATIVE;
};
outp : OUT PARAMETER DataView::MyReal {
Taste::encoding => NATIVE;
};
END obj644;
SUBPROGRAM IMPLEMENTATION obj644.others
END obj644.others;
SUBPROGRAM obj1273
FEATURES
result_value : IN PARAMETER DataView::MyReal {
Taste::encoding => UPER;
};
END obj1273;
SUBPROGRAM IMPLEMENTATION obj1273.others
END obj1273.others;
END test::FV::myFunction;
PACKAGE test::FV::onLinux
PUBLIC
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM result
FEATURES
result_value : IN PARAMETER DataView::MyReal {
Taste::encoding => UPER;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END result;
SUBPROGRAM IMPLEMENTATION result.others
END result.others;
SUBPROGRAM obj1023
FEATURES
initial_value : IN PARAMETER MyReal {
Taste::encoding => UPER;
};
END obj1023;
SUBPROGRAM IMPLEMENTATION obj1023.others
END obj1023.others;
END test::FV::onLinux;
PACKAGE test::IV
PUBLIC
WITH test::FV::mySimulink;
WITH test::FV::myFunction;
WITH test::FV::onLinux;
WITH test::FV;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SYSTEM mySimulink
FEATURES
add_value : PROVIDES SUBPROGRAM ACCESS test::FV::mySimulink::add_value.others {
Taste::coordinates => "1797 267";
Taste::RCMoperationKind => unprotected;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
};
PROPERTIES
Source_Language => (C);
END mySimulink;
SYSTEM IMPLEMENTATION mySimulink.others
SUBCOMPONENTS
tunable : DATA DataView::MyInteger {
Taste::FS_Default_Value => 42;
};
add_value_impl : SUBPROGRAM test::FV::mySimulink::add_value.others {
Compute_Execution_Time => 0 ms .. 0 ms;
};
CONNECTIONS
OpToPICnx_add_value_impl : SUBPROGRAM ACCESS add_value_impl -> add_value;
END mySimulink.others;
SYSTEM myFunction
FEATURES
run : PROVIDES SUBPROGRAM ACCESS test::FV::myFunction::run.others {
Taste::coordinates => "1170 637";
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
};
cyclic_activation : PROVIDES SUBPROGRAM ACCESS test::FV::myFunction::cyclic_activation.others {
Taste::coordinates => "1106 194";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
};
obj644 : REQUIRES SUBPROGRAM ACCESS test::FV::mySimulink::add_value.others {
Taste::coordinates => "1376 267";
Taste::RCMoperationKind => any;
};