Commit 7e5c5f96 authored by yoogx's avatar yoogx

Merge branch 'master' of https://github.com/OpenAADL/polyorb-hi-c

parents 59965273 b2838051
......@@ -2,10 +2,11 @@ Current maintainer is
- Jerome Hugues
Contributors
- Raphael Defoin (2018)
- Antonia Francis (2018)
- Hariprasath Shanmugasundaram (2017)
The initial design team of PolyORB-HI/C was
- Julien Delange (up to 2016)
- Julien Delange (initial author, up to 2016)
- Jerome Hugues
- Laurent Pautet (up to 2009)
......@@ -221,9 +221,11 @@ AC_OUTPUT([
examples/aadlv2/file-store/Makefile
examples/aadlv2/latency/Makefile
examples/aadlv2/rma/Makefile
examples/aadlv2/rpc/Makefile
examples/aadlv2/some-types/Makefile
examples/aadlv2/some-types-stdint/Makefile
examples/aadlv2/sunseeker/Makefile
examples/aadlv2/torture_gqueue/Makefile
tools/Makefile
tools/check-symbols/Makefile
tools/check-symbols/examples/Makefile
......
SUBDIRS = d3.1.3-1 ping rma sunseeker producer-consumer some-types \
some-types-stdint flight-mgmt import monitor lua cpp \
packet-store file-store latency code_coverage
packet-store file-store latency code_coverage torture_gqueue \
rpc
SAMPLE_DIR = ${shell $(CYGPATH_U) '$(OCARINA_PREFIX)/examples/ocarina/polyorb-hi-c/aadlv2'}
......
#!/bin/sh
for i in "$@"
do
case $i in
--output-dir-name=*)
OUTPUT_DIR="${i#*=}" #ONLY NAME OF DIR
shift # past argument=value
;;
*)
# unknown option
;;
esac
done
if [ -z "$OUTPUT_DIR" ]; then
OUTPUT_DIR=./gcov_output
else
OUTPUT_DIR=./$OUTPUT_DIR
fi
if (! test -d $OUTPUT_DIR )
then
echo "Missing path: $OUTPUT_DIR. Creating directory..."
mkdir $OUTPUT_DIR
fi
lcov -c -i -d . -o .coverage.base
lcov -c -d . -o .coverage.run
lcov -d . -a .coverage.base -a .coverage.run -o .coverage.total
genhtml --no-branch-coverage -o $OUTPUT_DIR .coverage.total
rm -f .coverage.base .coverage.run .coverage.total
......@@ -3,133 +3,758 @@ public
with Data_Model;
with Base_Types;
----------
-- Data --
----------
data Boolean_Type extends Base_Types::Boolean
end Boolean_Type;
data Integer_Type extends Base_Types::Integer
end Integer_Type;
-----------------
-- Subprograms --
-----------------
subprogram Emit_Boolean
features
Data_Source : out parameter Boolean_Type;
properties
source_language => C;
source_name => "user_emit_boolean";
source_text => ("some-types-stdint.c");
end Emit_Boolean;
subprogram Receive_Boolean
features
Data_Sink : in parameter Boolean_Type;
properties
source_language => C;
source_name => "user_receive_boolean";
source_text => ("some-types-stdint.c");
end Receive_Boolean;
subprogram Emit_Integer
features
Data_Source : out parameter Integer_Type;
properties
source_language => C;
source_name => "user_emit_integer";
source_text => ("some-types-stdint.c");
end Emit_Integer;
subprogram Receive_Integer
features
Data_Sink : in parameter Integer_Type;
properties
source_language => C;
source_name => "user_receive_integer";
source_text => ("some-types-stdint.c");
end Receive_Integer;
--------------------------
-- Wrappers Subprograms --
--------------------------
subprogram Emitter_Wrapper
features
Boolean_Source : out parameter Boolean_Type;
Integer_Source : out parameter Integer_Type;
end Emitter_Wrapper;
subprogram implementation Emitter_Wrapper.Impl
calls
Mycalls: {
B_Spg : subprogram Emit_Boolean;
I_Spg : subprogram Emit_Integer;
};
connections
parameter B_Spg.Data_Source -> Boolean_Source;
parameter I_Spg.Data_Source -> Integer_Source;
end Emitter_Wrapper.Impl;
-------------
-- Threads --
-------------
thread Emitter
features
Boolean_Source : out event data port Boolean_Type;
Integer_Source : out event data port Integer_Type;
end Emitter;
thread implementation Emitter.Impl
calls
Mycalls: {
Emitter_Wrapper : subprogram Emitter_Wrapper.Impl;
};
connections
parameter Emitter_Wrapper.Boolean_Source -> Boolean_Source;
parameter Emitter_Wrapper.Integer_Source -> Integer_Source;
properties
Dispatch_Protocol => Periodic;
Period => 1000 Ms;
end Emitter.Impl;
thread Boolean_Receiver
features
Data_Sink : in event data port Boolean_Type;
end Boolean_Receiver;
thread implementation Boolean_Receiver.Impl
calls
Mycalls: {
B_Spg : subprogram Receive_Boolean;
};
connections
parameter Data_Sink -> B_Spg.Data_Sink;
properties
Dispatch_Protocol => Sporadic;
Period => 10 Ms;
end Boolean_Receiver.Impl;
thread Integer_Receiver
features
Data_Sink : in event data port Integer_Type;
end Integer_Receiver;
thread implementation Integer_Receiver.Impl
calls
Mycalls: {
I_Spg : subprogram Receive_Integer;
};
connections
parameter Data_Sink -> I_Spg.Data_Sink;
properties
Dispatch_Protocol => Sporadic;
Period => 10 Ms;
end Integer_Receiver.Impl;
----------
-- Data --
----------
data Boolean_Type extends Base_Types::Boolean
end Boolean_Type;
data Integer_Type extends Base_Types::Integer
end Integer_Type;
data Natural_Type extends Base_Types::Natural
end Natural_Type;
data Array_Type
properties
Data_Model::Data_Representation => Array;
Data_Model::Base_Type => (classifier (Base_Types::Integer));
Data_Model::Dimension => (42);
end Array_Type;
data Integer_8_Type extends Base_Types::Integer_8
end Integer_8_Type;
data Integer_16_Type extends Base_Types::Integer_16
end Integer_16_Type;
data Integer_32_Type extends Base_Types::Integer_32
end Integer_32_Type;
data Integer_64_Type extends Base_Types::Integer_64
end Integer_64_Type;
data Unsigned_8_Type extends Base_Types::Unsigned_8
end Unsigned_8_Type;
data Unsigned_16_Type extends Base_Types::Unsigned_16
end Unsigned_16_Type;
data Unsigned_32_Type extends Base_Types::Unsigned_32
end Unsigned_32_Type;
data Unsigned_64_Type extends Base_Types::Unsigned_64
end Unsigned_64_Type;
data Float_Type extends Base_Types::Float
end Float_Type;
data Float_32_Type extends Base_Types::Float_32
end Float_32_Type;
data Float_64_Type extends Base_Types::Float_64
end Float_64_Type;
data Character_Type extends Base_Types::Character
end Character_Type;
-----------------
-- Subprograms --
-----------------
subprogram Emit_Boolean
features
Data_Source : out parameter Boolean_Type;
properties
source_language => (C);
source_name => "user_emit_boolean";
source_text => ("some-types-stdint.c");
end Emit_Boolean;
subprogram Receive_Boolean
features
Data_Sink : in parameter Boolean_Type;
properties
source_language => (C);
source_name => "user_receive_boolean";
source_text => ("some-types-stdint.c");
end Receive_Boolean;
subprogram Emit_Integer
features
Data_Source : out parameter Integer_Type;
properties
source_language => (C);
source_name => "user_emit_integer";
source_text => ("some-types-stdint.c");
end Emit_Integer;
subprogram Receive_Integer
features
Data_Sink : in parameter Integer_Type;
properties
source_language => (C);
source_name => "user_receive_integer";
source_text => ("some-types-stdint.c");
end Receive_Integer;
subprogram Emit_Natural
features
Data_Source : out parameter Natural_Type;
properties
source_language => (C);
source_name => "user_emit_natural";
source_text => ("some-types-stdint.c");
end Emit_Natural;
subprogram Receive_Natural
features
Data_Sink : in parameter Natural_Type;
properties
source_language => (C);
source_name => "user_receive_natural";
source_text => ("some-types-stdint.c");
end Receive_Natural;
subprogram Emit_Array
features
Data_Source : out parameter Array_Type;
properties
source_language => (C);
source_name => "user_emit_array";
source_text => ("some-types-stdint.c");
end Emit_Array;
subprogram Receive_Array
features
Data_Sink : in parameter Array_Type;
properties
source_language => (C);
source_name => "user_receive_array";
source_text => ("some-types-stdint.c");
end Receive_Array;
subprogram Emit_Integer_8
features
Data_Source : out parameter Integer_8_Type;
properties
source_language => (C);
source_name => "user_emit_int8";
source_text => ("some-types-stdint.c");
end Emit_Integer_8;
subprogram Receive_Integer_8
features
Data_Sink : in parameter Integer_8_Type;
properties
source_language => (C);
source_name => "user_receive_int8";
source_text => ("some-types-stdint.c");
end Receive_Integer_8;
subprogram Emit_Integer_16
features
Data_Source : out parameter Integer_16_Type;
properties
source_language => (C);
source_name => "user_emit_int16";
source_text => ("some-types-stdint.c");
end Emit_Integer_16;
subprogram Receive_Integer_16
features
Data_Sink : in parameter Integer_16_Type;
properties
source_language => (C);
source_name => "user_receive_int16";
source_text => ("some-types-stdint.c");
end Receive_Integer_16;
subprogram Emit_Integer_32
features
Data_Source : out parameter Integer_32_Type;
properties
source_language => (C);
source_name => "user_emit_int32";
source_text => ("some-types-stdint.c");
end Emit_Integer_32;
subprogram Receive_Integer_32
features
Data_Sink : in parameter Integer_32_Type;
properties
source_language => (C);
source_name => "user_receive_int32";
source_text => ("some-types-stdint.c");
end Receive_Integer_32;
subprogram Emit_Integer_64
features
Data_Source : out parameter Integer_64_Type;
properties
source_language => (C);
source_name => "user_emit_int64";
source_text => ("some-types-stdint.c");
end Emit_Integer_64;
subprogram Receive_Integer_64
features
Data_Sink : in parameter Integer_64_Type;
properties
source_language => (C);
source_name => "user_receive_int64";
source_text => ("some-types-stdint.c");
end Receive_Integer_64;
subprogram Emit_Unsigned_8
features
Data_Source : out parameter Unsigned_8_Type;
properties
source_language => (C);
source_name => "user_emit_uint8";
source_text => ("some-types-stdint.c");
end Emit_Unsigned_8;
subprogram Receive_Unsigned_8
features
Data_Sink : in parameter Unsigned_8_Type;
properties
source_language => (C);
source_name => "user_receive_uint8";
source_text => ("some-types-stdint.c");
end Receive_Unsigned_8;
subprogram Emit_Unsigned_16
features
Data_Source : out parameter Unsigned_16_Type;
properties
source_language => (C);
source_name => "user_emit_uint16";
source_text => ("some-types-stdint.c");
end Emit_Unsigned_16;
subprogram Receive_Unsigned_16
features
Data_Sink : in parameter Unsigned_16_Type;
properties
source_language => (C);
source_name => "user_receive_uint16";
source_text => ("some-types-stdint.c");
end Receive_Unsigned_16;
subprogram Emit_Unsigned_32
features
Data_Source : out parameter Unsigned_32_Type;
properties
source_language => (C);
source_name => "user_emit_uint32";
source_text => ("some-types-stdint.c");
end Emit_Unsigned_32;
subprogram Receive_Unsigned_32
features
Data_Sink : in parameter Unsigned_32_Type;
properties
source_language => (C);
source_name => "user_receive_uint32";
source_text => ("some-types-stdint.c");
end Receive_Unsigned_32;
subprogram Emit_Unsigned_64
features
Data_Source : out parameter Unsigned_64_Type;
properties
source_language => (C);
source_name => "user_emit_uint64";
source_text => ("some-types-stdint.c");
end Emit_Unsigned_64;
subprogram Receive_Unsigned_64
features
Data_Sink : in parameter Unsigned_64_Type;
properties
source_language => (C);
source_name => "user_receive_uint64";
source_text => ("some-types-stdint.c");
end Receive_Unsigned_64;
subprogram Emit_Float
features
Data_Source : out parameter Float_Type;
properties
source_language => (C);
source_name => "user_emit_float0";
source_text => ("some-types-stdint.c");
end Emit_Float;
subprogram Receive_Float
features
Data_Sink : in parameter Float_Type;
properties
source_language => (C);
source_name => "user_receive_float0";
source_text => ("some-types-stdint.c");
end Receive_Float;
subprogram Emit_Float_32
features
Data_Source : out parameter Float_32_Type;
properties
source_language => (C);
source_name => "user_emit_float32";
source_text => ("some-types-stdint.c");
end Emit_Float_32;
subprogram Receive_Float_32
features
Data_Sink : in parameter Float_32_Type;
properties
source_language => (C);
source_name => "user_receive_float32";
source_text => ("some-types-stdint.c");
end Receive_Float_32;
subprogram Emit_Float_64
features
Data_Source : out parameter Float_64_Type;
properties
source_language => (C);
source_name => "user_emit_float64";
source_text => ("some-types-stdint.c");
end Emit_Float_64;
subprogram Receive_Float_64
features
Data_Sink : in parameter Float_64_Type;
properties
source_language => (C);
source_name => "user_receive_float64";
source_text => ("some-types-stdint.c");
end Receive_Float_64;
subprogram Emit_Character
features
Data_Source : out parameter Character_Type;
properties
source_language => (C);
source_name => "user_emit_char";
source_text => ("some-types-stdint.c");
end Emit_Character;
subprogram Receive_Character
features
Data_Sink : in parameter Character_Type;
properties
source_language => (C);
source_name => "user_receive_char";
source_text => ("some-types-stdint.c");
end Receive_Character;
--------------------------
-- Wrappers Subprograms --
--------------------------
subprogram Emitter_Wrapper
features
Boolean_Source : out parameter Boolean_Type;
Integer_Source : out parameter Integer_Type;
Natural_Source : out parameter Natural_Type;
Array_Source : out parameter Array_Type;
Integer_8_Source : out parameter Integer_8_Type;
Integer_16_Source : out parameter Integer_16_Type;
Integer_32_Source : out parameter Integer_32_Type;
Integer_64_Source : out parameter Integer_64_Type;
Unsigned_8_Source : out parameter Unsigned_8_Type;
Unsigned_16_Source : out parameter Unsigned_16_Type;
Unsigned_32_Source : out parameter Unsigned_32_Type;
Unsigned_64_Source : out parameter Unsigned_64_Type;
Float_Source : out parameter Float_Type;
Float_32_Source : out parameter Float_32_Type;
Float_64_Source : out parameter Float_64_Type;
Character_Source : out parameter Character_Type;
end Emitter_Wrapper;
subprogram implementation Emitter_Wrapper.Impl
calls
Mycalls: {
B_Spg : subprogram Emit_Boolean;
I_Spg : subprogram Emit_Integer;
N_Spg : subprogram Emit_Natural;
A_Spg : subprogram Emit_Array;
I_8_Spg : subprogram Emit_Integer_8;
I_16_Spg : subprogram Emit_Integer_16;
I_32_Spg : subprogram Emit_Integer_32;
I_64_Spg : subprogram Emit_Integer_64;
U_8_Spg : subprogram Emit_Unsigned_8;
U_16_Spg : subprogram Emit_Unsigned_16;
U_32_Spg : subprogram Emit_Unsigned_32;
U_64_Spg : subprogram Emit_Unsigned_64;
F_Spg : subprogram Emit_Float;
F_32_Spg : subprogram Emit_Float_32;
F_64_Spg : subprogram Emit_Float_64;
C_Spg : subprogram Emit_Character;
};
connections
parameter B_Spg.Data_Source -> Boolean_Source;
parameter I_Spg.Data_Source -> Integer_Source;
parameter N_Spg.Data_Source -> Natural_Source;
parameter A_Spg.Data_Source -> Array_Source;
parameter I_8_Spg.Data_Source -> Integer_8_Source;
parameter I_16_Spg.Data_Source -> Integer_16_Source;
parameter I_32_Spg.Data_Source -> Integer_32_Source;
parameter I_64_Spg.Data_Source -> Integer_64_Source;
parameter U_8_Spg.Data_Source -> Unsigned_8_Source;
parameter U_16_Spg.Data_Source -> Unsigned_16_Source;
parameter U_32_Spg.Data_Source -> Unsigned_32_Source;
parameter U_64_Spg.Data_Source -> Unsigned_64_Source;
parameter F_Spg.Data_Source -> Float_Source;
parameter F_32_Spg.Data_Source -> Float_32_Source;
parameter F_64_Spg.Data_Source -> Float_64_Source;
parameter C_Spg.Data_Source -> Character_Source;
end Emitter_Wrapper.Impl;
-------------
-- Threads --
-------------
thread Emitter
features
Boolean_Source : out event data port Boolean_Type;
Integer_Source : out event data port Integer_Type;
Natural_Source : out event data port Natural_Type;
Array_Source : out event data port Array_Type;
Integer_8_Source : out event data port Integer_8_Type;
Integer_16_Source : out event data port Integer_16_Type;
Integer_32_Source : out event data port Integer_32_Type;
Integer_64_Source : out event data port Integer_64_Type;
Unsigned_8_Source : out event data port Unsigned_8_Type;
Unsigned_16_Source : out event data port Unsigned_16_Type;
Unsigned_32_Source : out event data port Unsigned_32_Type;
Unsigned_64_Source : out event data port Unsigned_64_Type;
Float_Source : out event data port Float_Type;
Float_32_Source : out event data port Float_32_Type;
Float_64_Source : out event data port Float_64_Type;
Character_Source : out event data port Character_Type;
end Emitter;
thread implementation Emitter.Impl
calls
Mycalls: {
Emitter_Wrapper : subprogram Emitter_Wrapper.Impl;
};
connections
parameter Emitter_Wrapper.Boolean_Source -> Boolean_Source;
parameter Emitter_Wrapper.Integer_Source -> Integer_Source;
parameter Emitter_Wrapper.Natural_Source -> Natural_Source;
parameter Emitter_Wrapper.Array_Source -> Array_Source;
parameter Emitter_Wrapper.Integer_8_Source -> Integer_8_Source;
parameter Emitter_Wrapper.Integer_16_Source -> Integer_16_Source;
parameter Emitter_Wrapper.Integer_32_Source -> Integer_32_Source;
parameter Emitter_Wrapper.Integer_64_Source -> Integer_64_Source;
parameter Emitter_Wrapper.Unsigned_8_Source -> Unsigned_8_Source;
parameter Emitter_Wrapper.Unsigned_16_Source -> Unsigned_16_Source;
parameter Emitter_Wrapper.Unsigned_32_Source -> Unsigned_32_Source;
parameter Emitter_Wrapper.Unsigned_64_Source -> Unsigned_64_Source;
parameter Emitter_Wrapper.Float_Source -> Float_Source;
parameter Emitter_Wrapper.Float_32_Source -> Float_32_Source;
parameter Emitter_Wrapper.Float_64_Source -> Float_64_Source;
parameter Emitter_Wrapper.Character_Source -> Character_Source;
properties
Dispatch_Protocol => Periodic;
Period => 1000 Ms;
end Emitter.Impl;
thread Boolean_Receiver
features
Data_Sink : in event data port Boolean_Type;
end Boolean_Receiver;
thread implementation Boolean_Receiver.Impl
calls
Mycalls: {
B_Spg : subprogram Receive_Boolean;
};
connections
parameter Data_Sink -> B_Spg.Data_Sink;
properties
Dispatch_Protocol => Sporadic;
Period => 10 Ms;
end Boolean_Receiver.Impl;
thread Integer_Receiver
features
Data_Sink : in event data port Integer_Type;
end Integer_Receiver;
thread implementation Integer_Receiver.Impl
calls
Mycalls: {
I_Spg : subprogram Receive_Integer;
};
connections
parameter Data_Sink -> I_Spg.Data_Sink;
properties
Dispatch_Protocol => Sporadic;
Period => 10 Ms;
end Integer_Receiver.Impl;
thread Natural_Receiver
features
Data_Sink : in event data port Natural_Type;
end Natural_Receiver;