when committed to a certain set of operating reserve
for the following day. Assume that we bid to sell 500
KW at 14:00, 600 KW at 14:15, 700 KW at 14:30, and
400 KW at 14:45. For sake of simplicity, these quan-
tities representing the bid for one hour of production
are represented as vectors. In total, this amounts to
a provided power of 2200 KWh resulting in costs of
3300 e at 1.5 e per KWh. Assume that vp has two
plants available: a biomass power plant bm, and a hy-
dro plant hy. All power plants, virtual or not, are rep-
resented by the concept ResourceProvider which is
a specialization of a resource agent that contains a set
of intervals feasReg for the feasible regions that a re-
source provider can contribute in.
As discussed, the aim of the paper is to highlight
the representation of resources on multiple levels of
abstraction. Figure 3 shows two levels of granular-
ity within the unified ontology, of course there could
virtually be an infinity of levels. The service to be
realized is the service Provide energy at defined cost
and time slots. The contract
Service Realization Provide energy at defined cost
and time slots.
Input contract: h500, 600, 700, 400i at 14:00 at
costs ≤ 3300 e.
bm : ResourceProvider hy :
ResourceProvider
Requires Resource e
vp
500 at 14:00, e
vp
600 at
14:15, etc.
The bm and hy power plants can firstly be defined
as ResourceAgent. We define:
Resource ResourceProvider bm
Type Resource Agent
Attribute feasible Regions : [0, 0], [100, 400]
costs : 1.7 e per KWh
Having the [0, 0] interval present indicates that the
agent can be disconnected from contributions and if it
does contribute, it has to do so above a minimal level.
The same description can be made for the Resource-
Provider hy. The feasible regions and costs for that
other power plant (hy) is given by {[0, 0][50, 300]} at
1.2 e.
Next, we define the energy resource provided by a
plant as ResourceObject, more specifically:
Resource Energy e
bm
Type Resource Object
Attribute quantity and unit
Provides Electrical Energy
The same description can be made for Energy e
hy
.
Finally, we illustrate the aggregation of the resources
like:
Resource AggregateEnergy e
vp
Type Resource Object
Provides Energy equal to
∑
a∈{bm,hy}
e
a
Resource VirtualPlant vp
Type Resource Agent
Aggregates bm, hy
Attribute virtual: true, feasible Regions: [0,0],
[50, 700], cost: *piecewise linear function*
Figures 2 and 3 show the modeling of the two lev-
els of hierarchy using object diagrams. In the lower
side of the picture the lowest level of abstraction is
represented while the upper side of the picture shows
how a virtual agent can be built out of a composition
of resource agents.
After the description and the illustration on the
Figure, it is important to highlight that we can express
constraints on production (of energy in this particular
case) within instances between the association class
between the ResourceAgent instance and the Compe-
tency one. Typically the Contract instance is part of
the Service Level Agreement (SLA) that is expressed
at Service Realization instance level as a composition
of Contract instances for the realization of the ser-
vice. The building of the global SLA can thus also
be expressed on multiple levels and be rolled-up and
drilled-down on multiple levels.
5 SOLVING HIERARCHICAL
RESOURCE ALLOCATION
Once the resource agents are modeled adequately, we
can use model abstraction to reduce the complex-
ity of the optimization problem faced when solving
cost-effective resource allocation. First, for each in-
ner node in the hierarchy, a set of models of un-
derlying resource agents is collected and abstracted
into a single one (representing the group’s capabili-
ties) and can be handed over to the subordinate agent.
Second, the resource allocation can be performed in
a top-down and recursive manner. Algorithms as
described in (Schiendorfer et al., 2014) come into
play. We illustrate the concept with the case study
and show the simplest of all techniques, finding the
general feasible regions of one virtual power plant.
To do so, we essentially combine all feasible inter-
vals of the underlying agents and merge overlapping
intervals. If we activate only bm, {[100, 400]} is
possible, if we activate only hy, {[50, 300]} is vi-
able. Switching both off enables the [0, 0] interval
and switching both on means that the resulting in-
terval is given by [150, 700], hence we obtain the in-
ModelingHierarchicalResourcesWithinaUnifiedOntology-APositionPaper
617