Abstract

The underlying infrastructure paradigms behind the novel usage scenarios and services are becoming increasingly complex—from everyday life in smart cities to industrial environments. Both the number of devices involved and their heterogeneity make the allocation of software components quite challenging. Despite the enormous flexibility enabled by component-based software engineering, finding the optimal allocation of software artifacts to the pool of available devices and computation units could bring many benefits, such as improved quality of service (QoS), reduced energy consumption, reduction of costs, and many others. Therefore, in this paper, we introduce a model-based framework that aims to solve the software component allocation problem (CAP). We formulate it as an optimization problem with either single or multiple objective functions and cover both cases in the proposed framework. Additionally, our framework also provides visualization and comparison of the optimal solutions in the case of multi-objective component allocation. The main contributions introduced in this paper are: (1) a novel methodology for tackling CAP-alike problems based on the usage of model-driven engineering (MDE) for both problem definition and solution representation; (2) a set of Python tools that enable the workflow starting from the CAP model interpretation, after that the generation of optimal allocations and, finally, result visualization. The proposed framework is compared to other similar works using either linear optimization, genetic algorithm (GA), and ant colony optimization (ACO) algorithm within the experiments based on notable papers on this topic, covering various usage scenarios—from Cloud and Fog computing infrastructure management to embedded systems, robotics, and telecommunications. According to the achieved results, our framework performs much faster than GA and ACO-based solutions. Apart from various benefits of adopting a multi-objective approach in many cases, it also shows significant speedup compared to frameworks leveraging single-objective linear optimization, especially in the case of larger problem models.

Highlights

  • We present an Model-driven engineering (MDE)-based framework for solving the software component allocation problem (CAP)

  • There are other meta modeling languages, including the meta object facility (MOF) [10], which is the core meta modeling language in the model driven architecture (MDA) based approaches proposed by the object management group (OMG) [11]

  • We have introduced a novel model-driven framework tackling the component allocation problem for both single- and multi-objective cases

Read more

Summary

Introduction

Model-driven engineering (MDE) advocates the use of models for the quick and efficient development of systems. Models are the central artifacts in MDE, and these models must conform to meta-models. MDE approaches are based on the use of meta-models. A model needs to conform to a meta-model. This means that the model must respect the structure and constraints defined by the meta-model. The meta-model specifies the concepts of a domain, the relationships between these concepts, and the rules that restrict the possible elements and relationships in the valid models. The meta-models in the eclipse modeling framework [8] are specified in Ecore [9]. There are other meta modeling languages, including the meta object facility (MOF) [10], which is the core meta modeling language in the model driven architecture (MDA) based approaches proposed by the object management group (OMG) [11]

Methods
Results
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.