SRRC Wiki

Service Robotics Research Center
at Ulm University of Applied Sciences

User Tools

Site Tools


how-tos:manual-deployment:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
how-tos:manual-deployment:start [2019/02/06 12:00]
Alex Lotz [Step 4: Building and executing the component(s)]
how-tos:manual-deployment:start [2019/02/06 13:15] (current)
Dennis Stampfer
Line 1: Line 1:
 ====== Manual Deployment: Wiring and Naming Services ====== ====== Manual Deployment: Wiring and Naming Services ======
  
-This HowTo aims for experts who whant to understand and to manually perform the behind-the-sceens deployment process that is automated within the SmartMDSD Toolchain. The overall automated deployment process consists of several steps, such as preparing the component'​s ini files (that provide the components'​ startup configurations),​ as well as the actual copying of all required artefacts (like the component binaries and their directly required libraries) to the target platform, and finally executing all the components of a current system within the target platform. These steps are automated within the SmartMDSD Toolchain and can be executed in one click. However, these steps can also be executed manually and this page descibes how this can be done.+This HowTo aims for experts who whant to understand and to manually perform the behind-the-sceens deployment process that is automated within the SmartMDSD Toolchain.
  
-=====Component Execution Manually ​:=====+The overall automated deployment process consists of several steps, such as preparing the component'​s ini files (that provide the components'​ startup configurations),​ as well as the actual copying of all required artefacts (like the component binaries and their directly required libraries) to the target platform, and finally executing all the components of a current system within the target platform. These steps are automated within the SmartMDSD Toolchain and can be executed in one click. However, these steps can also be executed manually and this page descibes how this can be done. 
 + 
 +=====Component Execution Manually =====
  
 To execute a component manually on the development PC (i.e. the target is the same as the development PC) without using the SmartMDSD Toolchain'​s deploment functionality,​ it is necessary to provide a startup configuration (i.e. the ini file) of that component, to compile the component, and finally to execute it along with the SmartSoft naming service. To execute a component manually on the development PC (i.e. the target is the same as the development PC) without using the SmartMDSD Toolchain'​s deploment functionality,​ it is necessary to provide a startup configuration (i.e. the ini file) of that component, to compile the component, and finally to execute it along with the SmartSoft naming service.
Line 19: Line 21:
 You can now modify the ini file using any standard text editor of your choice. The minimally required information,​ that you have to provide in the ini file relates to the **connection information** for the component'​s **client ports**. You will find this parameters below the heading named **client port parameter** (within the ini file). You can now modify the ini file using any standard text editor of your choice. The minimally required information,​ that you have to provide in the ini file relates to the **connection information** for the component'​s **client ports**. You will find this parameters below the heading named **client port parameter** (within the ini file).
  
-By default you will see the keyword **unknown** which reflects the fact that this information has not yet been provided. Here you will need to provide a **serverName** -- this is a component-name of the other component that provides the respective service -- and the **serviceName** -- this is the name of the server port that this client port should connect to (you will find the service names in the other ini file of the respective component that provides the relevant service).+By default you will see the keyword **unknown** which reflects the fact that this information has not yet been provided. Here you will need to provide a **serverName** -- this is a component-name of the other component that provides the respective service -- and the **serviceName** -- this is the name of the server port that this client port should connect to (you will find the service names in the other ini file of the respective component that provides the relevant service). If you are using the SmartMDSD Toolchain, these values would be filled out automatically based on your component architecture.
  
 Please note, that some client ports of a component are optional and thus must not be necessarily connected. You can identify optional client ports if they provide the parameter **initialConnect false**. If you like to connect an optional client port, you need to specify its **serverName** and **serviceName**,​ as well as change the **initialConnect** value to **true**. All other client ports that do not have initialConnect flag specified are mandatory client ports and must be strictly connected to a respective service of another component. Please note, that some client ports of a component are optional and thus must not be necessarily connected. You can identify optional client ports if they provide the parameter **initialConnect false**. If you like to connect an optional client port, you need to specify its **serverName** and **serviceName**,​ as well as change the **initialConnect** value to **true**. All other client ports that do not have initialConnect flag specified are mandatory client ports and must be strictly connected to a respective service of another component.
Line 64: Line 66:
  
 Please note that you can modify all the other parameters as well, but the connection information is the only required information that you must provide as the minimum. Please note that you can modify all the other parameters as well, but the connection information is the only required information that you must provide as the minimum.
 +
 +
 ====Step 3: Move ini files ==== ====Step 3: Move ini files ====
  
-Please move the modified **ini file** from the component project'​s **smartsoft/​src-gen/​** folder to the **$SMART_ROOT_ACE/​etc** location (you might need to create the etc folder under $SMART_ROOT_ACE if it does not yet exist).+Please move the modified **ini file** from the component project'​s **smartsoft/​src-gen/​** folder to the **$SMART_ROOT_ACE/​etc** location (you might need to create the etc folder under $SMART_ROOT_ACE if it does not yet exist). etc/ is the default location where component ini files are expected.
  
 <code bash> <code bash>
Line 76: Line 80:
 ====Step 4: Building and executing the component(s) ==== ====Step 4: Building and executing the component(s) ====
  
-Before you can execute the components, you will need to start the SmartSoft ​naming service daemon. Therefore open a new terminal window and provide these commands:+Before you can execute the components, you will need to start the naming service daemon. It assists the component in finding and connecting to each other. Therefore open a new terminal window and provide these commands:
  
 <code bash> <code bash>
Line 108: Line 112:
 Now you should be able to see different components (each in a separate terminal window) executing together as a system. Now you should be able to see different components (each in a separate terminal window) executing together as a system.
  
-You can stop the components by typing the shortcut **CTRL+C** in each of the component terminal windows. The naming-service daemon can be stopped by the command **./​stopSmartSoftNamingService**.+You can stop the components by typing the shortcut **CTRL+C** in each of the component terminal windows. This will shut down the components in a controlled way. The naming-service daemon can be stopped by the command **./​stopSmartSoftNamingService**.
  
  
  
how-tos/manual-deployment/start.txt · Last modified: 2019/02/06 13:15 by Dennis Stampfer