cloudsimplus/cloudsimplus

Allow the combination of specialised Datacenters, Hosts, VMs and Cloudlets to enable such objects to be both power- and network-aware.

manoelcampos opened this issue · 0 comments

FEATURE

Interfaces such as Datacenter, Host, Vm and Cloudlet have different implementing classes that provide specialised behaviour such as either network-enabled or power-aware objects. However, using inheritance to implement different kinds of such objects limits the use of just one kind of object at a given simulation. For instance, it is not possible to have a network and power-aware kind of Host. The only way would be creating a new NetworkPowerHost class that join the behaviour of both hosts.

Detailed information about how the feature should work

There must be just the basic DatacenterSimple, HostSimple, VmSimple and CloudletSimple classes. The complementary behaviour must be provided using composition instead of inheritance. This way, any object will be allowed to have multiple behaviours, such as network or power consumption. New behaviours would even be added at runtime when an object is instantiated.

An example scenario where this feature should be used

It would be possible to build a simulation that aims to assess the power consumption of network-enabled objects such as Datacenters, Hosts and VMs.

A brief explanation of why you think this feature is useful

This feature will move CloudSim Plus to a next level, allowing the composition of different behaviours for simulation objects and then the modelling of even more realistic simulation scenarios.
It will allow defining different behaviour classes such as Network, Power and so on that could be mixed together in any way and number.

Examples Included

More Information

CloudSim Plus 2.0.0 Release Notes