<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2018.612003</article-id><article-id pub-id-type="publisher-id">JCC-89285</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Representation of Categorical Specification of Self-Configurations in Reactive Autonomic Systems Framework
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ming</surname><given-names>Zhu</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Heng</surname><given-names>Kuang</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Jing</surname><given-names>Li</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>College of Computer Science and Technology, Shandong University of Technology, Zibo, China</addr-line></aff><aff id="aff2"><addr-line>Huawei Canada, Markham, Canada</addr-line></aff><pub-date pub-type="epub"><day>12</day><month>12</month><year>2018</year></pub-date><volume>06</volume><issue>12</issue><fpage>34</fpage><lpage>48</lpage><history><date date-type="received"><day>27,</day>	<month>November</month>	<year>2018</year></date><date date-type="rev-recd"><day>17,</day>	<month>December</month>	<year>2018</year>	</date><date date-type="accepted"><day>20,</day>	<month>December</month>	<year>2018</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Software complexity crisis brings huge obstacle to further progress in IT industry. To alleviate this problem, researchers are asked to build systems which can benefit from automation. With autonomic behavior, the real-time reactive systems can be more self-managed and adaptive to their environment. However, most of current formal approaches fail to specify such kind of system. In this paper, we proposed an approach to formally specify reactive autonomic systems. First, we used category theory to formalize reactive autonomic systems; then we focused on the categorization of self-configurations and work flows of reactive autonomic systems, and finally we used XML to specify the categorical models. In doing so, it can help to build the foundation of reactive autonomic systems with autonomic features and verify emergent behaviors.
 
