Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
PolyORB-HI-C
Commits
7e5c5f96
Commit
7e5c5f96
authored
Jul 13, 2018
by
yoogx
Browse files
Merge branch 'master' of
https://github.com/OpenAADL/polyorb-hi-c
parents
59965273
b2838051
Changes
26
Expand all
Hide whitespace changes
Inline
Side-by-side
AUTHORS
View file @
7e5c5f96
...
...
@@ -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)
configure.ac
View file @
7e5c5f96
...
...
@@ -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
...
...
examples/aadlv2/Makefile.am
View file @
7e5c5f96
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'
}
...
...
examples/aadlv2/code_coverage/lcov.sh
deleted
100755 → 0
View file @
59965273
#!/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
examples/aadlv2/code_coverage/software.aadl
View file @
7e5c5f96
This diff is collapsed.
Click to expand it.
examples/aadlv2/code_coverage/some-types-stdint.c
View file @
7e5c5f96
#include
<stdio.h>
#include
<stdint.h>
#include
<math.h>
#include
<stdbool.h>
#include
<string.h>
#include
<assert.h>
#include
<types.h>
int16_t
boolean_type_var
=
0
;
int32_t
integer_type_var
=
0
;
int64_t
natural_type_var
=
0
;
void
user_emit_boolean
(
int16_t
*
boolean
)
int8_t
int8_type_var
=
0
;
int16_t
int16_type_var
=
0
;
int32_t
int32_type_var
=
0
;
int64_t
int64_type_var
=
0
;
uint8_t
uint8_type_var
=
0
;
uint16_t
uint16_type_var
=
0
;
uint32_t
uint32_type_var
=
0
;
uint64_t
uint64_type_var
=
0
;
float_t
float0_type_var
=
0
.
0
;
float_t
float32_type_var
=
0
.
0
;
double_t
float64_type_var
=
0
.
0
;
char
char_type_var
=
'A'
;
/* Macros Definition */
/* Integer */
#define EMIT_TYPE_INT(TYPE, VAR, FORMAT) \
void user_emit_##TYPE (VAR * type) \
{\
TYPE##_type_var++; \
*type = TYPE##_type_var;\
printf("Emetting integer : ");\
printf(FORMAT, *type);\
printf("\n"); \
fflush (stdout); \
}
#define RECEIVE_TYPE_INT(TYPE, VAR, FORMAT) \
void user_receive_##TYPE (VAR type)\
{\
printf("Receiving integer : ");\
printf(FORMAT, type);\
printf("\n"); \
fflush (stdout); \
}
/* Float */
#define EMIT_TYPE_FLOAT(TYPE, VAR, FORMAT) \
void user_emit_##TYPE (VAR * type) \
{\
TYPE##_type_var++; \
*type = TYPE##_type_var;\
printf("Emetting float : ");\
printf(FORMAT, *type);\
printf("\n"); \
fflush (stdout); \
}
#define RECEIVE_TYPE_FLOAT(TYPE, VAR, FORMAT) \
void user_receive_##TYPE (VAR type)\
{\
printf("Receiving float : ");\
printf(FORMAT, type);\
printf("\n"); \
fflush (stdout); \
}
/* Boolean sub case */
void
user_emit_boolean
(
int16_t
*
boolean
)
{
if
(
boolean_type_var
==
1
)
{
...
...
@@ -16,21 +85,93 @@ void user_emit_boolean( int16_t* boolean)
}
*
boolean
=
boolean_type_var
;
printf
(
"Sending boolean : %d
\n
"
,
*
boolean
);
fflush
(
stdout
);
}
void
user_receive_boolean
(
int16_t
boolean
)
{
printf
(
"Receiving boolean : %d
\n
"
,
boolean
);
fflush
(
stdout
);
}
void
user_emit_integer
(
int32_t
*
integer
)
/* Char sub case */
void
user_emit_char
(
char
*
character
)
{
integer_type_var
++
;
*
integer
=
integer_type_var
;
printf
(
"Emetting integer : %d
\n
"
,
*
integer
);
char_type_var
=
'A'
+
((
char_type_var
-
'A'
+
1
)
%
26
)
;
*
character
=
(
char
)
char_type_var
;
printf
(
"Emetting char : %c
\n
"
,
*
character
);
fflush
(
stdout
);
}
void
user_receive_
integer
(
int32_t
integ
er
)
void
user_receive_
char
(
char
charact
er
)
{
printf
(
"Receiving integer : %d
\n
"
,
integer
);
printf
(
"Receiving char : %c
\n
"
,
character
);
fflush
(
stdout
);
}
/* Array sub case */
void
user_emit_array
(
software__array_type
*
data
)
{
int
i
;
for
(
i
=
0
;
i
<
16
;
i
++
)
{(
*
data
)[
i
]
=
i
;}
printf
(
"Emetting array
\n
"
);
fflush
(
stdout
);
}
void
user_receive_array
(
software__array_type
data
)
{
int
i
;
printf
(
"Receive array: "
);
for
(
i
=
0
;
i
<
16
;
i
++
)
{
assert
(
data
[
i
]
==
i
);}
printf
(
"OK
\n
"
);
fflush
(
stdout
);
}
/* Appel des fonctions */
EMIT_TYPE_INT
(
integer
,
int32_t
,
"%d"
)
RECEIVE_TYPE_INT
(
integer
,
int32_t
,
"%d"
)
EMIT_TYPE_INT
(
natural
,
int64_t
,
"%lld"
)
RECEIVE_TYPE_INT
(
natural
,
int64_t
,
"%lld"
)
EMIT_TYPE_INT
(
int8
,
int8_t
,
"%hhd"
)
RECEIVE_TYPE_INT
(
int8
,
int8_t
,
"%hhd"
)
EMIT_TYPE_INT
(
int16
,
int16_t
,
"%d"
)
RECEIVE_TYPE_INT
(
int16
,
int16_t
,
"%d"
)
EMIT_TYPE_INT
(
int32
,
int32_t
,
"%d"
)
RECEIVE_TYPE_INT
(
int32
,
int32_t
,
"%d"
)
EMIT_TYPE_INT
(
int64
,
int64_t
,
"%ld"
)
RECEIVE_TYPE_INT
(
int64
,
int64_t
,
"%ld"
)
EMIT_TYPE_INT
(
uint8
,
uint8_t
,
"%hhu"
)
RECEIVE_TYPE_INT
(
uint8
,
uint8_t
,
"%hhu"
)
EMIT_TYPE_INT
(
uint16
,
uint16_t
,
"%u"
)
RECEIVE_TYPE_INT
(
uint16
,
uint16_t
,
"%u"
)
EMIT_TYPE_INT
(
uint32
,
uint32_t
,
"%u"
)
RECEIVE_TYPE_INT
(
uint32
,
uint32_t
,
"%u"
)
EMIT_TYPE_INT
(
uint64
,
uint64_t
,
"%lu"
)
RECEIVE_TYPE_INT
(
uint64
,
uint64_t
,
"%lu"
)
EMIT_TYPE_FLOAT
(
float0
,
float_t
,
"%lf"
)
RECEIVE_TYPE_FLOAT
(
float0
,
float_t
,
"%lf"
)
EMIT_TYPE_FLOAT
(
float32
,
float_t
,
"%lf"
)
RECEIVE_TYPE_FLOAT
(
float32
,
float_t
,
"%lf"
)
EMIT_TYPE_FLOAT
(
float64
,
double_t
,
"%llf"
)
RECEIVE_TYPE_FLOAT
(
float64
,
double_t
,
"%llf"
)
examples/aadlv2/code_coverage/some_types_stdint.aadl
View file @
7e5c5f96
package
Some_types
public
with
Software
;
with
Deployment
;
with
ocarina_drivers
;
with
ocarina_buses
;
---------------
--
Processor
--
---------------
processor
the_processor
properties
Deployment
::
Execution_Platform
=>
Native
;
end
the_processor
;
---------------
--
Processes
--
---------------
process
A
features
Out_Boolean
:
out
event
data
port
Software
::
Boolean_Type
;
Out_Integer
:
out
event
data
port
Software
::
Integer_Type
;
end
A
;
process
implementation
A
.
Impl
subcomponents
Emitter_Thread
:
thread
Software
::
Emitter
.
Impl
;
connections
port
Emitter_Thread
.
Boolean_Source
->
Out_Boolean
;
port
Emitter_Thread
.
Integer_Source
->
Out_Integer
;
end
A
.
Impl
;
process
B
features
In_Boolean
:
in
event
data
port
Software
::
Boolean_Type
;
In_Integer
:
in
event
data
port
Software
::
Integer_Type
;
end
B
;
process
implementation
B
.
Impl
subcomponents
Boolean_Rcv_Thread
:
thread
Software
::
Boolean_Receiver
.
Impl
;
Integer_Rcv_Thread
:
thread
Software
::
Integer_Receiver
.
Impl
;
connections
port
In_Boolean
->
Boolean_Rcv_Thread
.
Data_Sink
;
port
In_Integer
->
Integer_Rcv_Thread
.
Data_Sink
;
end
B
.
Impl
;
process
singleProcess
end
singleProcess
;
process
implementation
singleProcess
.
impl
subcomponents
Emitter_Thread
:
thread
Software
::
Emitter
.
Impl
;
Boolean_Rcv_Thread
:
thread
Software
::
Boolean_Receiver
.
Impl
;
Integer_Rcv_Thread
:
thread
Software
::
Integer_Receiver
.
Impl
;
connections
port
Emitter_Thread
.
Boolean_Source
->
Boolean_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Integer_Source
->
Integer_Rcv_Thread
.
Data_Sink
;
end
singleProcess
.
impl
;
------------
--
System
--
------------
system
Some_Types_Stdint
end
Some_Types_Stdint
;
system
implementation
Some_Types_Stdint
.
Impl
subcomponents
Node_A
:
process
A
.
Impl
;
Node_B
:
process
B
.
Impl
;
Device_A
:
device
ocarina_drivers
::
generic_sockets_ip
.
pohic
{
Source_Text
=>
(
"devicesconf.c"
);};
Device_B
:
device
ocarina_drivers
::
generic_sockets_ip
.
pohic
{
Source_Text
=>
(
"devicesconf.c"
);};
CPU_A
:
processor
the_processor
;
CPU_B
:
processor
the_processor
;
the_bus
:
bus
ocarina_buses
::
ip
.
i
;
connections
bus
access
the_bus
->
Device_A
.
link
;
bus
access
the_bus
->
Device_B
.
link
;
port
Node_A
.
Out_Boolean
->
Node_B
.
In_Boolean
{
Actual_Connection_Binding
=>
(
reference
(
the_bus
));};
port
Node_A
.
Out_Integer
->
Node_B
.
In_Integer
{
Actual_Connection_Binding
=>
(
reference
(
the_bus
));};
properties
actual_processor_binding
=>
(
reference
(
CPU_A
))
applies
to
Node_A
;
actual_processor_binding
=>
(
reference
(
CPU_B
))
applies
to
Node_B
;
actual_processor_binding
=>
(
reference
(
CPU_A
))
applies
to
Device_A
;
actual_processor_binding
=>
(
reference
(
CPU_B
))
applies
to
Device_B
;
end
Some_Types_Stdint
.
Impl
;
system
Some_Types_local
end
Some_Types_local
;
system
implementation
Some_Types_local
.
impl
subcomponents
CPU_A
:
processor
the_processor
;
sometypesstdint
:
process
singleProcess
.
impl
;
properties
Actual_Processor_Binding
=>
reference
(
CPU_A
)
applies
to
sometypesstdint
;
end
Some_Types_local
.
impl
;
system
implementation
Some_Types_local
.
Xenomai
extends
Some_Types_local
.
impl
properties
Deployment
::
Execution_Platform
=>
linux32_xenomai_native
applies
to
CPU_A
;
end
Some_Types_local
.
Xenomai
;
system
implementation
Some_Types_local
.
RTEMS
extends
Some_Types_local
.
impl
properties
Deployment
::
Execution_platform
=>
LEON_RTEMS
applies
to
CPU_A
;
end
Some_Types_local
.
RTEMS
;
---------------
--
Processor
--
---------------
processor
the_processor
properties
Deployment
::
Execution_Platform
=>
Native
;
end
the_processor
;
---------------
--
Processes
--
---------------
process
A
features
Out_Boolean
:
out
event
data
port
Software
::
Boolean_Type
;
Out_Integer
:
out
event
data
port
Software
::
Integer_Type
;
Out_Natural
:
out
event
data
port
Software
::
Natural_Type
;
Out_Array
:
out
event
data
port
Software
::
Array_Type
;
Out_Integer_8
:
out
event
data
port
Software
::
Integer_8_Type
;
Out_Integer_16
:
out
event
data
port
Software
::
Integer_16_Type
;
Out_Integer_32
:
out
event
data
port
Software
::
Integer_32_Type
;
Out_Integer_64
:
out
event
data
port
Software
::
Integer_64_Type
;
Out_Unsigned_8
:
out
event
data
port
Software
::
Unsigned_8_Type
;
Out_Unsigned_16
:
out
event
data
port
Software
::
Unsigned_16_Type
;
Out_Unsigned_32
:
out
event
data
port
Software
::
Unsigned_32_Type
;
Out_Unsigned_64
:
out
event
data
port
Software
::
Unsigned_64_Type
;
Out_Float
:
out
event
data
port
Software
::
Float_Type
;
Out_Float_32
:
out
event
data
port
Software
::
Float_32_Type
;
Out_Float_64
:
out
event
data
port
Software
::
Float_64_Type
;
Out_Character
:
out
event
data
port
Software
::
Character_Type
;
end
A
;
process
implementation
A
.
Impl
subcomponents
Emitter_Thread
:
thread
Software
::
Emitter
.
Impl
;
connections
port
Emitter_Thread
.
Boolean_Source
->
Out_Boolean
;
port
Emitter_Thread
.
Integer_Source
->
Out_Integer
;
port
Emitter_Thread
.
Natural_Source
->
Out_Natural
;
port
Emitter_Thread
.
Array_Source
->
Out_Array
;
port
Emitter_Thread
.
Integer_8_Source
->
Out_Integer_8
;
port
Emitter_Thread
.
Integer_16_Source
->
Out_Integer_16
;
port
Emitter_Thread
.
Integer_32_Source
->
Out_Integer_32
;
port
Emitter_Thread
.
Integer_64_Source
->
Out_Integer_64
;
port
Emitter_Thread
.
Unsigned_8_Source
->
Out_Unsigned_8
;
port
Emitter_Thread
.
Unsigned_16_Source
->
Out_Unsigned_16
;
port
Emitter_Thread
.
Unsigned_32_Source
->
Out_Unsigned_32
;
port
Emitter_Thread
.
Unsigned_64_Source
->
Out_Unsigned_64
;
port
Emitter_Thread
.
Float_Source
->
Out_Float
;
port
Emitter_Thread
.
Float_32_Source
->
Out_Float_32
;
port
Emitter_Thread
.
Float_64_Source
->
Out_Float_64
;
port
Emitter_Thread
.
Character_Source
->
Out_Character
;
end
A
.
Impl
;
process
B
features
In_Boolean
:
in
event
data
port
Software
::
Boolean_Type
;
In_Integer
:
in
event
data
port
Software
::
Integer_Type
;
In_Natural
:
in
event
data
port
Software
::
Natural_Type
;
In_Array
:
in
event
data
port
Software
::
Array_Type
;
In_Integer_8
:
in
event
data
port
Software
::
Integer_8_Type
;
In_Integer_16
:
in
event
data
port
Software
::
Integer_16_Type
;
In_Integer_32
:
in
event
data
port
Software
::
Integer_32_Type
;
In_Integer_64
:
in
event
data
port
Software
::
Integer_64_Type
;
In_Unsigned_8
:
in
event
data
port
Software
::
Unsigned_8_Type
;
In_Unsigned_16
:
in
event
data
port
Software
::
Unsigned_16_Type
;
In_Unsigned_32
:
in
event
data
port
Software
::
Unsigned_32_Type
;
In_Unsigned_64
:
in
event
data
port
Software
::
Unsigned_64_Type
;
In_Float
:
in
event
data
port
Software
::
Float_Type
;
In_Float_32
:
in
event
data
port
Software
::
Float_32_Type
;
In_Float_64
:
in
event
data
port
Software
::
Float_64_Type
;
In_Character
:
in
event
data
port
Software
::
Character_Type
;
end
B
;
process
implementation
B
.
Impl
subcomponents
Boolean_Rcv_Thread
:
thread
Software
::
Boolean_Receiver
.
Impl
;
Integer_Rcv_Thread
:
thread
Software
::
Integer_Receiver
.
Impl
;
Natural_Rcv_Thread
:
thread
Software
::
Natural_Receiver
.
Impl
;
Array_Rcv_Thread
:
thread
Software
::
Array_Receiver
.
Impl
;
Integer_8_Rcv_Thread
:
thread
Software
::
Integer_8_Receiver
.
Impl
;
Integer_16_Rcv_Thread
:
thread
Software
::
Integer_16_Receiver
.
Impl
;
Integer_32_Rcv_Thread
:
thread
Software
::
Integer_32_Receiver
.
Impl
;
Integer_64_Rcv_Thread
:
thread
Software
::
Integer_64_Receiver
.
Impl
;
Unsigned_8_Rcv_Thread
:
thread
Software
::
Unsigned_8_Receiver
.
Impl
;
Unsigned_16_Rcv_Thread
:
thread
Software
::
Unsigned_16_Receiver
.
Impl
;
Unsigned_32_Rcv_Thread
:
thread
Software
::
Unsigned_32_Receiver
.
Impl
;
Unsigned_64_Rcv_Thread
:
thread
Software
::
Unsigned_64_Receiver
.
Impl
;
Float_Rcv_Thread
:
thread
Software
::
Float_Receiver
.
Impl
;
Float_32_Rcv_Thread
:
thread
Software
::
Float_32_Receiver
.
Impl
;
Float_64_Rcv_Thread
:
thread
Software
::
Float_64_Receiver
.
Impl
;
Character_Rcv_Thread
:
thread
Software
::
Character_Receiver
.
Impl
;
connections
port
In_Boolean
->
Boolean_Rcv_Thread
.
Data_Sink
;
port
In_Integer
->
Integer_Rcv_Thread
.
Data_Sink
;
port
In_Natural
->
Natural_Rcv_Thread
.
Data_Sink
;
port
In_Array
->
Array_Rcv_Thread
.
Data_Sink
;
port
In_Integer_8
->
Integer_8_Rcv_Thread
.
Data_Sink
;
port
In_Integer_16
->
Integer_16_Rcv_Thread
.
Data_Sink
;
port
In_Integer_32
->
Integer_32_Rcv_Thread
.
Data_Sink
;
port
In_Integer_64
->
Integer_64_Rcv_Thread
.
Data_Sink
;
port
In_Unsigned_8
->
Unsigned_8_Rcv_Thread
.
Data_Sink
;
port
In_Unsigned_16
->
Unsigned_16_Rcv_Thread
.
Data_Sink
;
port
In_Unsigned_32
->
Unsigned_32_Rcv_Thread
.
Data_Sink
;
port
In_Unsigned_64
->
Unsigned_64_Rcv_Thread
.
Data_Sink
;
port
In_Float
->
Float_Rcv_Thread
.
Data_Sink
;
port
In_Float_32
->
Float_32_Rcv_Thread
.
Data_Sink
;
port
In_Float_64
->
Float_64_Rcv_Thread
.
Data_Sink
;
port
In_Character
->
Character_Rcv_Thread
.
Data_Sink
;
end
B
.
Impl
;
process
singleProcess
end
singleProcess
;
process
implementation
singleProcess
.
impl
subcomponents
Emitter_Thread
:
thread
Software
::
Emitter
.
Impl
;
Boolean_Rcv_Thread
:
thread
Software
::
Boolean_Receiver
.
Impl
;
Integer_Rcv_Thread
:
thread
Software
::
Integer_Receiver
.
Impl
;
Natural_Rcv_Thread
:
thread
Software
::
Natural_Receiver
.
Impl
;
Array_Rcv_Thread
:
thread
Software
::
Array_Receiver
.
Impl
;
Integer_8_Rcv_Thread
:
thread
Software
::
Integer_8_Receiver
.
Impl
;
Integer_16_Rcv_Thread
:
thread
Software
::
Integer_16_Receiver
.
Impl
;
Integer_32_Rcv_Thread
:
thread
Software
::
Integer_32_Receiver
.
Impl
;
Integer_64_Rcv_Thread
:
thread
Software
::
Integer_64_Receiver
.
Impl
;
Unsigned_8_Rcv_Thread
:
thread
Software
::
Unsigned_8_Receiver
.
Impl
;
Unsigned_16_Rcv_Thread
:
thread
Software
::
Unsigned_16_Receiver
.
Impl
;
Unsigned_32_Rcv_Thread
:
thread
Software
::
Unsigned_32_Receiver
.
Impl
;
Unsigned_64_Rcv_Thread
:
thread
Software
::
Unsigned_64_Receiver
.
Impl
;
Float_Rcv_Thread
:
thread
Software
::
Float_Receiver
.
Impl
;
Float_32_Rcv_Thread
:
thread
Software
::
Float_32_Receiver
.
Impl
;
Float_64_Rcv_Thread
:
thread
Software
::
Float_64_Receiver
.
Impl
;
Character_Rcv_Thread
:
thread
Software
::
Character_Receiver
.
Impl
;
connections
port
Emitter_Thread
.
Boolean_Source
->
Boolean_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Integer_Source
->
Integer_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Natural_Source
->
Natural_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Array_Source
->
Array_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Integer_8_Source
->
Integer_8_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Integer_16_Source
->
Integer_16_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Integer_32_Source
->
Integer_32_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Integer_64_Source
->
Integer_64_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Unsigned_8_Source
->
Unsigned_8_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Unsigned_16_Source
->
Unsigned_16_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Unsigned_32_Source
->
Unsigned_32_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Unsigned_64_Source
->
Unsigned_64_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Float_Source
->
Float_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Float_32_Source
->
Float_32_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Float_64_Source
->
Float_64_Rcv_Thread
.
Data_Sink
;
port
Emitter_Thread
.
Character_Source
->
Character_Rcv_Thread
.
Data_Sink
;
end
singleProcess
.
impl
;
------------
--
System
--
------------
system
Some_Types_Stdint
end
Some_Types_Stdint
;
system
implementation
Some_Types_Stdint
.
Impl
subcomponents
Node_A
:
process
A
.
Impl
;
Node_B
:
process
B
.
Impl
;
Device_A
:
device
ocarina_drivers
::
generic_sockets_ip
.
pohic
{
Source_Text
=>
(
"devicesconf.c"
);};
Device_B
:
device
ocarina_drivers
::
generic_sockets_ip
.
pohic
{
Source_Text
=>
(
"devicesconf.c"
);};
CPU_A
:
processor
the_processor
;
CPU_B
:
processor
the_processor
;
the_bus
:
bus
ocarina_buses
::
ip
.
i
;
connections
bus
access
the_bus
->
Device_A
.
link
;
bus
access
the_bus
->
Device_B
.
link
;
port
Node_A
.
Out_Boolean
->
Node_B
.
In_Boolean
{
Actual_Connection_Binding
=>
(
reference
(
the_bus
));};
port
Node_A
.
Out_Integer
->
Node_B
.
In_Integer
{
Actual_Connection_Binding
=>
(
reference
(
the_bus
));};
port
Node_A
.
Out_Natural
->
Node_B
.
In_Natural
{
Actual_Connection_Binding
=>
(
reference
(
the_bus
));};
port
Node_A
.
Out_Array
->
Node_B
.
In_Array
{
Actual_Connection_Binding
=>
(
reference
(
the_bus
));};
port
Node_A
.
Out_Integer_8
->
Node_B
.
In_Integer_8
{
Actual_Connection_Binding
=>
(
reference
(
the_bus
));};
port
Node_A
.
Out_Integer_16
->
Node_B
.
In_Integer_16
{
Actual_Connection_Binding
=>
(
reference
(
the_bus
));};
port
Node_A
.
Out_Integer_32
->
Node_B
.
In_Integer_32