Power-types can be applied to the full scope of context description:
- Objects can be classified along persistent features (ontologies) or transient ones (states).
- Phenomena can be classified along event features or activity status.
- Roles can be classified along access rights and execution paths along data flows.
When modeling systems, power-type representation can be introduced to describe any type of partition:
- Symbolic objects: shared attribute value, e.g vehicle carbon emissions.
- Actual objects: shared components, e.g vehicle engine.
- Activities: shared operations, e.g periodical maintenance interventions include some standard operations as well as specific ones.
- Processes: shared triggering, e.g power failures trigger standard transitions whatever the actual states.
- Events: shared qualification of event.
- Roles: shared authorizations .
Practically, it can be limited to symbolic representations of objects or activities.
Power-types and Partitions
A power-type is a type whose instances describe subsets independently of the description of targeted elements.In other words, attribute values of power-type instances are shared by all members of targeted subsets.
Power-types represent partitions but are not to be confused with them: the former describe subsets, the latter deal with subset membership. As a corollary, a power-type may be applied to different types of elements. Moreover, they may be applied differently.
- Gender is used to identify persons (exclusive and immutable partition) but is also used to characterize dresses, whose partitioning is non exclusive and subject to changing dressing codes.
- Individual status is exclusive but may change.
- Weight groups can be used for persons and also to characterize vehicle capacity.
Power-types and Specialization
Whereas partitions may be seen a the first step on the path to specialization, that doesn’t mean that every partition is to be translated into subtypes. For that one need to consider necessary and sufficient conditions.
- Necessary condition: the partition used to specialize the target must be exclusive and immutable.
- Sufficient condition: the subsets must be characterized by different features.
Options may be expressed by four basic patterns:
- Simple power-type: shared features of targets can be fully described by power-type instances.
- Target specialization: instances of targeted subsets are described by different sets of features.
- Power-type specialization: shared features are different depending on classification levels. For instance hierarchy positions entails additional parameters and procedures.
- Both target and power-type specialization.
Power-types and Rules
Power-types can be combined as relational joins; with results being represented by derived power-types and used for analytic purposes, for instance persons may be grouped by occupation and status. But combined power-types may also be designed for operational purposes, in particular to specify complex business rules, for instance by combining free status and military hierarchy in order to define benefits and promotion rules.
Since power-types apply uniformly to objects or behaviors, they can be used to represent control units.
Power-types and Service-Oriented Architectures
Service oriented architectures describe systems in terms of services addressing simultaneously and transparently business as well as infrastructure concerns. If services are to be integrated, distributed and interoperable, their design must find the right level of abstraction for both concerns. Combined with representation patterns, power-types can provide a shared symbolic description of functional requirements and system capabilities.
For instance, security services can be partitioned into four subsets for data, messages, privacy and applications. Generalization connectors are used between power-types, aggregate associations should be preferred when actual services are referenced.