Abstract
While the extensibility of many software systems has been greatly improved during the past two decades, nontrivial control systems remain to be a category of software systems that are remarkably difficult for independent parties to extend.
Support for independent extension is the ability to introduce a new component without performing a global integrity check. Avoiding a global integrity check relies on anticipating what kind of extensions are required in the future and designing a suitable interface and coordination mechanism, so that conflicts among mutually unaware components can be resolved automatically. Typical control system components are concerned with the way in which actuators are controlled. Combining mutually unaware control system components that share interest in the same actuators are likely to lead to complex conflicts, thus making control systems a particularly challenging kind of system to design for independent extension.
This thesis presents two new software technologies that improve the extensibility of control systems:
First, the concept of dynamic links is introduced and Decouplink – an implementation of dynamic links for Java - is presented. Dynamic links allow objects to be connected even though their types are not related. Without compromising independent extensibility, dynamic links allow for a new dimension of structural extension that is not supported by traditional object-oriented programming.
Second, the concept of an extensible controller is introduced, and an implementation is presented. The extensible controller is a component framework designed to automatically resolve conflicts among mutually unaware components in a control system. The solution is based on the idea that independent components implement different kinds of control concerns - hard concerns are constraints that must always be met, while soft concerns describe desirable goals that may be prioritized by the system's user. The extensible controller uses a genetic algorithm to continuously resolve conflicts among independently developed control concerns.
Both new software technologies are used to design and implement Controleum – a control system for climate control in greenhouses. It is shown that Controleum can be independently extended with support for new climate control requirements.
Support for independent extension is the ability to introduce a new component without performing a global integrity check. Avoiding a global integrity check relies on anticipating what kind of extensions are required in the future and designing a suitable interface and coordination mechanism, so that conflicts among mutually unaware components can be resolved automatically. Typical control system components are concerned with the way in which actuators are controlled. Combining mutually unaware control system components that share interest in the same actuators are likely to lead to complex conflicts, thus making control systems a particularly challenging kind of system to design for independent extension.
This thesis presents two new software technologies that improve the extensibility of control systems:
First, the concept of dynamic links is introduced and Decouplink – an implementation of dynamic links for Java - is presented. Dynamic links allow objects to be connected even though their types are not related. Without compromising independent extensibility, dynamic links allow for a new dimension of structural extension that is not supported by traditional object-oriented programming.
Second, the concept of an extensible controller is introduced, and an implementation is presented. The extensible controller is a component framework designed to automatically resolve conflicts among mutually unaware components in a control system. The solution is based on the idea that independent components implement different kinds of control concerns - hard concerns are constraints that must always be met, while soft concerns describe desirable goals that may be prioritized by the system's user. The extensible controller uses a genetic algorithm to continuously resolve conflicts among independently developed control concerns.
Both new software technologies are used to design and implement Controleum – a control system for climate control in greenhouses. It is shown that Controleum can be independently extended with support for new climate control requirements.
Original language | English |
---|---|
Supervisors/Advisors |
|
Publication status | Published - 31. Jan 2014 |
Keywords
- independent extensibility
- control system
- Decouplink
- greenhouse climate control
- dynamic links