An architecture is specified as a non directed graph where vertices are of two types: operator or communication medium, and each edge is a connection between an operator and a communication medium.
![]()
Figure 6.1: Definition of an operator
![]()
Figure 6.2: New U operator definition window
From the Architecture menu of the main window, choose the Define Operator option (cf. figure 6.1). It opens a dialog window. Type the name of the new operator (e.g. U). Then click OK. It opens the new operator definition window (cf. figure 6.2). By default the code will be generated only for the loop phase of the operator. See the section 6.1.2 to set its gates, durations and code phases.
From the Architecture menu of the main window, Choose the Edit Operator Definition option. It opens a browse window. Select the target operator. It opens its definition window with Modify gates, Modify durations, and Modify code generation phases buttons.
Click on the Modify gates button. It opens a dialog window in which you can set the gates, one per line. For example type
TCP x TCP y
A gate has the following syntax:
gate_definition ::= medium_definition_name gate_name
where:
Click on the Modify durations button to specify durations by operation (cf. chapter 7).
Click on the Modify code generation phases button.
Check init (resp. end) to generate code
in the initialization phase (resp. ending phase).
Note:
You can modify local and global operators
(cf. section 3.1).
Modifications on a global operator
impact only the current application
and the library remains unchanged.
To modify a global operator over-all,
open the corresponding SynDEx library file
(e.g. libs/u.sdx to modify u/U).
Modifications on a definition in a library may have consequences
on all the applications using this library.
From the Architecture menu of the main window,
choose the Delete Operator option.
It lists the local operator definitions
(cf. section 3.1).
Select the target operator.
Note:
Deleting a global operator
(cf. section 3.1)
impacts only the current application.
From the Architecture menu of the main window, choose the Define Medium option. It opens a dialog window. Type the name of the new communication medium. Then click OK. It opens the new communication medium definition window. By default a new communication medium has type SAM point-to-point. See the section 6.2.2 to set its type and durations.
From the Architecture menu of the main window, Choose the Edit Medium Definition option. It opens a browse window. Select the target communication medium. It opens its definition window with Modify type, and Modify durations buttons.
Click on the Modify type button. It opens a dialog window in which you can change the type of the communication medium. For example, check SAM MultiPoint (resp. RAM).
Click on the Modify durations button
to specify durations by data type
(cf. chapter 7).
Note:
You can modify local and global media
(cf. section 3.1).
Modifications on a global communication medium
impact only the current application
and the library remains unchanged.
To modify a global communication medium over-all,
open the corresponding SynDEx library file
(e.g. libs/u.sdx to modify u/TCP).
Modifications on a definition in a library may have consequences
on all the applications using this library.
From the Architecture menu of the main window,
choose the Delete Medium option.
It lists the local communication medium definitions
(cf. section 3.1).
Select the target communication medium.
Note:
Deleting a global communication medium
(cf. section 3.1)
impacts only the current application.
From the Architecture menu of the main window, choose the Define Architecture option. It opens a dialog window. Type the name of the new architecture. Then click OK. It opens the new architecture definition window. Now you may construct a graph with references to operators and media.
To reference an operator into an architecture, from the Edit menu of the architecture window choose the Reference Operator option. It opens a browse window. Select the target operator. It opens a dialog window. Type the name of the reference. Then click OK.
To reference a communication medium into an architecture,
from the Edit menu of the architecture window
choose the Reference Medium option.
It opens a browse window.
Select the target operator.
It opens a dialog window.
Type the name of the reference.
Then click OK.
In case of a SAM multipoint medium, it opens a dialog window.
Check Broadcast or No Broadcast
for the mode of the reference.
Then click OK.
Note for a SAM multipoint medium reference:
In case of a SAM multipoint medium in Broadcast mode,
all operators connected to this communication medium
will receive each and every message
sent on the communication medium.
In case of SAM multipoint medium in No Broadcast mode,
each message will be received by only one operator:
the destination operator of the message.
Right click on a medium reference
and choose Broadcast Mode to change it.
To connect an operator and a communication medium, point the cursor at a gate of the operator reference, middle click, then drag and drop on the communication medium reference.
![]()
Figure 6.3: Set u/biProc as main architecture in examples/tutorial/example7/example7.sdx
To define an operator of an architecture as main, click on the target operator, right click, then choose the Set As Main Operator option.
To define an architecture as main, right click on the background of the target architecture. Choose the Set As Main Architecture option (cf. figure 6.3). The architecture window is now labelled with (main).
To open the main architecture, from the Architecture menu of the main window, choose the Edit Main Architecture option.
From the Architecture menu of the main window,
Choose the Edit Architecture Definition option.
It opens a browse window.
Select the target architecture.
It opens its definition window.
Note:
You can modify local and global architectures
(cf. section 3.1).
Modifications on a global architecture
impact only the current application
and the library remains unchanged.
To modify a global architecture over-all,
open the corresponding SynDEx library file
(e.g. libs/u.sdx to modify u/biProc).
Modifications on a definition in a library may have consequences
on all the applications using this library.
From the Architecture menu of the main window,
choose the Delete Architecture option.
It lists the local architecture definitions
(cf. section 3.1).
Select the target architecture.
Note:
Deleting a global architecture
(cf. section 3.1)
impacts only the current application.