2.3. Component Development View

The component development is also shown in a screencast (section 3.1.3).

For the component development a new SmartSoft component project has to be created. To do so, choose "File->New->SmartSoft Component" (cf. figure 2.14), enter a name and choose a storage location. Typically the project is stored at "$SMART_ROOT_ACE/src/components" and its name starts with "Smart" followed by the purpose of the component.

Create a new component project

Figure 2.14. Create a new component project


Existing SmartSoft component projects can be imported by selecting "File->Import". In the appearing dialog choose "General->Existing Projects into Workspace".

The development of SmartSoft components consists of two steps. The component modeling and the component implementation. During the component modeling the external structure of the component is defined. The services which are used to communicate with other SmartSoft components, as well as the parameters which can be adjusted during the system composition are defined during this step. After the external structure is modeled, the code generator has to be started manually. The generated C++ files are used to implement the functionality of the component.

2.3.1. Component Projects

Component projects have a common folder structure as explained in the following:

  • build: This directory contains the cmake generated files and should not be versioned.

  • bin: Temporary, toolchain internal folder. This directory should not be versioned.

  • model: The model folder contains the graphical model of the Component (*.di) and the human readable documentation model of the component (<component name>_documentation.compdoc).

  • src: This folder contains of both, the initially generated C++ files and the custom C++ files. The generated C++ files in this folder will not be overwritten during the successive code egenerator calls and thus can be safely modified according to the component's specific needs.

  • src-gen: Source-code that is generated by the SmartSoftMDSD toolchain. Please do not modify these files, they will be overwritten each time the toolchain generator is executed.

  • CMakeLists.txt:This file is used to include additional sources for compilation and add external libraries or further smartsoft utilities and/or communication-objects. (Further information is provided in section 2.3.4)

Structure of Component Projects

Figure 2.15. Structure of Component Projects


WordPress Appliance - Powered by TurnKey Linux