SRRC Wiki

Service Robotics Research Center
at Ulm University of Applied Sciences

User Tools

Site Tools


tutorials:smartdg-dependency-objects:start

SmartDG : Adding SmartDG Dependency Objects to SmartMDSD Components

This tutorial adds SmartDG Dependency Objects to an existing SmartMDSD component project.

Basic Information

Level Advanced
Role Component Supplier, System Builder
Assumptions You know how to model software components in general and how to implement business logic in general (see Developing Your First Software Component).
System Requirements Virtual Machine Image Installed, see ready-to-go virtual machine
You will learn How to add SmartDG Dependency Objects to existing SmartMDSD component projects

Description

Dependency Objects are entities that encapsulate a distinct system characteristic of the system that is relevant to and are altered by components and connectors that compose the system. This tutorial adds SmartDG Dependency Objects to an existing SmartMDSD component project.
This tutorial is also available as video tutorial.

Adding SmartDG Dependency Object Model to SmartMDSD Component Projects

In an existing SmartMDSD component project.

Add Dependency Object instances to Input/Output ports.

Dependency objects associated with a port are visible in their properties.

Add a new SmartDG model to the component project.

The “do” (Dependency Object) and “de” (Tier-3 dependency environment) models will be generated. The “de” model is empty by default.

The “do” default model will import the Tier-2 Dependency base environment from SMART_ROOT_ACE and generate a Tier-3 User Environment model at HOME.

SmartDG source code and the corresponding executable is generated at the HOME location.

The SmartDG execution can be launched from the command line.

The SmartDG execution demonstrates the implications of transfer functions on all dependency objects associated with input and output ports.

Value of Dependency Object “DGPrivacy” changed for Input port “BWMap” of Component “OneUser”

Reverse Business Transfer Functions are triggered

Solver's Transfer Function call order originating from the component “OneUser”
The SmartDG execution for a component is useful for component manufacturers and system designers during component and system development respectively.

☎ Watch video Adding SmartDG Dependency Object Model to SmartMDSD Component Projects

Components with Transfer functions provided by an imported Tier-2 Environment

Unless provided by the Tier-2 Environment, generic transfer functions are generated for the component. Correct forward and reverse business logic can be deployed by editing these generic transfer functions. We demonstrate this using a component “TwoMapMaker” which utilizes a Transfer function provided by an imported Tier-2 Environment.

Adding new DG model to existing SmartDG component project

SmartDG Dependency Object model (DO) being built with default values

One copy of all SmartDG executable models are copied into the “SmartDG_Assortment” for one-place quick access

Launching SmartDG executable model for component project “TwoMapMaker”

Value of Dependency Object “DGPrivacy” changed for Output port “GrayMap” of Component “TwoMapMaker”

Forward Business Inverse Transfer Functions are triggered

Source and SmartDG executable model files generated by execution of SmartDG Dependency Object model (DO).

Transfer functions for the component “TwoMapMaker” for instance are provided by the Tier-2 Dependency base environment.

Source of Transfer Function user for the component “TwoMapMaker”

☎ Watch video Components with Transfer functions provided by an imported Tier-2 Environment

Tier-3 User Environments with both Generic and Tier-2 Environment Transfer functions

In the Tier-3 User Environment

Transfer functions for the component “TwoMapMaker” are provided by the Tier-2 Dependency base environment.

Transfer functions for the component “OneUser” are generic and will remain so unless modified by the user.

The SmartDG execution for a component is useful for component manufacturers and system designers during component and system development respectively.

In SmartDG execution for component models, any change in dependency objects associated with output ports triggers the inverse transfer function (FT).

This simulates a change in dependency objects associated with output ports in a direction opposite to the natural (Output port to Input port) flow of service data between two components.

By switching the business direction, values of input ports can be changed to trigger the forward transfer function (TF).

☎ Watch video Tier-3 User Environments with both Generic and Tier-2 Environment Transfer functions

What do do next?

* SmartDG : Dependency-Graph extensions for SmartMDSD Toolchain
* Go through SmartDG Library Tutorials linked above and make your first Dependency Graph executable model.

Acknowledgements

tutorials/smartdg-dependency-objects/start.txt · Last modified: 2020/11/24 17:01 by Vineet Nagrath