Classifications are symbolic tools designed on purpose and their relevancy should be assessed accordingly.
Partitions as Symbolic Representations
Partitions are symbolic constructs that divide a set of objects or activities into subsets using some arbitrary criterion. As the only unbiased approach to abstraction, partitions are arguably the best stairways to heavens:
- Since they fall short of full abstractions, partitions are completely neutral regarding the structure of symbolic representations.
- Every configuration of generalization or specialization can be introduced through partitions.
- Partitions can be applied to any kind of target: structural or functional, static or dynamic.
To be of any use as stairways to abstraction, partitions must be unambiguous about overlapping and changes.
At first, meaning before symbolic representations and abstraction are considered, partitions are the only concrete way to describe variants between objects.
- Exclusive partitions define non overlapping subsets, otherwise the same objects may belong to more than one subset.
- Under mutable partitions objects can move across subset during their life-cycle, otherwise the partition is structural and bound to object identities.
It’s has to be noted that partitions are not abstractions since they can be mapped to actual collections of objects or phenomenons. Moreover, when those collections are associated with values and rules to be applied to their elements, they are explicitly represented by symbolic containers and directly mapped into system symbolic representations called power-types, as any documental objects.
Variants of objects and activities must be described uniformly if their consolidation and validation is ever to be considered. That can be achieved if partitions are applied to activity variants, more precisely to the sequences of extension points whose value will set the execution paths:
- Exclusive partitions define non overlapping execution paths, otherwise the same sequence may be associated to more than one variant.
- Under mutable partitions some extension points can be set “on-the-fly”, otherwise they can all be decided up front and therefore paths can be set once for all without being affected afterwards.
Actual vs Symbolic Partitions
Whether they target actual or symbolic objects or activities, partitions are themselves symbolic constructs.
A consistent description of variants encompassing objects as well as behaviors provides a perfect bridge between requirements and analysis models as they bring different subsets of objects or activities under a shared description. That will preparing the ground for their consolidation into abstract qualifiers without introducing them prematurely.