SmartMDSD Toolchain User Manual

Servicerobotik Ulm
University of Applied Sciences Ulm
Prittwitzstr. 10
D-89075 Ulm
Germany

The CSS Stylesheet used for HTML output is based on the Debian Reference Manual CSS.

Continuous updates of this document are available through http://www.servicerobotik-ulm.de:

Document History

For use with SmartMDSD Toolchain v2.10

March 31th 2016

  • First version.


Table of Contents

1. Introduction
1.1. Fundamentals
1.1.1. The SmartSoft World
1.1.2. Components
1.1.3. Services
1.1.3.1. Communication Objects
1.1.3.2. Communication Patterns
1.2. Resources
1.2.1. Online Resources
1.2.2. Further Reading
2. Using the SmartMDSD Toolchain
2.1. Introduction
2.1.1. Installation and Requirements
2.1.2. Development Workflow
2.1.3. Working with the SmartMDSD Toolchain and SmartSoft Framework
2.1.3.1. SmartMDSD and SmartSoft on the filesystem
2.1.3.2. Starting the SmartMDSD Toolchain for the First Time
2.1.3.3. SmartMDSD Eclipse Projects
2.1.3.4. Version Control Considerations
2.2. System Design View
2.2.1. Project Structure
2.2.2. Communication Objects
2.2.2.1. Modeling Communication Objects
2.2.2.2. Generated files
2.2.3. Parameter Sets
2.2.4. Compile SmartSoft Communication/Coordination Repositories
2.2.5. Documentation
2.3. Component Development View
2.3.1. Component Projects
2.3.2. Component Modeling
2.3.2.1. Component Hull
2.3.2.1.1. Communication Patterns
2.3.2.1.2. SmartTask
2.3.2.1.3. SmartComponentMetadata
2.3.2.2. Component Parameters
2.3.2.2.1. SmartParameterMaster
2.3.2.2.2. SmartParameterSlave
2.3.2.2.3. SmartComponentParameter
2.3.2.2.4. Parameter Documentation
2.3.3. Component Implementation
2.3.3.1. Generated Files
2.3.3.2. Start Services and Tasks
2.3.3.3. Using Communication Objects
2.3.3.4. Using Services
2.3.3.5. Status Codes
2.3.3.6. Component Wide Variables
2.3.3.7. Using Parameters Within the Component
2.3.4. Compile SmartSoft Component Projects
2.3.4.1. Add Additional Libraries
2.3.4.2. Add Compiler Flags
2.3.4.3. Add Your Own Source Files
2.3.5. Component Documentation
2.4. System Composition View
2.4.1. System Composition Project
2.4.2. System Configuration
2.4.2.1. System Configuration Model
2.4.2.1.1. Change Connections
2.4.2.1.2. Delete Components From the Model
2.4.2.2. Component Instance Configuration
2.4.3. System Deployment
2.4.3.1. Deployment model
2.4.3.2. Code Generation
2.4.3.3. Target Considerations
2.4.3.4. Deploying Additional Files
2.4.3.5. Start-Stop-Hooks
2.4.3.6. Predeploy Infrastructure
2.4.3.7. Deploying the Application
2.4.4. Running the Application
2.4.4.1. Running the Application from Toolchain
2.4.4.2. Running the Application without the Toolchain
2.4.4.3. Component Output and Log Files
2.5. Tips and Tricks
2.5.1. SmartSoft Full Build of Source Tree
2.5.2. SmartSoft and the RaspberryPi
2.5.2.1. Preconditions
2.5.2.2. Step by Step Instructions
2.5.3. Delete Model Elements
2.5.4. Common Error Messages
2.5.4.1. Component Development View
2.5.4.2. System Composition View
3. Tutorials
3.1. Video Tutorials
3.1.1. Tutorial 1: Modeling of Communication Objects
3.1.2. Tutorial 2: Definition of a Parameter Set
3.1.3. Tutorial 3: Component Development
3.1.4. Tutorial 4: System Configuration and Deployment Model
3.1.5. Tutorial 5: Deploying and Running an Application
3.1.6. Tutorial 6: Deployment of components along with additional files
3.2. Step by Step: Robot navigation
3.2.1. Introduction
3.2.2. Component Development (SmartKeyboardNavigation)
3.2.3. System Composition
3.2.3.1. System Composition 1: Simple Scenario
3.2.3.2. System Composition 2: Adding obstacle avoidance
Bibliography