Abstract
Scheduling processes have been applied to a wide range of application areas, such as scheduling tasks in operating systems, scheduling facilities at airports, scheduling assembly lines in production, scheduling resources in project management, timetabling in public transportation, and scheduling activities in cyber-physical systems.
In general, scheduling problems are not trivial to solve effectively and efficiently. Design and implementation of scheduling software is expensive and time-consuming. This dissertation makes three main contributions:
First, we have adopted a feature-oriented Software Product Line Engineering (SPLE) approach. If applied correctly, the SPLE approach provides more economic solutions in case a family of products is developed instead of one product. Companies that develop scheduling systems generally implement product families. After an extensive domain analysis of the theory, the common and variable “features” have been defined. By choosing and configuring the right set of “features”, the designers can efficiently define scheduling systems according to their needs.
As a second contribution, to convert the abstract definitions into executable programs, we have designed and implemented an “application framework” called First Scheduling Framework (FSF). We consider reusability and dynamic extensibility as two quality attributes of the framework. To this end, generic “constraint-solvers” are adopted to translate the predefined “scheduling constraints” into the “constraint-language” of the corresponding solver and to use them to solve the translated problem. We have extended our implementation using MDE (Model-Driven Engineering) techniques so that “feature-oriented” models can be easily converted to the abstractions of the “application framework”.
As a third contribution, we have expanded our “feature-oriented” approach to a general “model optimization framework”. Scheduling systems can be influenced by many contextual factors, such as the desire for lower energy consumption, more precise computation, and dealing with certain hardware limitations. Due to contextual factors, it can be very difficult to define an optimal system that gives the best compromise for such multiple concerns. For this purpose, we propose OptML Framework, which accepts different models representing the contextual factors in the language of ECORE in the MDE environment and calculates the optimal models that meet user-defined requirements.
In general, scheduling problems are not trivial to solve effectively and efficiently. Design and implementation of scheduling software is expensive and time-consuming. This dissertation makes three main contributions:
First, we have adopted a feature-oriented Software Product Line Engineering (SPLE) approach. If applied correctly, the SPLE approach provides more economic solutions in case a family of products is developed instead of one product. Companies that develop scheduling systems generally implement product families. After an extensive domain analysis of the theory, the common and variable “features” have been defined. By choosing and configuring the right set of “features”, the designers can efficiently define scheduling systems according to their needs.
As a second contribution, to convert the abstract definitions into executable programs, we have designed and implemented an “application framework” called First Scheduling Framework (FSF). We consider reusability and dynamic extensibility as two quality attributes of the framework. To this end, generic “constraint-solvers” are adopted to translate the predefined “scheduling constraints” into the “constraint-language” of the corresponding solver and to use them to solve the translated problem. We have extended our implementation using MDE (Model-Driven Engineering) techniques so that “feature-oriented” models can be easily converted to the abstractions of the “application framework”.
As a third contribution, we have expanded our “feature-oriented” approach to a general “model optimization framework”. Scheduling systems can be influenced by many contextual factors, such as the desire for lower energy consumption, more precise computation, and dealing with certain hardware limitations. Due to contextual factors, it can be very difficult to define an optimal system that gives the best compromise for such multiple concerns. For this purpose, we propose OptML Framework, which accepts different models representing the contextual factors in the language of ECORE in the MDE environment and calculates the optimal models that meet user-defined requirements.
Original language | English |
---|---|
Qualification | Doctor of Philosophy |
Awarding Institution |
|
Supervisors/Advisors |
|
Award date | 31 Oct 2019 |
Place of Publication | Enschede |
Publisher | |
Print ISBNs | 978-90-365-4873-1 |
DOIs | |
Publication status | Published - 31 Oct 2019 |
Keywords
- Scheduling
- Model-Driven Architecture (MDA)
- Feature modeling
- Optimization
- Software product lines