Skip to content

Diagram UserTaskLink

Design_UserDoc_UserTaskLink UserObjectLink UserObjectLink UserObjectInterface UserObjectInterface UserObjectLink->UserObjectInterface userObjectInterface 1..1 Controller Controller Controller->UserObjectLink userObjectLink 0..N Controller->Controller extends > extends 0..1 UserObjectInterfaceVariable UserObjectInterfaceVariable UserObjectInterface->UserObjectInterfaceVariable interfaceVariable 0..N UserObjectLinkInstance UserObjectLinkInstance UserObjectLinkInstance->UserObjectLink userObjectLink > target 1..1 UserObject UserObject ControllerInstance ControllerInstance ControllerInstance->Controller instanceOf 1..1 ControllerInstance->UserObjectLinkInstance userTaskLinkInstance[UserObjectLink] 1..1 AUserObject AUserObject UserObjectWrapper UserObjectWrapper

A UserObjectLink is the type-level declaration on a Controller that names which shared UserObjectInterface the controller's code may access. The matching instance-level binding is a UserObjectLinkInstance.

class UserObjectLink extends NamedResource

Controller

A Controller is a reusable control-behaviour type - the unit that defines the commands, states, transitions, interlocks and messages for one kind of device or function. It is instantiated many times as ControllerInstances in the tree and exposes its behaviour through a public interface, a per-instance interface and a private internal interface. A project controller usually extends a library base controller and adds only its specific behaviour.

class Controller extends NamedResource, AControllerDescription, AnnotableComment, DatatypeLibraryOwner, RootVariableLibrary, RootVariableName, AOoDomainRoot, ACallingBaseElement, AResourceWithType

UserObjectInterface

A UserObjectInterface is a shared typed data structure that acts as a blackboard for cross-hierarchy data sharing - data exchanged outside the parent / child path. Each producing controller writes its own slot, and any controller with a link can read the whole structure.

class UserObjectInterface extends NamedResource, DatatypeLibraryOwner, AnnotableComment

UserObjectInterfaceVariable

class UserObjectInterfaceVariable extends NamedResource, AnnotableComment, BaseDataVariable, ArrayVariable

UserObjectLinkInstance

A UserObjectLinkInstance is the instance-level binding on a ControllerInstance that connects the controller's UserObjectLink to a placed UserObjectWrapper, wiring this instance to the tree-global blackboard.

class UserObjectLinkInstance extends Decorator

UserObject

class UserObject extends AUserObjectInterface, APlatformUserObject

ControllerInstance

A ControllerInstance is a Controller placed in the ControllerTree under a Level. It represents one concrete occurrence of a controller type, carrying its instance-specific attributes and the wiring to its child instances.

class ControllerInstance extends AnnotableComment, RangeChildFieldRef, BaseTreeElementInstance

AUserObject

abstract class AUserObject extends NamedResource, AnnotableComment

UserObjectWrapper

A UserObjectWrapper is the single placed instance of a UserObjectInterface, parented to a Level so the shared blackboard is globally addressable in the tree. Controller instances bind to it to read and write the shared data.

class UserObjectWrapper extends AUserObjectInterface