laws: i) Associativity: h ◦ (g ◦ f) = (h ◦ g) ◦ f for all f:
A → B, g: B → C, h: C → D; ii) Unit: f ◦ id
A
= f =
id
B
◦ f for all f: A → B. A functor F: C → D between
categories C and D is a structure-preserving
mapping of objects to objects, along with arrows to
arrows: i) F(f: A → B) = F(f): F(A) → F(B); ii) F(g
◦ f) = F(g) ◦ F(f); iii) F(id
A
) = id
F(A)
Category theory for RAS self-management has
adopted an approach of correction by construction,
through which components are specified, proved,
and composed so as to preserve their properties. In
an abstract sense, we are dealing with arrow
diagrams of task processes where the existing arrows
represent cooperation channels in a very general
way. This gives us the justification for associating
the Task Process category with the PATH category,
as described in (Pfalzgraf, 2004), where the
morphisms are sequences (paths) of consecutive
arrows, each node representing a task and each
arrow being a structure-preserving mapping, that is,
a morphism. This defines the composition of arrows
in a natural way (concatenation of consecutive
arrows), and this composition is associative. The
identity arrow with respect to each object in Task
Process will be assumed to exist by definition;
according to graph theory, it is a loop to the
corresponding node.
The Task Process category represents the
empirical relational structure in the measurement
procedure, and it includes the task categories and
their relations. The Base Measure category
represents the numerical relational structure to
which the empirical relational structure is mapped.
The measurement procedure is deemed valid if it is a
structure-preserving (homomorphic) function. It is
easy to see that the mapping Measurement Method
(MM): Task Process → Base Measure between the
categories Task Process and Base Measure is a
functor of objects to objects along with arrows to
arrows satisfying the functor property outlined
earlier. The base measures can be further combined
using categorical products and mapped to derived
measures (characterizing different performance
characteristics) by a morphism Measurement
Function (MF): Base Measure x Base Measure x
…→ Derived Measure.
In software engineering decision making, we
often consider multidimensional alternatives with a
variety of quality characteristics or from several
points of a view. Such situations arise when we are
trying to explain a dependent variable, such as
performance utility, on the basis of a number of
independent variables, such as reliability, fault
tolerance, etc. In order to calculate a utility function
of multidimensional alternatives, we need to define a
collection of alternatives. We think of the set of
alternatives as a Cartesian product of all considered
attributes characterizing performance expressed as
Reliability x Fault Tolerance x Efficiency x
Compliance, and the set of decision criteria, where
Reliability is a set of all possible values of the
domain of the utility function morphism for
reliability, and so on. The categorical product
relations p0, p1, p2, p3, and p4 are the
corresponding projections of the product Reliability
x Fault Tolerance x Efficiency x Compliance x
Decision Making Criteria to Decision Making,
Reliability, Fault Tolerance, Efficiency and
Compliance respectively (see Figure 3). Such a
product corresponds to all possible alternatives
representing the values of the Indicator.
The functor Utility Function: Reliability x Fault
Tolerance x Efficiency x Compliance x Decision
Making Criteria → Performance Utility in Figure 3
maps the Indicator alternatives to a sample scale
where performance utility is qualitatively
categorized as Excellent, Acceptable, or
Unacceptable. These performance categories provide
feedback on performance utility, and help determine
whether or not the task processes in the RAS satisfy
the performance policies or need improvement. The
functors Method (MM), Measurement Function
(MF), and Utility Function have to satisfy the
postulates of the representational theory of
measurement. By definition, each functor is a
structure-preserving mapping and thus guarantees
the theoretical validity of the performance
assessment.
We model performance self-management as a
decision-making process in category theory as
sequences of consecutive arrows linking
Performance Utility to Actions to Outcomes. The
generic functor Decision Rule: Preference Utility →
Actions maps each object of Preference Utility to an
object in Actions. Each action has to be mapped to
an outcome, or set of outcomes, and each outcome is
associated with a reward that affects the decision
criteria (or policies). The outcome is meant to
improve task process performance, and the
execution of the prescribed changes is modeled with
the generic functor Execute: Outcomes → Task
Process.
The diagram in Figure 3 can be abstracted as a
concatenation of consecutive arrows Measurement
Method (MM), Measurement Function (MF), Utility
Function, Decision Rule, Execute. The diagram
commutes, which guarantees reliable self-
assessment on task process performance and valid
decision making based on performance utility.
REACTIVE AUTONOMIC SYSTEM PERFORMANCE MODELING AND SELF-MONITORING WITH CATEGORY
THEORY
329