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 extend or continue at its predecessor.

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.

 

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: The SmartMDSD Toolchain: Supporting dynamic reconfiguration by managing variability in robotics software development. Tutorial on Managing Software Variability in Robot Control Systems. Robotics: Science and Systems Conference (RSS 2014), Berkeley, CA, July 13th 2014. see Slides)

 

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: The SmartMDSD Toolchain: Supporting dynamic reconfiguration by managing variability in robotics software development. Tutorial on Managing Software Variability in Robot Control Systems. Robotics: Science and Systems Conference (RSS 2014), Berkeley, CA, July 13th 2014. see Slides)

 

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: The SmartMDSD Toolchain: Supporting dynamic reconfiguration by managing variability in robotics software development. Tutorial on Managing Software Variability in Robot Control Systems. Robotics: Science and Systems Conference (RSS 2014), Berkeley, CA, July 13th 2014. see Slides)

 

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, SmartTCL 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: The SmartMDSD Toolchain: Supporting dynamic reconfiguration by managing variability in robotics software development. Tutorial on Managing Software Variability in Robot Control Systems. Robotics: Science and Systems Conference (RSS 2014), Berkeley, CA, July 13th 2014. see Slides)

 

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