Life Cycle Management for Programmable Machine Control Platform
Leppäkoski, Arttu Ville Juhani (2013)
Leppäkoski, Arttu Ville Juhani
2013
Automaatiotekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2013-04-03
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201304061102
https://urn.fi/URN:NBN:fi:tty-201304061102
Tiivistelmä
This Thesis develops methods for managing software and hardware during the life cycle of a programmable machine control platform. Life cycle management is important because of the long life cycle of this platform. Software reproducibility, management of software products, version controlling, test automation, continuous integration, and configurability of software are considered. These issues are implemented by processes for software configuration management, application life cycle management, and product life cycle management. The processes are described within the contexts of a programmable machine control platform in this Thesis.
The core of this work is embedded software framework, which creates the software architecture for the platform. A previously used embedded software framework was not suitable for controlling multiple software products and it only supported few hardware platforms. In addition, the lack of community and enterprise support and the framework’s poor usability were major disadvantages. Therefore, a new embedded software framework was deployed in this Thesis. Open-source and commercial options for an embedded software framework were compared and the Yocto Project was chosen. It was the best option meeting the requirements on programmable machine control platform. Based on it, new methods were studied and specified for managing software configurations and versions, reproducibility, version controlling, and application creation.
A new layer for the Yocto Project was also created in this Thesis. The new layer simplifies software and hardware modifications significantly. The layer consists of 76 files, including over 3000 lines of code and configuration information. In addition, a new server for continuous integration and test automation was deployed. It took a total of 180 working hours to create the layer and deploy the additional tools. Measurements were gathered to estimate the workload for different tasks. Furthermore, a number of metrics were created to provide a simple way to estimate the effectiveness of the tools and the processes.
The core of this work is embedded software framework, which creates the software architecture for the platform. A previously used embedded software framework was not suitable for controlling multiple software products and it only supported few hardware platforms. In addition, the lack of community and enterprise support and the framework’s poor usability were major disadvantages. Therefore, a new embedded software framework was deployed in this Thesis. Open-source and commercial options for an embedded software framework were compared and the Yocto Project was chosen. It was the best option meeting the requirements on programmable machine control platform. Based on it, new methods were studied and specified for managing software configurations and versions, reproducibility, version controlling, and application creation.
A new layer for the Yocto Project was also created in this Thesis. The new layer simplifies software and hardware modifications significantly. The layer consists of 76 files, including over 3000 lines of code and configuration information. In addition, a new server for continuous integration and test automation was deployed. It took a total of 180 working hours to create the layer and deploy the additional tools. Measurements were gathered to estimate the workload for different tasks. Furthermore, a number of metrics were created to provide a simple way to estimate the effectiveness of the tools and the processes.