There is no one-click download of our software—what you need depends on your role in the robotics ecosystem and your level of influence. This page provides a complete overview on all available resources.
SmartSoft is a whole world of concepts, structures, tools, and content (models, software components, systems) as illustrated in the figure below. For each of the illustrated parts (dashed boxes) we maintain separate repositories.
To develop your own components or/and to compose them to systems, you will require tooling:
To run systems, you will require to download the framework implementation:
Additionally, you may want to download the following content to work with:
For a full development environment, recommend to download and install all of them. Note: The SmartSoft World Installer is a installer to set up a complete software development environment. We recommend to use this installer. If you need full flexibility, you can do a manual installation as documented in each of the repositories on GitHub: https://github.com/Servicerobotics-Ulm
|Structures and Concepts|
|Structures and concepts are available in several publications and wiki pages, both in this wiki and in the RobMosys wiki. Read more About the SmartSoft World and the publications. The structures are expressed via meta-models and are described in the RobMoSys Wiki (RobMoSys composition structures) and are packaged as Ecore in the SmartMDSD Toolchain source distribution.|
|SmartMDSD Toolchain||An Integrated Development Environment (IDE) for robotics software development using model-driven software development. See SmartMDSD Toolchain for more information and (standalone) installation instructions.|| Binaries
|Virtual Machine||The SmartSoft Virtual Machine provides an ready-to-go environment to try out the SmartSoft World. See Ready-To-Go: The SmartSoft World Virtual Machine Image||Virtual Appliance|
|API and Implementations|
|Component Developer API (C++)||Many structures relate to component infrastructure and communication via “communication patterns”. It is defined in the component developer API.|| Sources
|ACE/SmartSoft|| A messaging-based implementation of the Component Developer API based on the Adaptive Communication Environment (ACE) middleware.|
Current reference implementation. Stable.
|OPC UA||OPC UA based implementation of the Component Developer API. See also: SeRoNet||Not yet released.|
|DDS/SmartSoft|| RTI Connext DDS based implementation of the Component Developer API.|
|CORBA/SmartSoft|| CORBA-based implementation of the Component Developer API.|
Oldstable / Maintained till 2013
|Content to work with: Tier 2 Domain Models, Tier 3 Components, and Tier 3 Systems|
|Domain Models||SmartMDSD Toolchain projects with Tier-2-models. E.g. service definitions, coordination interfaces, skill definitions, etc.||Repository|
|Software Components||SmartMDSD Toolchain projects with models of previously developed software components that are available for immediate composition.|| Repository
|Systems||SmartMDSD Toolchain projects with models of examples, demonstrations, and operational applications. See also Videos||Repository|
|Additional Data||Additional data that is required by some components or systems. For example, it includes environments for simulators (e.g. for use with Gazebo and PlayerStage simulators).||Repository|
|Additional Utilities||Additional utilities used by some domain models and components.||Repository|
|OPC UA Devices||Repository with “traditional” OPC UA Servers and Clients to demonstrate the use of OPC UA Devices with the SmartMDSD Toolchain.||Repository|
To file a bug, please follow the above links to GitHub Source Code Repositories → Issues and file a bug there.
These links and repositories are either outdated, deprecated, or/and no longer being maintained and collected here for historical reasons or specific access. Please refer to downloads above for current versions.