|
Communication Structures for Wired Building Automation Network DesignThe specification of a communication problem is captured by end-to-end requirements among sensors, actuators and controllers. A specificaiton contains nodes and links representing end-to-end constraints. Section Communication Specification define a precise model to capture a specification.A platform instance is captured by a communication structure that includes the information of the component name and type. Links are actual wires and they are annotated wiht a cosi::WiringPath. A wire in the platform can accomodate many different wiring path, therefore, when instantiated, a wire has an "any value" wiring path. Section Communication Platform Instance describes the communication structure that is used to capture a platform instance. The wiring path is then assigned by an algorithm that computes the actual layout of a wire. The implementation is captured by a communication structure that combines the properties of the specification and the platform instance. Nodes are labeled by threads that bear the information on period and length of messages, and links are labeled by wiring paths. Section Communication Implementation describe the communication structure that is used to capture and implementation. Communication SpecificationThe specification of a wired building automation system synthesis problem is a communication structure labeled by cosi::commstruct::wiredbas::SpecificationLabel. The meaning of the labels is the following:
Figure_bas_spec_example shows an example of specification. The specification contains three nodes: a sensor named TempSens1, a controller names Ctrl and an actuatuator names Damper1. The sensor is a source of messages that are generated by a thread with name Thread1. This thread sends messages every 40 seconds to thread GetTempSens1 running on the controller. Each message is 8 bit long. The sensor is in position (0,0,1) and has one output port only. The maximum lantency of the massages is 2 second and it is specified on the link between the sensor and the controller. The link is bound to output port P1 of the sensor and input port P1 of the controller. Notice that the same label cosi::Ports is used to specify the ports of a node and the ports to which a link is bound. Notice that the links are only logical end-to-end connections between nodes. They represent connectivity requirements. Composition of SpecificationsThe composition code can be found in cosi::commstruct::wiredbas::Specification::operator+. The composition of two specifications relies on the definition of the composition of the single quantities and is defined as follows:
Communication Platform InstanceComponents of a platform instance are labeled by cosi::commstruct::wiredbas::PlatformLabel. We recall that the platform is a container, therefore nodes do not have threads assigned to them. Also, since the latency of a wire depends on the wiring path, protocol etc, there is no latency attached to a platform instance. On the other hand, the platform must expose the capabilities of the components. Therefore, each component should be labeled with quantities like:
Maximum length of a wiring path, maximum number of turns of a wiring path etc. These limitations are captured by models. Here, we define a minimum set of labels that are required for a platform instance. The labels are:
Composition of Platform InstancesPlatform instances can be component to form other platform instances. The composition is not constrainted by any rule at the moment. This is still to be defined.The composition is defined similarly to the composition of specifications with the important difference that the ports of the nodes in common between the two communication structures must also be the same (containement may be considered instead of equality).
Communication ImplementationThe implementation is the result of mapping the specification on a platform instance. It contains some quantities from the specification and some from the platform instance. In particular it contains the following:
Composition of ImplementationsThe composition of two implementations inherits its semantics from the composition of specificatio and palatform instances:
Generated on Sun Sep 7 18:37:45 2008 for COSI by 1.5.4 |