Design the System and System Context

by Marco Wuelser

 

This Guide Article has been written for Version 2.1 of the DATAFLOW Software. For Previous Releases use the version selection in the navigation bar at the top of this page.

 

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:

  1. 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.
  2. Drag & Drop the required Hardware Interfaces from the Interfaces Toolbox onto the system element.
  3. Connect the Box Objects to the Hardware Interface using Hardware Channels.

blobid0.png

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)

blobid2.png

Box Item with Property Inspector Window

 

Text

blobid3.png

Text Item with Property Inspector Window

 

Image
blobid4.png

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.

blobid5.png

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.

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

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.

 

blobid7.png

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.

 

blobid8.png

Hardware Interface - Analog Input

 

 

Available Hardware Interfaces

The following Hardware Interfaces are available for modeling your system.
download.png

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

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

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.

 

blobid12.png

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

mceclip3.png
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

mceclip1.png
Add Hardware Interfaces and Describe Channels

 

System Architecture as Result of the Design Process

mceclip0.png
System Architecture

 

Required Module: DATAFLOW Designer

This Article has been written based on V2.1.1 of the DATAFLOW software. 
Latest update 2023-05-31 by WUM.

Go back