</p></abstract><kwd-group><kwd>Reactive Autonomic System</kwd><kwd> Category Theory</kwd><kwd> XML</kwd><kwd> Self-Configuration</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Real-time reactive systems can be very complex, and difficult to test and error-finding. Race conditions in real-time reactive systems are hard to be found by only inputting sample data and checking the results, as certain errors are time-based and only occur when processes send or receive data at particular time, in particular in sequence or after learning. In order to find those errors, all possible state combinations of the processes have to be executed, which are exponential in the number of states [<xref ref-type="bibr" rid="scirp.89285-ref1">1</xref>] . Formal method could provide systems with known safety properties since a formal specification can be used to check for particular types of errors and as inputs for model checking. Category theory has been proposed as a framework to offer specification structure. It has a rich body of theory to reason objects and their relations. Moreover, category theory adopts a correct by construction approach by which components can be specified, proved and composed in the way of preserving their properties. Unfortunately, most of current formal approaches fail to specify Reactive Autonomic System (RAS) and do not address well on verifying emergent behaviors, which is an important characteristic for the RAS.</p><p>To handle above mentioned problem, as a continuation of research [<xref ref-type="bibr" rid="scirp.89285-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.89285-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.89285-ref4">4</xref>] , we first discuss how to model RAS and its configurations in category theory; then, we show how to transform the self-configuration properties to the categorical representations, and we use XML to specify the representations. The rest of this paper is organized as follows: Section 2 gives an overview of the related work. Section 3 introduces background knowledge required to understand the remaining content of the paper. Section 4 introduces categories that represent RAS model and its configurations respectively. Section 5 shows how to transform the categorical self-configuration and the properties into categories, and uses XML to specify the categories. Finally, Section 6 concludes the work.</p></sec><sec id="s2"><title>2. Related Work</title><p>In this section, research work related to this paper is introduced.</p><sec id="s2_1"><title>2.1. Real-Time Reactive Systems</title><p>Seshia proposes an architecture for automatically recovering a class of reactive systems from run-time failures [<xref ref-type="bibr" rid="scirp.89285-ref5">5</xref>] . The system comprises executions which can be divided into several rounds and each round performs a new unit of work. The framework leverages parallelism to proactively explore the space of repairs before a failure is occurred. Paper [<xref ref-type="bibr" rid="scirp.89285-ref6">6</xref>] presents a self-adapting loop according to system-specific adaptation knowledge that includes the types and properties of autonomic components, behavior constraints as well as strategies for adaptation. This system is an integral part of a real-time system which controls the behavior of computing environment and evaluates its global behavior.</p></sec><sec id="s2_2"><title>2.2. Formal Methods</title><p>For modeling concurrency, category theory is used to model, analyze, and compare Transition System, Trace Language, Event Structure, Petri nets, and other classical models of concurrency [<xref ref-type="bibr" rid="scirp.89285-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.89285-ref8">8</xref>] [<xref ref-type="bibr" rid="scirp.89285-ref9">9</xref>] . Mackworth and Zhang describe a Constraint-Based Agent (CBA) design approach which includes two formal models: Constraint Nets and Timed ∀-automata [<xref ref-type="bibr" rid="scirp.89285-ref10">10</xref>] . A constraint net can model agents and their environment symmetrically as dynamical systems; timed ∀-automata can specify desired real-time dynamic behaviors of those situated agents. Paper [<xref ref-type="bibr" rid="scirp.89285-ref11">11</xref>] introduces a formal language model which formalizes agent- environment interaction in a multi-agent framework called Conversational Grammar Systems (CGS). This system provides a model with a high degree of flexibility. Based on eco-grammar systems, the formal model used in this paper can be defined as an evolutionary multi-agent system. Category theory is applied to study relationships between geometrical models for concurrency and classical models [<xref ref-type="bibr" rid="scirp.89285-ref12">12</xref>] .</p></sec></sec><sec id="s3"><title>3. Background</title><p>In this section, background and work related to our research are introduced.</p><sec id="s3_1"><title>3.1. Reactive Autonomic Systems (RAS)</title><p>The Reactive Autonomic Systems (RAS) architecture model (<xref ref-type="fig" rid="fig1">Figure 1</xref>) is a four-layer architecture that consists of Reactive Autonomic Objects (RAO), Reactive Autonomic Components (RAC), Reactive Autonomic Component Groups (RACG) as well as the RAS. The autonomic features are implemented by RAO Leaders (RAOL), RAC Supervisors (RACS) and RACG Managers (RACGM) at the RAC, RACG as well as RAS layer respectively [<xref ref-type="bibr" rid="scirp.89285-ref2">2</xref>] . In this layered architecture model, each tier communicates only with the tier immediately above or below it. Thus, the independence of those tiers makes their modularity, encapsulation, hierarchical decomposition and reuse possible.</p><p>1) RAO is modeled as a labeled transition system augmented with ports, resources, attributes and the logical assertion on those attributes as well as time constraints [<xref ref-type="bibr" rid="scirp.89285-ref13">13</xref>] . More specifically, it is modeled as a 9-tuple (P, ε, Θ, X, L, Φ, Λ, γ, R) where P, ε, Θ, X, L, Φ, Λ, γ are specified as in [<xref ref-type="bibr" rid="scirp.89285-ref14">14</xref>] :</p><p>・ P is a finite set of ports associated with each port-type and the null-type P<sub>0 </sub>whose only port is the null port P<sub>0</sub>.</p><p>・ ε is a finite set of events and includes the silent-event tick.</p><p>・ Θ is a finite set of states where Θ<sub>0</sub>: Θ, is the initial state; there is no final state.</p><p>・ X is a finite set of typed attributes: abstract data types and port reference types.</p><p>・ L is a finite set of LSL traits for the abstract data type used in X.</p><p>・ Φ is a function-vector (Φ<sub>s</sub>, Φ<sub>at</sub>) which Φ<sub>s</sub> associates with each state Θ a set of sub states and Φ<sub>at</sub> associates with each state Θ a set of attributes.</p><p>・ Λ is a finite set of transition specifications.</p><p>・ γ is a finite set of time-constraints.</p><p>・ R models the set of resources available locally for the object to support its functionality.</p><p>2) RAC is a set of synch.</p><p>Ronously communicating RAO, where one of the RAO is assigned as a leader (RAOL) of the rest (workers). The workers are responsible for reactive tasks, while the RAOL works on autonomic tasks such as coordinating the self-monitoring at component level. Thus, the RAOL has a different set of states from the workers, which states are autonomic behavior related instead of reactive behavior related. The reactive and autonomic natures of formal specifications for the RAOL enable them to implement autonomic functionalities in a real-time reactive system. In order to coordinate the work as well as communication between the RAO, a RAC specification consists of Members, Configure, Leader, Supervisor, Neighbors and Repository. The RAC is the minimum centralized Reactive Autonomic Element (RAE) that has the ability of self-management in RAS.</p><p>Similarly to the RAO, the reactive behavior of a RAC consists of n collaborating. RAO is specified as a 9-tuple (P<sup>syn</sup>, ε<sup>syn</sup>, Θ<sup>syn</sup>, X<sup>syn</sup>, L<sup>syn</sup>, Φ<sup>syn</sup>, Λ<sup>syn</sup>, γ<sup>syn</sup>, R<sup>syn</sup>) [<xref ref-type="bibr" rid="scirp.89285-ref13">13</xref>] :</p><p>・ P<sup>syn</sup> is a set of port-types allowing for a synchronous communication between the RAO.</p><p>・ ε<sup>syn</sup> is a union of all ε<sub>i</sub> where i: [1 ... n].</p><p>・ Θ<sup>syn</sup> is a finite set of reachable and valid Synchronous Production Machine (SPM) state.</p><p>・ X<sup>syn</sup> is a union of the finite sets X 1 syn , …, X n syn .</p><p>・ L<sup>syn</sup> is a union of the finite sets of Larch Specification Language (LSL) traits for Abstract Data Type (ADT) used in the RAO.</p><p>・ Φ<sup>syn</sup> is a function-vector ( Φ s syn , Φ at syn , Φ γ syn ) that Φ s syn associates with each SPM state Θ<sup>syn</sup> a set of sub states and Φ at syn associates with each SPM state Θ<sup>syn</sup> the uniton of the set of attributes a set of attributes Φ<sub>at1</sub>( Θ 1 syn ), …, Φ<sub>atn</sub>( Θ n syn ): Φ γ syn associates each SPM state Θ<sup>syn</sup> with a subset of R<sup>syn</sup>.</p><p>・ Λ<sup>syn</sup> is a finite set of transition specifications.</p><p>・ γ<sup>syn</sup> is a finite set of time-constraints.</p><p>・ R<sup>syn</sup> is a set of resources available in the RAO; it is defined as a union of all R<sub>i</sub>: i: [1 ... n].</p><p>3) RACG is a set of centralized or distributed RAC that cooperate in fulfillment of group tasks by synchronous communications. It is the minimum RAE which can independently accomplish complete real-time reactive tasks in RASF. The autonomic behavior at group level is coordinated by a supervisor (RACS).</p><p>4) RAS is made up of centralized or distributed RACG with asynchronous communication. It provides an integrated interface for users to delegate computing tasks, monitor systems and manage repositories. A manager (RACGM) is responsible for coordinating autonomic behavior at system level.</p></sec><sec id="s3_2"><title>3.2. Self-Configuration in Reactive Autonomic Systems</title><p>Self-configuration is an essence of RAS. Components in RAS are able to configure themselves automatically according to high level policies (business level objectives), which specify what is required instead of how they are implemented. The self-configuration work flows of RAC, RACG and RAS are represented in sequence diagrams are illustrated in Figures 2-4 respectively.</p></sec><sec id="s3_3"><title>3.3. Category Theory</title><p>Category theory has a rich body of theory to reason objects as well as their relations, and it is abstract enough for a wide range of different specification languages [<xref ref-type="bibr" rid="scirp.89285-ref15">15</xref>] . Categorytheory for the software specification has adopted a correct by construction approach by which components are specified, proved and composed in the way of preserving their properties [<xref ref-type="bibr" rid="scirp.89285-ref15">15</xref>] . Moreover, category theory can provide techniques to manipulate and reason diagrams for building hierarchies of system complexity, allowing systems to be used as components of more complex systems and inferring properties of the systems from their configurations [<xref ref-type="bibr" rid="scirp.89285-ref12">12</xref>] .</p><p>As there is no such kind of formalization for self-configurations of RAS, we propose to use category theory to formalize the self-configurations. To understand this paper, we introduce the definition of category.</p><p>Definition 1: A category consists of objects and morphisms. A morphism f: A → B has object A as its domain and object B as its codomain, respectively. If there are morphisms f: A → B and g: B → C, then there is also a morphism g f: A</p><p>→ C called their composition. Composition is associative: (h ◦ g) ◦ f = h ◦ (g ◦ f). Every object X has an identity morphism Id<sub>X</sub>. For every morphism f: A → B, Id<sub>B</sub> ◦f = f = f ◦ Id<sub>A</sub>.</p></sec></sec><sec id="s4"><title>4. Categorical Representations of RAS Model</title><p>In order to categorize the self-configuration of RAS, we need to formalize RAS model by using category theory first. In this section, we build categorical representations of RAS model including RAC, RACG, and RAS.</p><p>Proposition 1: RAC can be specified as a category RAC with a set of objects |RAC| and morphisms so that for each RAO<sub>i</sub>, RAO<sub>j</sub> &#206; |RAC|, there is a set of morphisms f: RAC (RAO<sub>i</sub>, RAO<sub>j</sub>) mapping the RAO<sub>i</sub> to RAO<sub>j</sub> which indicate the communication between them as f: i RAO<sub>i</sub> → RAO<sub>j</sub><sub>。</sub><sub> </sub></p><p>Proof: All what we need is to prove: 1) the existence of composition and identity morphism, and 2) prove associativity. Let RAO<sub>1</sub>, RAO<sub>2</sub> and RAO<sub>3</sub> be three RAO such that RAO<sub>1</sub> can interact with RAO<sub>2</sub>, which can interact with RAO<sub>3</sub>. Then RAO<sub>1</sub> can communicate with RAO<sub>3</sub> (indirectly through RAO<sub>2</sub>), which means the existence of a composition of morphisms between RAO<sub>1</sub> and RAO<sub>3</sub>. The identity morphism does exist as a natural representation of internal communications. Let f, g and h be the morphisms such that f: RAO<sub>1</sub> → RAO<sub>2</sub>, g: RAO<sub>2</sub> → RAO<sub>3</sub> and h: RAO<sub>3</sub> → RAO<sub>4</sub>. It is clear that h ◦ (g ◦ f) = (h ◦ g) ◦ f.</p><p>Proposition 2: The RACG may also be specified as a category RACG with a set of objects |RACG| and morphisms such that for each RAC<sub>m</sub>, RAC<sub>n</sub> &#206; |RACG|, there is a set of morphisms f: RACG (RAC<sub>m</sub>, RAC<sub>n</sub>) mapping the RAC<sub>m</sub> to the RAC<sub>n</sub> that indicate the communication between them as f: RAC<sub>m</sub> → RAC<sub>n</sub>.</p><p>Proof: All what we need is to prove: 1) the existence of composition and identity morphism, and 2) prove associativity. Let RAC<sub>1</sub>, RAC<sub>2</sub> and RAC<sub>3</sub> be three RAC such thatRAC<sub>1</sub> can interact with RAC<sub>2</sub>, which can interact with RAC<sub>3</sub>. Then RAC<sub>1</sub> can communicate with RAC<sub>3</sub> (indirectly through RAC<sub>2</sub>), which means the existence of a composition of morphisms between RAC<sub>1</sub> and RAC<sub>3</sub>. The identity morphism does exist as a natural representation of internal communications. Let f, g and h be the morphisms such that f: RAC<sub>1</sub> → RAC<sub>2</sub>, g: RAC<sub>2</sub> → RAC<sub>3</sub> and h: RAC<sub>3</sub> → RAC<sub>4</sub>. It is clear that h ◦ (g ◦ f) = (h ◦ g) ◦ f.</p><p>Proposition 3: The RAS may also be specified as a category RAS with a set of objects |RAS| and morphisms such that for each RACG<sub>x</sub>, RACG<sub>y</sub> &#206; |RAS|, there is a set of morphisms f: RAS (RACG<sub>x</sub>, RACG<sub>y</sub>) mapping the RACG<sub>x</sub> to the RACG<sub>y</sub> that indicate their communications as f: RACG<sub>x</sub> → RACG<sub>y</sub>.<sub> </sub></p><p>Proof: All what we need is to prove: 1) the existence of composition and identity morphism, and 2) prove associativity. Let RACG<sub>1</sub>, RACG<sub>2</sub> and RACG<sub>3</sub> be three RACG such that RACG<sub>1</sub> can communicate with RACG<sub>2</sub>, which can interact with RACG<sub>3</sub>. Then RACG<sub>1</sub> can interact with RACG<sub>3</sub> (indirectly through RACG<sub>2</sub>), which means the existence of a composition of morphisms between RACG<sub>1</sub> and RACG<sub>3</sub>. The identity morphism does exist as a natural representation of internal communications. Let f, g and h be the morphisms such that f: RACG<sub>1</sub> → RACG<sub>2</sub>, g: RACG<sub>2</sub> → RACG<sub>3</sub> and h: RACG<sub>3</sub> → RACG<sub>4</sub>. It is clear that h ◦ (g ◦ f) = (h ◦ g) ◦ f.</p><p><xref ref-type="fig" rid="fig5">Figure 5</xref> illustrates the categorical representations and the corresponding proofs in Proposition 1 - 3.</p></sec><sec id="s5"><title>5. Categorical Representations of Self-Configurations of RAS Model</title><p>Based on the categorical representations of RAS model in Section 3, in this section,</p><p>we build categorical representations of self-configurations of RAS model, and use xml to specify the categories.</p><p>Proposition 4: The configuration of a RAC is a category denoted as CONFIG (RAC), where objects are RAO and morphisms are connections between those RAO as CONFIG (RAO<sub>i</sub>, RAO<sub>j</sub>) or CONFIG (RAO<sub>j</sub>, RAO<sub>i</sub>).</p><p>Proof: The proof of Proposition 4 is similar to the proof of Proposition 1, where the morphism connection in Proposition 4 is similar to the morphism communication in Proposition 1.</p><p>The XML specification of the category CONFIG (RAC) can be described as follows:</p><disp-formula id="scirp.89285-formula1"><graphic  xlink:href="//html.scirp.org/file/3-1730950x17.png"  xlink:type="simple"/></disp-formula><p>Proposition 5: The configuration of a RACG is the category denoted as CONFIG (RACG), where objects are RAC and morphisms are connections between those RAC as CONFIG (RAC<sub>i</sub>, RAC<sub>j</sub>) or CONFIG (RAC<sub>j</sub>, RAC<sub>i</sub>).</p><p>Proof: The proof of Proposition 5 is similar to the proof of Proposition 2, where the morphism connection in Proposition 5 is similar to the morphism communication in Proposition 2.</p><p>The XML specification of the category CONFIG (RACG) can be described as follows:</p><disp-formula id="scirp.89285-formula2"><graphic  xlink:href="//html.scirp.org/file/3-1730950x18.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.89285-formula3"><graphic  xlink:href="//html.scirp.org/file/3-1730950x19.png"  xlink:type="simple"/></disp-formula><p>Proposition 6: The configuration of a RAS is a category denoted as CONFIG (RAS), where objects are RACG and morphisms are the connections between those RACG as CONFIG (RACG<sub>i</sub>, RACG<sub>j</sub>) or CONFIG (RACG<sub>j</sub>, RACG<sub>i</sub>).</p><p>Proof: The proof of Proposition 6 is similar to the proof of Proposition 3, where the morphism connection in Proposition 6 is similar to the morphism communication in Proposition 3.</p><p>The XML specification of the category CONFIG (RAS) can be described as follows:</p><disp-formula id="scirp.89285-formula4"><graphic  xlink:href="//html.scirp.org/file/3-1730950x20.png"  xlink:type="simple"/></disp-formula><p>As introduced in Section 1, the self-configurations of RAC, RACG, and RAS follows the work flow illustrated in Figures 2-4. For each work flow, we can build a category for it, and use XML to specify the corresponding category.</p><p>Proposition 7: The self-configuration work flow of RAC is a category denoted as CONWORKFLOW (RAC), where its objects are messages Validate RAOL, ValicateRAO, LunchInvestigation, ValidateRAOCommunication, Conform, NotConform, and the morphisms denote the relationship before between the occurrences of objects before<sub>1</sub>: ValidateRAOL → Conform, before<sub>2</sub>: ValidateRAOL → NotConform, before<sub>3</sub>: ValidateRAO → Conform, before<sub>4</sub>: ValicateRAO → NotConform, before<sub>3</sub>: ValidateRAOCommunication → Conform, before<sub>6</sub>: ValicateRAOCommunication → NotConform, before<sub>7</sub>: NotConform → LunchInvestigation.</p><p>Proof: All what we need is to prove: 1) the existence of composition and identity morphism, and 2) prove associativity. Let Obj<sub>1</sub>, Obj<sub>2</sub> and Obj<sub>3</sub> be three messages such that Obj<sub>1</sub> occurs before Obj<sub>2</sub>, which occurs before Obj<sub>3</sub>. Then Obj<sub>1</sub> occurs before Obj<sub>3</sub> (indirectly through Obj<sub>2</sub>), which means the existence of a composition of morphisms between Obj<sub>1</sub> and Obj<sub>3</sub>. The identity morphism does exist as a natural representation of interactions with occurrence. Let f, g and h be the morphisms such that f: Obj<sub>1</sub> → Obj<sub>2</sub>, g: Obj<sub>2</sub> → Obj<sub>2</sub> and h: Obj<sub>3</sub> → Obj<sub>4</sub>. It is clear that h ◦ (g ◦ f) = (h ◦ g) ◦ f.</p><p>The XML specification of the category CONWORKFLOW (RAC) can be described as follows:</p><disp-formula id="scirp.89285-formula5"><graphic  xlink:href="//html.scirp.org/file/3-1730950x21.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.89285-formula6"><graphic  xlink:href="//html.scirp.org/file/3-1730950x22.png"  xlink:type="simple"/></disp-formula><p>Proposition 8: The self-configuration work flow of RACG is a category denoted as CONWORKFLOW (RACG), where its objects are messages ValidateRAC, ValicateRAOL, LunchInvestigation, ValidateRAOLCommunication, Conform, NotConform, and the morphisms denote the relationship before between the occurrences of objects before<sub>1</sub>: ValidateRAC → Conform, before<sub>2</sub>: ValidateRAC → NotConform, before<sub>3</sub>: ValicateRAOL → Conform, before<sub>4</sub>: ValicateRAOL → NotConform, before<sub>3</sub>: ValidateRAOLCommunication → Conform, before<sub>6</sub>: ValidateRAOLCommunication → NotConform, before<sub>7</sub>: NotConform → LunchInvestigation.</p><p>Proof: The proof of Proposition 8 is omitted, as it is similar to the proof of Proposition 7.</p><p>The XML specification of the category CONWORKFLOW (RACG) can be described as follows:</p><disp-formula id="scirp.89285-formula7"><graphic  xlink:href="//html.scirp.org/file/3-1730950x23.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.89285-formula8"><graphic  xlink:href="//html.scirp.org/file/3-1730950x24.png"  xlink:type="simple"/></disp-formula><p>Proposition 9: The self-configuration work flow of RAS is a category denoted as CONWORKFLOW(RAS), where its objects are messages ValidateRACG, ValicateRAC, LunchInvestigation, ValidateRACCommunication, Conform, NotConform, and the morphisms denote the relationship before between the occurrences of objects before<sub>1</sub>: ValidateRACG → Conform, before<sub>2</sub>: ValidateRACG → NotConform, before<sub>3</sub>: ValidateRAC → Conform, before<sub>4</sub>: ValicateRAC → NotConform, before<sub>3</sub>: ValidateRACCommunication → Conform, before<sub>6</sub>: ValidateRACCommunication → NotConform, before<sub>7</sub>: NotConform → LunchInvestigation.</p><p>Proof: The proof of Proposition 9 is omitted, as it is similar to the proof of Proposition 7.</p><p>The XML specification of the category CONWORKFLOW (RACG) can be described as follows:</p><disp-formula id="scirp.89285-formula9"><graphic  xlink:href="//html.scirp.org/file/3-1730950x25.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.89285-formula10"><graphic  xlink:href="//html.scirp.org/file/3-1730950x26.png"  xlink:type="simple"/></disp-formula></sec><sec id="s6"><title>6. Conclusion</title><p>Due to the difficulties of test and error-finding in real-time reactive systems, in this paper, we proposed an categorical approach to formally specify reactive autonomic systems and the self-configuration work flows, which can help to check for particular types of errors and as inputs for model checking. Moreover, we used XML to specify the constructed categorical models, which can help to build the foundation of reactive autonomic systems. By adopting the categorical approach, the construction of reactive autonomic systems and the self-configuration work flows can be specified, proved and composed formally with preserving their properties. In future, we will work toward building a categorical framework to verify the correctness of the construction of reactive autonomic systems, based on the proposed categorical specification.</p></sec><sec id="s7"><title>Acknowledgements</title><p>We thank the Editor and the referee for their comments. Research of M. Zhu and J. Li is funded by the Shandong University of Technology grants 4041-416069 and 4041-417010. The support is greatly appreciated.</p></sec><sec id="s8"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s9"><title>Cite this paper</title><p>Zhu, M., Kuang, H. and Li, J. (2018) Representation of Categorical Specification of Self-Configurations in Reactive Autonomic Systems Framework. Journal of Computer and Communications, 6, 34-48. https://doi.org/10.4236/jcc.2018.612003</p></sec></body><back><ref-list><title>References</title><ref id="scirp.89285-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Carvalho, G., Cavalcanti, A. and Sampaio, A. (2016) Modelling Timed Reactive Systems from Natural-Language Requirements. Formal Aspects of Computing, 5, 1-41.</mixed-citation></ref><ref id="scirp.89285-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Kuang, H., Ormandjieva, O., Klasa, S. and Bentahar, J. (2010) A Formal Specification of Fault-Tolerance in Prospecting Asteroid Mission with Reactive Autonomie Systems Framework. Proceedings of the 21st IEEE International Conference on Application-Specific Systems, Architectures and Processors, Rennes, 7-9 July 2010, 99-106. https://doi.org/10.1109/ASAP.2010.5540769</mixed-citation></ref><ref id="scirp.89285-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Zhu, M., Grogono, P. and Ormandjieva, O. (2017) Exploring Relationships between Syntax and Semantics of a Process-Oriented Language by Category Theory. Proceedings of the 8th International Conference on Ambient Systems, Networks and Technologies, Madeira, 16-19 May 2017, 241-248. https://doi.org/10.1016/j.procs.2017.05.342</mixed-citation></ref><ref id="scirp.89285-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Zhu, M., Li, J., Fan, G.D. and Zhao, K.S. (2018) Modeling and Verification of Response Time of QoS-Aware Web Service Composition by Timed CSP. Proceedings of the 9th International Conference on Emerging Ubiquitous Systems and Pervasive Networks, Leuven, 5-8 November 2018, 48-55. https://doi.org/10.1016/j.procs.2018.10.148</mixed-citation></ref><ref id="scirp.89285-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Seshia, S.A. (2007) Autonomic Reactive Systems via Online Learning. Proceedings of the 4th International Conference on Autonomic Computing, Florida, 11-15 June 2007, 30-39. https://doi.org/10.1109/ICAC.2007.10</mixed-citation></ref><ref id="scirp.89285-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Litoiu, M., Solomon, B., Ionescu, D. and Mihaescu, M. (2007) A Real-Time Adaptive Control of Autonomic Computing Environments. Proceedings of the Conference of the Centre for Advanced Studies on Collaborative Research, Richmond Hill, 22-25 October 2007, 124-136.</mixed-citation></ref><ref id="scirp.89285-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Winskel, G. and Nielsen, M. (1995) Models for Concurrency. Handbook of Logic in Computer Science, 4, 1-148.</mixed-citation></ref><ref id="scirp.89285-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Nielsen, M., Sassone, V. and Winskel, G. (1996) Models for Concurrency: Towards a Classification. Theoretical Computer Science, 170, 297-348. https://doi.org/10.1016/S0304-3975(96)80710-9</mixed-citation></ref><ref id="scirp.89285-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Hildebrandt, T.T. (2000) Categorical Models for Fairness: Completion vs Delay. Proceedings of the First Irish Conference on the Mathematical Foundations of Computer Science and Information Technology, Cork, 20-21 July 2000, 188.</mixed-citation></ref><ref id="scirp.89285-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Mackworth, A.K. and Zhang, Y. (2003) A Formal Approach to Agent Design: Anoverview of Constraint-Based Agents. Constraints, 8, 229-242. https://doi.org/10.1023/A:1025697810124</mixed-citation></ref><ref id="scirp.89285-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Enguix, G.B. and Lopez, M.D.J. (2007) Agent-Environment Interaction in a Multi-Agent System: A Formal Model. Proceedings of the GECCO Conference on Genetic and Evolutionary Computation, London, 7-11 July 2007, 2607-2612.</mixed-citation></ref><ref id="scirp.89285-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Goubault, E. and Mimram, S. (2010) Formal Relationships between Geometrical and Classical Models for Concurrency. Proceedings of the Workshop on Geometric and Topological Methods in Computer Science, Denmark, 11-15 January 2010, 77-109. https://doi.org/10.1016/j.entcs.2012.05.007</mixed-citation></ref><ref id="scirp.89285-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Ormandjieva, O. and Quiroz, J. (2008) Methodology for Automatic Generation of Exhaustive Behavioral Models in Reactive Autonomic Systems. Proceedings of the International Conference on Software Engineering Theory and Practice, Florid, 7-10 July 2008, 95-104.</mixed-citation></ref><ref id="scirp.89285-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Quiroz, J. (2007) Methodology for Automatic Generation of Behavioral Specification in Reactive Autonomic Systems. Master’s Thesis, Concordia University, Montreal.</mixed-citation></ref><ref id="scirp.89285-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Barr, M. and Wells, C. (2012) Category Theory for Computing Science. Prentice-Hall, Upper Saddle River.</mixed-citation></ref></ref-list></back></article>