Package org.osid.control

The Open Service Interface Definitions for the org.osid.control service.

See: Description

Package org.osid.control Description

The Open Service Interface Definitions for the org.osid.control service.

The Control OSID manages control systems. A system is comprised o f Devices whose Controllers are the control points. Devices have various Input mechanisms to command the Controllers.

Device

A Device represents some piece of visible equipment in a system. Example Devices are joysticks, yokes, and control panels.

Controller

A Controller is an Operable manages a specific responder in a system such as a model railroad gate, an airplane rudder, or the volume of a stereo. The management of a Controller includes on/off, variable amount values, or a set of States. A Controller is a black box. The Control OSID does not describe or manage system responders or how a Controller performs its tasks.

Inputs

An Input is an OsidRelationship between a Device and a Controller. A yoke may have several Inputs. One Input for push-pull that commands the Controller for the elevator, another Input for turning that commands the Controller for the ailerons, and another Input that commands the Controller for enabling and disabling auto-pilot.

Settings

A Setting captures fixed setting values for a Controller. A Controller for a sound system volume may have a variable amount Setting for LOUD and another variable amount Setting for SOFT. Settings are the basic building blocks for Scenes.

Scenes

A Scen e is a set of Settings. While a Setting is a value for a single Controller, Scenes apply values across a bunch of Controllers. Executing a movie theater Scene may set the light Controllers to dim values, close the curtains, and set the sound system vilume.

Triggers

Triggers are OsidRules used to perform actions in response to a value or state change in a Controller. Triggers have two parts. One part of the Trigger is the event listening criteria (fan turned on, light changed brightness). The second part of a Trigger is the execution that is to be performed when the event criteria is true. The OsidRule may encapsulate more complex event criteria.

An example Trigger is when the motion sensor Controller is turned "on," the Trigger executes a Setting or a Scene that turns on the porch light.

Triggers may execute Scenes or Settings directly. This is the simpler approach but does not allow for other rules or conditionals not expressable by a set of critera. Triggers may also execute ActionGroups.

Actions and ActionGroups

ActionGroups are a set of Actions. Actions are OsidRules to be executed. Built-in rules execute Settings or Scenes. These OsidRules may reference other actions or behaviors not directly described in the Action.

Settings, Scenes, and Actions

A Setting is a single state or value for a specific Controller used to build Scenes but may also be directly executed by a Trigger or Action.

Scenes are a set of Settings used to set the state or values of multiple Controllers simultaneously and provide reusability of clusters of Settings.

ActionGroups may be used with Triggers to achieve the same effect as a Setting. The difference between a set of Actions and a Setting are the presence of rules in the Actions. These rules may determine which Actions within an ActionGroup apply at tha time within a context. As such, each evaluation across an ActionGroup may result in different sets of executed Actions unlike Scenes whose complete set of Settings are known up front and may be thought of as a multicast group.

System Cataloging

All Devices, Inputs, Controllers, Settings, Scenes, Triggers , and ActionGroups may be organized into federateable OsidCatalogs called Systems.

Sub Packages

The Control OSID includes a Control Rules OSID for managing rules amd a Control Batch OSID for managing Devices, Inputs, Controllers, Scenes, Settings, Triggers, and ActionGroups in bulk.




Copyright © 2013 Ingenescus. All Rights Reserved.

This Work is being provided by the copyright holder(s) subject to the following license. By obtaining, using and/or copying this Work, you agree that you have read, understand, and will comply with the following terms and conditions.

Permission to use, copy and distribute unmodified versions of this Work, for any purpose, without fee or royalty is hereby granted, provided that you include the above copyright notices and the terms of this license on ALL copies of the Work or portions thereof.

You may nodify or create Derivatives of this Work only for your internal purposes. You shall not distribute or transfer any such Derivative of this Work to any location or to any third party. For the purposes of this license, "Derivative" shall mean any derivative of the Work as defined in the United States Copyright Act of 1976, such as a translation or modification.

This Work and the information contained herein is provided on an "AS IS" basis WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE WORK OR THE USE OR OTHER DEALINGS IN THE WORK.

The export of software employing encryption technology may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting this Work.