Design the System and System Context
Define System Architecture
The DATAFLOW Designer allows you to define the System- and Software-Architecture of a product (including products for highly regulated industries) using DATAFLOW notation. The architecture is defined within the DATAFLOW Diagram Editor.
DATAFLOW Diagram
Every project contains at least one DATAFLOW Diagram. Each System Component and Active Container added to this diagram creates its own child diagram to define its internal structure.
Diagrams can contain components that are dropped from the toolbox window. The components can be placed inside a diagram. The components function as containers, and child elements (such as ports, timers, etc…) can be dropped onto them to make them a child of this parent element.
The editor also allows you to create channels that connect ports. Those are created by dragging from one port to another.
This chapter describes the typical actions that are performed when defining a system architecture.
Define System Context
When a new project is created, the system context needs to be defined during the first step. The System is automatically created with the project.
System Context Example
These steps are required to define the System Context of the system that is displayed below:
- Drag & Drop Box, Text and Image objects from the Diagram Toolbox to the diagram area to describe users, other systems or accessories relevant for the system context.
- Drag & Drop the required Hardware Interfaces from the Interfaces Toolbox onto the system element.
- Connect the Box Objects to the Hardware Interface using Hardware Channels.
Example System Context
System Architecture and System Context Items
The following items are available in the Diagram Toolbox to define the system context and model the intended system:
-
Common Items
Common items are mainly used for additional description of the model. They are not available for application code generation.
Box (rectangle box with label)
Box Item with Property Inspector Window
Text
Text Item with Property Inspector Window
Image
Image Item with Property Inspector Window
Components
System
The system item represents an abstracted top-level overview of the whole project that should be developed. A ‘System’ item is represented by a box with a blue title bar. The system item is unique and created automatically with the project. System items cannot be added from the toolbox, but the latter represents the whole root diagram. They cannot be deleted, but they can be decomposed, and the position, size, name and its children can be changed. A Target Hardware and one too many Toolchains can be assigned to a System item. No code is generated for System items when triggering the generation of application code.
System (root) item
System Properties
Data
Attribute |
Description |
Name |
System Name |
TargetName |
The name of the Hardware Target is displayed, if any is assigned (read only). |
ToolchainNames |
All assigned Toolchains are listed here (read only). See 5.7.1 Add Toolchain |
DisableValidationMessage |
Warning messages for this element can be disabled. |
Documentation
Attribute |
Description |
Description |
A brief description of the system can be inserted here. |
DocumentationPath |
A path or URL to the system documentation. A placeholder variable <REF> can be used to work with a general path environment. A documentation path is automatically propagated down to all child items. This path can be adjusted for each child if required. |
DocumentationReference |
Reference to the specific item in the system documentation. E.g., 2852 The value in this field replaces the <REF> variable in the documentation path. E.g., |
Appearance
Attribute |
Description |
Position |
X, y coordinates of the system block in the diagram. |
ZIndex |
Z-Position of the element. |
Width |
Width of the interface item. |
Height |
Height of the interface item (read only). |
System Properties
System Component
System Components are used to define the ‘System- and Subsystem-Architecture’. ‘System Components’ can be decomposed further to multiple depth levels until they are small enough to handle. A Target Hardware can be assigned to any system component as long as none of the parent items has a Target Hardware assigned. No code is generated for System Component items when triggering the generation of application code.
Segway Sub-System Architecture using System Components
System Component Properties
System Components have the same properties as systems. See Figure - System Properties
- Hardware Interface
Hardware Interfaces are used to describe the physical parts of the system, how they interact with each other and how they react to physical inputs from users or their environment. An external Hardware Interface is represented by a grey box with an icon for the selected hardware type and the name of the interface. Black lines on both sides indicate that the interface has been inherited from the parent container.
Hardware Interface - Analog Input
Available Hardware Interfaces
The following Hardware Interfaces are available for modeling your system.
Hardware Interfaces
Hardware Interfaces used in System Components
Either hardware Interfaces can be added to a component from the Interface Toolbox or they are inherited from a parent component. All Hardware Interfaces need to be assigned to a component at each level. To ensure a complete architecture and that the code is generated without errors or warnings, all Hardware Interfaces should end up in an active part.
Hardware Interfaces
Hardware Interface Properties
Data
Attribute |
Description |
Name |
Hardware Interface Name |
TargetName |
Hardware Interface Type selection. |
DisabledValidationMessage |
Warning messages for this element can be disabled. |
Documentation
Attribute |
Description |
Description |
A brief description of the system can be inserted here. |
DocumentationPath |
Path or URL to the system documentation. A placeholder variable <REF> can be used to work with a general path environment. A documentation path is automatically propagated down to all child items. This path can be adjusted for each child if required. |
DocumentationReference |
Reference to the specific item in the system documentation. E.g., 2852 The value in this field replaces the <REF> variable in the documentation path. E.g., https://doc.mycompany.com/items?_a=edit&id=2852&triage=trueà |
Appearance
Attribute |
Description |
Position |
X, y coordinates of the system block in the diagram. |
Width |
Width of the interface item. |
Height |
Height of the interface item (read only). |
System Component Properties
- Hardware Channels
Hardware Channels are used to visualize the interfaces between different hardware components. No code is generated for Hardware Channel items when triggering the generation of application code.
Hardware Channel Properties Data
Attribute |
Description |
Name |
System Name |
Documentation
Attribute |
Description |
Description |
A brief description of the system can be inserted here. |
DocumentationPath |
Path or URL to the system documentation. A placeholder variable <REF> can be used to work with a general path environment. A Documentation Path is automatically propagated down to all child items. This path can be adjusted for each child if required. E.g., https://doc.mycompany.com/items?_a=edit&id=<REF>&triage=true |
DocumentationReference |
Reference to the specific item in the system documentation. E.g., 2852 The value in this field replaces the <REF> variable in the documentation path. E.g., https://doc.mycompany.com/items?_a=edit&id=2852&triage=true |
Appearance
Attribute |
Description |
LineColor |
Select the line color. |
LineArrows |
Select the arrow type for Hardware Channels: Bidirectional, Source to Target, Target to Source or None. |
LineStyle |
Select the line style: solid, dashed, or dotted. |
LineThickness |
Choose the thickness of the Hardware Channels line. |
LabelPosition |
Set the x, y coordinates of the label relative to the Hardware Channel position. |
HideLabel |
Tick the check box if the label should not be displayed. |
RoutingMode |
Select the line routing mode for the Hardware Channel line. Line Routing Modes |
Routing Points |
For certain RoutingModes, RoutingPoints can be added by pressing CTRL + Click. The coordinates for these points are stored in here. |
Hardware Channel Properties
Designing the System
To design your system, drag all the required items from the "Diagram Toolbox" to the diagram area.
- Use images or box items to describe surrounding systems
- Use text items to add descriptions to the system or its surroundings
Add System Context Items
- Connect the interfaces, its sourrounding systems and users with Hardware Channels
- Double click the Hardware Channels to describe the intended interfaces
Add Hardware Interfaces and Describe Channels
System Architecture as Result of the Design Process
System Architecture
Comments
0 comments
Please sign in to leave a comment.