Commit 56abf372 authored by Thanassis Tsiodras's avatar Thanassis Tsiodras
Browse files

Revert "Merge branch 'spacecreator' into 'master'"

This reverts merge request !22
parent d9a0a308
Pipeline #4185 canceled with stage
in 47 seconds
<Attrs>
<Attr label="Name" name="name">
<Attr name="name">
<Type>
<String defaultValue="AAAA" validator="[a-zA-Z0-9_]+"/>
</Type>
<Scopes/>
</Attr>
<Attr label="Implementation language" name="language">
<Attr name="language">
<Scopes>
<Function/>
</Scopes>
......@@ -22,7 +22,7 @@
</Enumeration>
</Type>
</Attr>
<Attr label="Function Type" name="is_type">
<Attr name="is_type">
<Type>
<Enumeration>
<Entry value="YES"/>
......@@ -33,7 +33,7 @@
<Function/>
</Scopes>
</Attr>
<Attr label="Instance of" name="instance_of">
<Attr name="instance_of">
<Type>
<String validator="[a-zA-Z0-9_]+"/>
</Type>
......@@ -43,7 +43,7 @@
</Function>
</Scopes>
</Attr>
<Attr label="Kind" name="kind">
<Attr name="kind">
<Scopes>
<Required_Interface/>
<Provided_Interface/>
......@@ -57,46 +57,42 @@
</Enumeration>
</Type>
</Attr>
<Attr label="Period (in ms)" name="period">
<Attr name="period">
<Type>
<String validator="\d+"/>
<String validator="\\d+"/>
</Type>
<Scopes>
<Required_Interface>
<AttrValidator name="kind" value="Cyclic"/>
</Required_Interface>
<Provided_Interface>
<AttrValidator name="kind" value="Cyclic"/>
</Provided_Interface>
</Scopes>
</Attr>
<Attr label="Minimal inter-arrival time (in ms)" name="miat">
<Attr name="wcet">
<Type>
<String validator="\d+"/>
<String validator="\\d+"/>
</Type>
<Scopes>
<Required_Interface>
<AttrValidator name="kind" value="Cyclic"/>
</Required_Interface>
<Provided_Interface>
<AttrValidator name="kind" value="Sporadic"/>
</Provided_Interface>
</Scopes>
</Attr>
<Attr label="Worse case execution time (in ms)" name="wcet">
<Type>
<String validator="\d+"/>
</Type>
<Scopes>
<Provided_Interface>
<AttrValidator name="kind" value="Cyclic"/>
<AttrValidator name="kind" value="Sporadic"/>
<AttrValidator name="kind" value="Protected"/>
<AttrValidator name="kind" value="Unprotected"/>
</Provided_Interface>
</Scopes>
</Attr>
<Attr label="Message queue size" name="queue_size">
<Attr name="queue_size">
<Type>
<String validator="\d+"/>
<String validator="\\d+"/>
</Type>
<Scopes>
<Required_Interface>
<AttrValidator name="kind" value="Cyclic"/>
</Required_Interface>
<Provided_Interface>
<AttrValidator name="kind" value="Sporadic"/>
<AttrValidator name="kind" value="Cyclic"/>
</Provided_Interface>
</Scopes>
</Attr>
......
......@@ -6,7 +6,7 @@
"color_type": 0,
"fill_type": 1,
"group": "IVE",
"pen_color": "#ff999999",
"pen_color": "#ff000000",
"pen_width": 1
},
{
......@@ -33,7 +33,7 @@
"color_type": 3,
"fill_type": 1,
"group": "IVE",
"pen_color": "#ff999999",
"pen_color": "#ff000000",
"pen_width": 1
},
{
......@@ -60,7 +60,7 @@
"color_type": 6,
"fill_type": 0,
"group": "IVE",
"pen_color": "#ff595050",
"pen_color": "#ff00007f",
"pen_width": 2
},
{
......
{% comment %}
Template for generation of XML scheme of function.
The following tags are available in this sub-template:
func : Instance of function (provided by a top level template)
func.name : |_ Function name
func.attributes : |_ List of all attributes of function
attr : |_ Instance of attriubute
attr.name : |_ Name of attribute
attr.value : |_ Value of attribute
func.properties : |_ List of all properties of function
prop : |_ Instance of property
prop.name : |_ Name of property
prop.value : |_ Value of property
func.contextParameters : |_ List of all context parameters of function
param : |_ Instance of context parameter
param.name : |_ Name of context parameter
param.type : |_ Type name context parameter (from ASN.1 for example)
param.defaultValue : |_ Value of context parameter
func.interfaces : |_ List of all interfaces of function
iface : |_ Instance of interface
func.functions : |_ List of all nested functions of function
func : |_ Instance of nested function
func.comments : |_ List of all nested comments of function
comm : |_ Instance of nested comment
func.connections : |_ List of all nested connections of function
conn : |_ Instance of nested connections
func.connectedFunctions : |_ List of connected functions
connectedFunc : |_ List of parent Functions names
func : Instance of function (provided by a top level template)
func.attributes : |_ List of all attributes of function
attr : |_ Instance of attriubute
attr.name : |_ Name of attribute
attr.value : |_ Value of attribute
func.properties : |_ List of all properties of function
prop : |_ Instance of property
prop.name : |_ Name of property
prop.value : |_ Value of property
func.interfaces : |_ List of all interfaces of function
iface : |_ Instance of interface
func.functions : |_ List of all nested functions of function
func : |_ Instance of nested function
func.comments : |_ List of all nested comments of function
comm : |_ Instance of nested comment
func.connections: |_ List of all nested connections of function
conn : |_ Instance of nested connections
{% endcomment %}
{% for func in func.functions %}
......@@ -51,26 +43,11 @@ SYSTEM {{ func.name }}
FEATURES
{% endif %}
{% for iface in func.interfaces %}
{% for endpoint in iface.connectedInterfaces %}
{% if iface.isProvided %}
PI_{{ iface.name }} : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::{{ func.name }}::PI_{{ iface.name }}.others {
PI_{{ iface.name }} : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::{% for item in endpoint %} {% if not forloop.last %}{{ item }}::{% endif %}{% endfor %}PI_{{ endpoint|last }}.others {
{% else %}
{% for endpoint in iface.connectedInterfaces %}
{% comment %}
The following works only because there is no multicast, otherwise it would repeat the same RI name multiple times
In case of multiple RI->one PI connection there should be a different name for the RI here
{% endcomment %}
{% comment %}
for the RI there are two possible names, either PI_.. if it is a connected RI, or RI_ if it is a function type
we have to iterate over the function attributes to determine it..
{% endcomment %}
{% for attr in func.attributes %}
{% if attr.name == "is_type" and attr.value == "YES" %}
RI_{{ iface.name }} : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::{% for item in endpoint %} {% if not forloop.last %}{{ item }}::{% endif %}{% endfor %}RI_{{ endpoint|last }}.others {
{% elif attr.name == "is_type" and attr.value == "NO" %}
RI_{{ iface.name }} : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::{% for item in endpoint %} {% if not forloop.last %}{{ item }}::{% endif %}{% endfor %}PI_{{ endpoint|last }}.others {
{% endif %}
{% endfor %}
{% endfor %}
{% endif %}
{% for ifprop in iface.properties %}
{% if ifprop.name == "Taste::InheritPI" %}
......@@ -81,8 +58,6 @@ FEATURES
-- Ignored InnerCoordinates (unknown TASTE property)
{% elif ifprop.name == "Taste::RootCoordinates" %}
-- Ignored RootCoordinates (unknown TASTE property)
{% elif ifprop.name == "Taste::coordinates" %}
-- Ignored coordinates (incompatible with Ellidiss GUI)
{% else %}
{{ ifprop.name }} => "{{ ifprop.value }}";
{% endif %}
......@@ -104,16 +79,13 @@ FEATURES
{% endfor %}
};
{% endfor %}
{% endfor %}
PROPERTIES
{% for attr in func.attributes %}
{% if attr.name == "language" %}
Source_Language => ({{ attr.value }});
{% elif attr.name == "is_type" %}
TASTE::Is_Component_Type => {% if attr.value == "YES" %}true{% else %}false{% endif %};
{% elif attr.name == "instance_of" and attr.value != "" %}
TASTE_IV_Properties::is_instance_of => "{{ attr.value }}";
{% else %}
-- unsupported property found: name: "{{ attr.name }}" value: "{{ attr.value }}"
{% endif %}
{% endfor %}
END {{ func.name }};
......
{% comment %}
{% comment %}
The following tags are available in this sub-template:
iface : Instance of interface (provided by a top level template)
iface.name : |_ Interface name
iface.isProvided : |_ Whether interface is provided
iface.isRequired : |_ Whether interface is required
iface.connectedInterfaces : |_ List of endpoint interfaces linked to current one
iface.attributes : |_ List of all available attributes
attr : |_ Instance of attriubute
attr.name : |_ Name of attribute
attr.value : |_ Value of attribute
iface.params : |_ List of params of interface
param : |_ Instance of param
param.isIn : |_ Whether param is IN
param.isOut : |_ Whether param is OUT
param.name : |_ Name of param
param.underscoredName : |_ Name of param with " " replaced by "_" (spaces repladed with underscore)
param.type : |_ Type of param
param.underscoredType : |_ Type of param with "-" replaced by "_" (dashes repladed with underscore)
param.encoding : |_ Encoding of param
iface.properties : |_ List of all available properties
prop : |_ Instance of property
prop.name : |_ Name of property
prop.value : |_ Value of property
iface : Instance of interface (provided by a top level template)
iface.isProvided : |_ Whether interface is provided
iface.isRequired : |_ Whether interface is required
iface.attributes : |_ List of all available attributes
attr : |_ Instance of attriubute
attr.name : |_ Name of attribute
attr.value : |_ Value of attribute
iface.params : |_ List of params of interface
param : |_ Instance of param
param.isIn : |_ Whether param is IN
param.isOut : |_ Whether param is OUT
param.name : |_ Name of param
param.type : |_ Type of param
param.encoding : |_ Encoding of param
iface.properties : |_ List of all available properties
prop : |_ Instance of property
prop.name : |_ Name of property
prop.value : |_ Value of property
{% endcomment %}
{% for allattr in iface.attributes %}
{% if allattr.name == "name" %}
......
......@@ -10,12 +10,6 @@ conngroups : |_ Instance of connection
Comments : List of all available NON-nested comments (provided by application)
comm : |_ Instance of comment
{% endcomment %}
---------------------------------------------------
-- AADL2.2
-- TASTE type interfaceview
--
-- generated code: do not edit
---------------------------------------------------
{% for func in Functions %}
{% include "function.tmplt" %}
{% endfor %}
......@@ -41,7 +35,13 @@ SUBCOMPONENTS
{% for func in Functions %}
{% for attr in func.attributes %}
{% if attr.name == "name" %}
{{ attr.value }} : SYSTEM interfaceview::IV::{{ attr.value }}::{{ attr.value }}.others;
{{ attr.value }} : SYSTEM interfaceview::IV::{{ attr.value }}::{{ attr.value }}.others {
{% for prop in func.properties %}
{% if prop.name != "Taste::RootCoordinates" and prop.name != "Taste.InnerCoordinates" %}
{{ prop.name }} => "{{ prop.value }}";
{% endif %}
{% endfor %}
};
{% endif %}
{% endfor %}
{% endfor %}
......
......@@ -66,7 +66,9 @@ END deploymentview;
SYSTEM IMPLEMENTATION deploymentview.others
SUBCOMPONENTS
Node_Linux : SYSTEM Node_Linux.others;
Node_Linux : SYSTEM Node_Linux.others {
Taste::coordinates => "114754 39152 169951 82490";
};
interfaceview : SYSTEM interfaceview::IV::interfaceview.others;
END deploymentview.others;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment