You are required to read and agree to the below before accessing a full-text version of an article in the IDE article repository.
The full-text document you are about to access is subject to national and international copyright laws. In most cases (but not necessarily all) the consequence is that personal use is allowed given that the copyright owner is duly acknowledged and respected. All other use (typically) require an explicit permission (often in writing) by the copyright owner.
For the reports in this repository we specifically note that
By accepting I agree to acknowledge and respect the rights of the copyright owner of the document I am about to access.
If you are in doubt, feel free to contact email@example.com
Main advisor: Prof. Ivica Crnkovic
Co-advisors: Prof. Tiberiu Seceleanu, Dr. Antonio Cicchetti
Examiner and committee:
Prof. Mehmet Aksit, University of Twente
Prof. Raffaela Mirandola, Politecnico di Milano
Prof. Mikael Sjödin, MDH
The new development of different types of computation units, such as FPGAs and multicore CPUs, enables a tremendous improvement in performance of applications that utilize the dedicated types of computations. For complex applications this however introduces a new challenge - what is the optimal deployment configuration of their components? Today the application deployment is based on ad-hoc architectural decisions taken in an early design phase, when many design details are unknown, and as a consequence they often change in a later phase, increasing so the development costs. In addition, the decisions are taken based on a limited number of requirements, mostly related to runtime properties such as performance, resource utilization and power consumption, but do not consider many other aspects related to lifecycle properties, or to the project constraints. This approach increases the risk that a decision has a negative impact on a runtime or a lifecycle system property and may lead to the mentioned changes.
This thesis addresses the problem of optimal hardware/software deployment of an application. The main objective is to define a process in which the deployment decisions are taken in a systematic way in a later phase of the design process, and the partition decision process takes into account all artifacts on which the decisions have direct impact. These artifacts include the application’s runtime properties, the properties related to the application lifecycle, the business goals, and the development project constraints. To achieve this objective we have a) defined a development process model that addresses the deployment explicitly in the late design phase, b) designed a metamodel of component-based applications deployed as hardware or software executable units, and c) analyzed the suitability of Multiple Criteria Decision Analysis methods for providing partitioning decisions based on a large number of criteria. In addition we have analysed which properties are affected by the partitioning decisions in the Control and Automation domains. The feasibility of the proposed process is demonstrated throughout an industrial case study.