4 REALIZATION 79
4.5 SUPER DISTRIBUTED OBJECTS
4.5.2 SDO non-functional Interfaces
4.5.2.2 Core SDO Class
Super Distributed Objects are represented by instances of the class SDO. They implement the Discovery interface and can optionally implement the Monitoring, Configuration (or Configura-tionExt), or the Reservation interface.
SDO - sdoID : Identifier - sdoName : string - sdoType : string - sdoProperties : NVList - available : Availability
Figure 83: Class SDO Attributes of the SDO Class
Attribute Type Description
sdoID Identifier The SDO identifier. The value of this attribute must be a globally unique value. Furthermore, the value of this attribute is constant for the life time of the SDO.
sdoName string The human-readable name that can be used to present the SDO for user (in an end-user application).
sdoType string The type of the SDO indicating its functionality. It may have values like LightSwitch or TV Set. If the SDO wraps a device specified by the class DeviceProfile, the value of type attribute corresponds to the value of deviceType attribute of this class.
sdoProperties NVList The list of parameters specifying SDO properties. For each parameter, the list contains its name and current value.
Attribute Type Description
available Availability The attribute indicating if the underlying device or software compo-nent of the SDO is currently available. In addition, it contains the possible reason of device unavailability, for example network failure or some device-specific problems, as text.
Table 9: Attributes of Class SDO Class DeviceProfile
DeviceProfile + deviceType : string + deviceModel : string + manufacturer : string + specifications : NVList
Figure 84: Device Profile
The class DeviceProfile describes the device wrapped by the SDO. The existence of a device profile is not mandatory; there can be SDOs that offer only services without any physical de-vice.
Nevertheless, an SDO can only represent one physical device. Therefore, it provides at maxi-mum one instance of the DeviceProfile. The attributes of this class reflect the device characteris-tics.
Attributes of the DeviceProfile Class
Attribute Type Description
deviceType String The type of device in string representation, for example printer or light switch.
deviceModel String The name of device model given by manufacturer.
manufacturer String The name of device manufacturer.
specifications NVList The list of static device characteristics and their values. The content of the list depends on the device type and model. For a computer screen properties may comprise the range of possible screen resolutions and supported frequencies.
Table 10: Attributes of Class DeviceProfile
Class SDOServiceProfile
SDOServiceProfile + serviceID : Identifier + interfaceType : string + serviceDescription : string + serviceProperties : NVList + availabilityStatus : Availability + status : ReservationStatus + serviceRef : SDOService
Figure 85: SDOServiceProfile Class
An object of the class SDOServiceProfile represents services that any SDO can provide. Corre-sponding to the number of services, the SDO class can contain zero, one or more instances of the class SDOServiceProfile. This class describes all information of the service, including its functionalities, availability, and the reference to the service object.
Attributes of the SDOService Profile Class
Attribute Type Description
serviceID Identifier The unique identifier of the service; its value must be unique across all services of this SDO. Please note that this identifier must not be globally unique.
Attribute Type Description
serviceProperties NVList The list of parameters specifying service attributes. For each parameter, the name and current value are contained in the list.
interfaceType String The type of the service interface. The attribute value refers to interface specification in an interface repository. The specific format of this value and kind of repository de-pends on the technology supported by the SDO. For SDOs based on CORBA this may be the IDL interface type, for instance, “IDL:LightDevices/Switch:1.0”. The attribute remains constant value for the SDO life time.
serviceDescription String A brief human-readable description of the service seman-tics, for example, switch or sendMessage.
availabilityStatus Availability This attribute indicates whether the service is currently available. In addition, it contains the possible reason of unavailability, for example network failure, as text.
status Reservation-Status
The reservation status of the service. This status descrip-tion defines if and how the service is reserved by another SDO. Other SDOs can use this attribute before reserving or executing the service.
serviceRef Service The reference to service object represented by this service profile.
Table 11: Attributes of Class ServiceProfile Resource Data Model Examples
To cover the overall concept of the Super Distributed Objects (SDO) three different types of SDOs (Thermometer SDO, Airconditioner SDO, and TemperatureController SDO) are de-scribed as example SDOs. These three examples are used throughout this document to illustrate the interfaces or their usages.
Thermometer SDO is a simple SDO representing a physical device, a thermometer that senses the temperature of a room. It does not provide any service and has only two monitoring parame-ters. The Airconditioner SDO is a more complex SDO with an air-conditioner as the underlying device providing two services, cooling and heating. TemperatureController SDO is an SDO that does not represent any physical device but provides a service that controls the temperature of the room.
The following examples will describe the resource data model of SDOs with concrete values.
DeviceProfile
Attribute Value deviceType TemperatureSensor deviceModel TH310
Manufacturer Thermo Inc.
name value specifications
rangeMin rangeMax
-50 150
SDO
Attribute Value sdoID abc_2234_5567 sdoName ThermoSensor sdoType TemperatureSensor
name value sdoProperties
location value unit
Meeting_room 25
Celcius available available
true
availabilityNote
Figure 86: Thermometer SDO
Thermometer SDO is a simple SDO representing a physical device whose profile is described by the DeviceProfile. It does not provide any service. Therefore, it does not implement SDOS-erviceProfile class. One of the parameters of the Thermometer SDO named value holds the cur-rent temperature of the room wherever it is located (Meeting_room).
This value can be monitored by other SDOs but it cannot be changed or configured. Another parameter unit denotes the unit (degrees Celsius or degree Fahrenheit) of value. This parameter can be monitored and configured.
SDO Attribute Value sdoID mno_8876_0987 sdoName temperatureController sdoType temperatureService
name value sdoProperties
location Meeting_
room available available
true
Availability Note
SDOServiceProfile Attribute Value
serviceID tempContrl_112233
interfaceType temperatureController serviceDescription Keeps the temperature of
the room within certain level.
Name value minTemp 22 serviceProperties
maxTemp 25
available availabilityNo te
availableStatus
true mode Available
After status
FREE
serviceRef Temp controller service reference
Figure 87: TemperatureController SDO
The TemperatureControllerSDO is a service SDO that does not represent any physical device. Its function is to keep the temperature of a room at some predefined level. When the temperature of the room is below the predefined level minTemp it turns the heater of the air-conditioner on, if the temperature of the room goes above maxTemp it turns the cooler on and if the temperature is between these two predefined levels it turns the air-conditioner off. These two properties of the service minTemp and maxTemp can be configured.
This SDO needs both SDOs, the Thermometer SDO and the Airconditioner SDO, to work properly. It monitors the temperature of the room provided by the Thermometer SDO and can then invokes either one of the two services provided by the Airconditioner SDO.