Chapter 3. Tutorials

Table of Contents

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

This chapter describes step-by-step tutorials (in written form and as video screencasts) to guide the reader through all views of the SmartMDSD Toolchain to develop a practical example from scratch.

3.1. Video Tutorials

This series of screencasts demonstrates the use of the SmartMDSD Toolchain. It can be used as a walk-through tutorial through all stages of the development process and major functionalities of the toolchain. Unless otherwise mentioned, the sequence of videos is in chronological order and each extends or continues its predecessor.

3.1.1. Tutorial 1: Modeling of Communication Objects

This video demonstrates the modeling of Communication Objects using the SmartMDSD Toolchain.

The application in mind behind all examples is a robot that drives around while avoiding any obstacles. In this video, a Communication Object Repository (CommBasicObjects) is created with a simple Communication Object CommNavigationVelocity that can be used to command navigation instructions to a robot. The video also demonstrates how to model nested and more complex Communication Objects (CommMobileLaserScan).

This video shows only an excerpt of the modeling of the repository CommBasicObjects which is readily available within the SmartSoft distribution.

3.1.2. Tutorial 2: Definition of a Parameter Set

This video demonstrates the modeling of a parameter using the SmartMDSD Toolchain.

The application in mind behind all examples is a robot that drives around while avoiding any obstacles. The parameter represents a configurable maximum velocity of a robot. This parameter can later be instantiated by components. The maximum speed can then be configured through the parameter service.

(as shown in: [5] see Slides)

3.1.3. Tutorial 3: Component Development

This video demonstrates the modeling and implementation of a component using the SmartMDSD Toolchain.

The application in mind behind all examples is a robot that drives around while avoiding any obstacles. The component receives laser scans. A simple obstacle avoidance algorithm outputs values for speed and direction. The component then thresholds the maximum speed according to a variation point (parameter "v_x", modeled in a previous video) before providing the navigation commands through one of its services.

This parameter "v_x" can be configured during runtime of the component through its parameter service.

(as shown in: [5] see Slides)

3.1.4. Tutorial 4: System Configuration and Deployment Model

This video demonstrates the creation of system configuration and deployment model using the SmartMDSD Toolchain.

The application in mind behind all examples is a robot that drives around while avoiding any obstacles. The scenario: a robot shall drive and avoid obstacles. It reuses (existing) components SmartLaserObstacleAvoid (see previous screencast), SmartLaserLMS200Server (laser ranger) and SmartPioneerBaseServer (robot).

The system configuration model models the connection and configuration of components. The deployment model models the distribution of components on hardware.

(as shown in: [5] see Slides)

3.1.5. Tutorial 5: Deploying and Running an Application

This video demonstrates the deployment and execution of an application developed using the SmartMDSD Toolchain.

The application in mind behind all examples is a robot that drives around while avoiding any obstacles. The application (laser obstacle avoidance from a previous video) is deployed using SSH. A remote session on the robot is established in order to run it. The robot will first drive with a maximum velocity of 600m/s (as configured in system configuration). Later, run-time configuration is used to change the maximum velocity of the component to 200 and back to 600 every 5s via the parameter service and explicated variation point v_x.

(as shown in: [5] see Slides)

3.1.6. Tutorial 6: Deployment of components along with additional files

This video demonstrates the deployment of components along with additional data files. It bases on a existing deployment diagram (DeployNavigationTaskPlayerStageSimulator) and covers the steps from tutorial 5 with deploying additional files.

The example shows basic navigation components performing obstacle avoidance using the SmartCdlServer component. The CDL algorithm makes use of local lookup files which need to be deployed to the target host as well. This video shows how to deploy these files from within a deplyoment project of the SmartMDSD toolchain.

This video also makes use of the Player Stage simulator component.

WordPress Appliance - Powered by TurnKey Linux