Document Type

Technical Report

Publication Date






Technical Report Number



Scheduling problems arise each time there is some form of resource contention. The problem addressed by scheduling disciplines is that of ordering the access to contended resources. The ordering is typically based on either (1) properties that are exposed by the entities that compete for the resource (like a deadline), or by (2) external properties (like the arrival order), or (3) a combination of both. In literature there exist many different scheduling algorithms, each of which has certain properties and an associated application domain. All these scheduling disciplines are based on the assumption that all the entities that com-pete for a resource are provided with the same collection of properties. This assumption makes sense in a closed environment; however it makes interoperability difficult for sys-tems that have different scheduling algorithms and in which competitors migrate from one system to another. This problem is becoming evident in distributed computing environ-ments like Object Request Brokers (ORB), Agent Frameworks, Load Balancing Systems, in which active components, which have usually QoS requirements, migrate through differ-ent endsystems. In such scenarios we cannot assume that all the endsystems will provide the same scheduling disciplines for all the resources that might be subject to scheduling. Even if they do, there might be a lack of a global knowledge that would make interoperability hard. In general, it is desirable that the QoS requirements exposed by any of these active components will be preserved and enforced even in face of presence of non-homogeneity, and migration. This thesis tackles the problem outlined above, by (1) providing a formal framework that can be used to describe any scheduling discipline, (2) providing a set of transformations that can be applied to the migrating entities, to reconcile their QoS requirements with respect to the scheduling discipline of the visited end system, and (3) providing a meta-programming architecture that maps the formalized abstractions to a software architecture that can be used as a reference model for a system that implements the ideas expressed in this thesis.


Permanent URL: