Diagram UPoo
AOoDomain
abstract class AOoDomain extends Resource
AOoDomainRoot
abstract class AOoDomainRoot extends AOoExtendable, AOoDomain
OverrideableObjects
class OverrideableObjects extends Decorator
AOverrideableObject
abstract class AOverrideableObject extends Resource
AOverrider
abstract class AOverrider extends Decorator
ChildOverrideable
class ChildOverrideable extends AOverrideableObject
GuardOverrideable
class GuardOverrideable extends AOverrideableObject
SharedFunctionOverrideable
class SharedFunctionOverrideable extends AOverrideableObject
AVariableLibrary
abstract class AVariableLibrary extends NamedResource, AnnotableComment, DatatypeLibraryOwner, AAutoPrefix, AOoDomainRoot
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
DatatypeLibrary
A DatatypeLibrary holds the datatypes and constants used by a project and its controllers - enumerations, record types, function-block types and named constants. Controller interface and local variables are typed by its contents; a master library aggregates per-controller sub-libraries.
class DatatypeLibrary extends NamedResource, AOoDomainRoot, DatatypeLibraryOwner, ACallingBaseElement, AAutoPrefix, Commentable
VariableGroup
class VariableGroup extends NamedResource, AOoDomainRoot
AStatemachine
abstract class AStatemachine extends Decorator, AnnotableComment
StatemachineExtension
A StatemachineExtension defines a controller's statemachine by building on an inherited base statemachine instead of from scratch. It reuses the base lifecycle and adds or overrides only the parts specific to this controller.
class StatemachineExtension extends AStatemachine, AJunctionProperty
StateOverride
A StateOverride re-declares a state group inherited from a base statemachine so a controller can extend it - adding sub-states, transitions or replacement lifecycle code - without redefining the whole machine.
class StateOverride extends AStateExtension, Statemachine
AStateExtension
abstract class AStateExtension extends TargetState
StateBase
abstract class StateBase extends TargetState, AState
StateExtension
The state that is extended basically remains as it is. It can simply be extended by function or transitions. It is also possible to overwrite single functions or transitions. Further additional states and junctions can be created.
class StateExtension extends AStateExtension, AJunctionProperty