Previous Up Next

Chapter 6  Architecture

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.

6.1  Operator

6.1.1  To create an operator definition


Figure 6.1: Definition of an operator


Figure 6.2: New U operator definition window

From the Architecture menu of the principal 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 left 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.

6.1.2  To modify an operator definition

From the Architecture menu of the principal 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.

Gates

Left 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:

Durations

Left click on the Modify durations button to specify durations by operation (cf. chapter 7).

Code generation phases

Left click on the Modify code generation phases button. Check init (resp. end) to generate code in the initialization phase (resp. ending phase).

Note that 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.

6.1.3  To delete an operator definition

From the Architecture menu of the principal window, choose the Delete Operator option. It lists the local operator definitions (cf. section 3.1). Select the target operator.

Note that deleting a global operator (cf. section 3.1) impacts only the current application.

6.2  Communication medium

6.2.1  To create a medium definition

From the Architecture menu of the principal window, choose the Define Medium option. It opens a dialog window. Type the name of the new communication medium. Then left 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.

6.2.2  To modify a medium definition

From the Architecture menu of the principal 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.

Type

Left 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).

Durations

Left click on the Modify durations button to specify durations by data type (cf. chapter 7).

Note that 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.

6.2.3  To delete a medium definition

From the Architecture menu of the principal window, choose the Delete Medium option. It lists the local communication medium definitions (cf. section 3.1). Select the target communication medium.

Note that deleting a global communication medium (cf. section 3.1) impacts only the current application.

6.3  Architecture

6.3.1  To create an architecture definition

From the Architecture menu of the principal window, choose the Define Architecture option. It opens a dialog window. Type the name of the new architecture. Then left click OK. It opens the new architecture definition window. Now you may construct a graph with references to operators and media. Note that, as soon as you have more than one operator, a connection must be created between each operator and at least another operator through at least one medium.

New operator reference

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 left click OK.

New medium reference

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 left 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 left click OK.

Note that for a SAM multipoint medium in Broadcast mode, all operators connected to this communication medium will receive 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.

New connection

To connect an operator and a communication medium, point the cursor at a gate of the operator reference, middle click (or Ctrl left click), then drag and drop on the communication medium reference.

Operator and medium reference deletion

To delete a reference to an operator definition or a reference to a medium definition, left click on the target operator or medium, right click, then choose the Delete option.

6.3.2  To set the main architecture


Figure 6.3: Set u/biProc as main architecture in examples/tutorial/example7/example7.sdx

Set the main operator

To define an operator of an architecture as main, left click on the target operator, right click, then choose the Set As Main Operator option.

Set the main architecture

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).

Edit the main architecture

To open the main architecture, from the Architecture menu of the principal window, choose the Edit Main Architecture option.

6.3.3  To modify an architecture definition

From the Architecture menu of the principal window, Choose the Edit Architecture Definition option. It opens a browse window. Select the target architecture. It opens its definition window.

Note that 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.

6.3.4  To delete an architecture definition

From the Architecture menu of the principal window, choose the Delete Architecture option. It lists the local architecture definitions (cf. section 3.1). Select the target architecture.

Note that deleting a global architecture (cf. section 3.1) impacts only the current application.


Previous Up Next