<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Feb</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Enhancing Safety and Security of Distributed Systems through Formal Patterns?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jonas Eckhardt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tobias Muhlbauer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Supervisors: Jose Meseguer</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Wirsing</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ludwig Maximilian University of Munich</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Technical University of Munich</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Augsburg</institution>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Illinois at Urbana-Champaign</institution>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <volume>15</volume>
      <issue>2012</issue>
      <abstract>
        <p>Distributed systems are often safety- and security-critical systems and have strong qualitative and quantitative formal requirements, equally important time-critical performance-based quality of service properties, and need to dynamically adapt to changes in a potentially hostile and often probabilistic environment. These aspects make distributed systems complex and hard to design, build, test, and verify. To tackle this challenge, we propose a formal pattern-based approach and framework for the design of correct-, secure-, and safe-by-construction distributed systems.</p>
      </abstract>
      <kwd-group>
        <kwd>formal patterns</kwd>
        <kwd>meta-object pattern</kwd>
        <kwd>statistical model checking</kwd>
        <kwd>rewriting logic</kwd>
        <kwd>distributed systems</kwd>
        <kwd>cloud computing</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        On June 20, 2011, the Cloud-based le storage service Dropbox reported that
\Yesterday we made a code update at 1:54pm Paci c time that introduced a bug
a ecting our authentication mechanism. We discovered this at 5:41pm and a x
was live at 5:46pm." [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. During these nearly four hours, the broken
authentication mechanism granted access to possibly private data stored on some accounts
using any chosen password. Issues like this are not the exception which is also
re ected by the list of the top 10 obstacles for the adoption and growth of Cloud
Computing [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]; with data con dentiality and auditability, availability of service,
and bugs in large distributed systems being obstacles on this list. In fact,
distributed systems (i) are safety- and security-critical systems which have strong
qualitative and quantitative formal requirements, (ii) have equally important
time-critical performance-based quality of service properties (e.g., availability),
and (iii) need to dynamically adapt to changes in a potentially hostile (e.g.,
distributed denial of service attacks) and often probabilistic environment they
operate in. These aspects make distributed systems complex and hard to design,
build, test, and verify.
      </p>
      <p>Modular approaches tackle the aforementioned complexity in the early stages
of system design and analysis. These approaches include design patterns, which
are general, reusable solutions to commonly occurring software problems and
? This work has been partially sponsored by the Software Engineering Elite Graduate</p>
      <p>
        Program and the EU-funded project FP7-256980 NESSoS.
have been successfully used in di erent domains including object-oriented
software design [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], service-oriented computing [
        <xref ref-type="bibr" rid="ref12 ref9">12,9</xref>
        ] and security [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]; they clearly
de ne the programming context, the problem, and the advantages and
disadvantages of the design solution (see e.g., [
        <xref ref-type="bibr" rid="ref10 ref16">10,16</xref>
        ]).
      </p>
      <p>In addition to \normal" design patterns, formal patterns are reusable
solutions that are formally speci ed with precise semantic requirements and come
with strong formal guarantees. Distributed systems can be speci ed as
compositions of instances of such formal patterns.</p>
      <p>Research Goals and Contributions. The main goal of the proposed research is
to contribute a formal pattern-based approach and framework for the design of
correct-, secure-, and safe-by-construction distributed systems, aided by a rich
tool environment. The approach is based on the ideas of (i) developing executable
formal models of distributed system designs, (ii) making these designs
modular based on highly reusable formal patterns, and (iii) formally analyzing such
models to verify qualitative (e.g., invariants) and quantitative (e.g., expected
throughput) properties. This approach distinguishes itself by using executable
formal pattern-based system speci cations and statistical model checking, which
allows the veri cation of larger system instances than with conventional model
checking techniques (state explosion).</p>
      <p>
        Rewriting logic and Maude. In order to specify executable formal patterns, an
appropriate semantic framework is needed. We chose rewriting logic [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], a
simple, yet powerful, computational logic and a general formalism that is a natural
model of computation and an expressive semantic framework for concurrency,
parallelism, communication, interaction, and object-orientation. It is capable of
logical and distributed object re ection and, through its probabilistic [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and
real-time extensions [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], of modeling real-time, stochastic, and hybrid systems.
      </p>
      <p>
        Maude [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is a high-performance implementation of rewriting logic capable of
executing rewriting logic-based speci cations. The key concept of Maude
specications is that of a module. Object-oriented modules de ne objects, their state,
and messages; where objects communicate via asynchronous or synchronous
message passing. Distributed systems are modelled by object-oriented modules,
where the state of such a system is a multiset or \soup" of objects and
messages, called a con guration. A parameterized module M [X :: P ] has a formal
parameter X satisfying a parameter theory P ; M can be instantiated by another
module Q via a theory interpretation V : P ! Q, called a view, with the usual
pushout semantics (see [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]). We denote the resulting module by M [V ] or shorter
by M [Q] if V is clear from the context.
      </p>
      <p>
        The Maude system has an extensive tool environment which, e.g., includes a
LTL model checker (see [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]) and the statistical model checker PVeStA [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The
Maude system and its tool environment are the foundation of our work.
Outline. This paper proceeds as follows: Sect. 2 introduces the concept of formal
patterns and gives the example of the general meta-object pattern. In Sect. 3 we
discuss our proposed approach for the design of correct-, secure-, and
safe-byconstruction distributed systems in more detail. In Sects. 4 and 5, we respectively
discuss a research plan for future work and summarize our results.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Formal Patterns</title>
      <p>
        Formal patterns [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] enhance pattern descriptions with formal executable
specications that can support the mathematical analysis of qualitative and
quantitative properties. Just as \normal patterns", a formal pattern Pat is structured
in context, problem, solution, advantages and shortcomings (cf. e.g. [
        <xref ref-type="bibr" rid="ref16 ref9">16,9</xref>
        ]).
Instead of using UML or Java we describe these patterns formally as a paramterized
module M [S] with a parameter theory S in Maude. The context of the pattern
typically includes a description of the assumptions of the parameter theory S.
Many of the advantages and shortcomings of the formal pattern can be gained
from formal analyses.
      </p>
      <p>Two formal patterns Pat and Pat 0 can be composed by the pattern
composition Pat + Pat 0. The problem statement and context of Pat + Pat 0 can be
systematically derived from those of Pat and Pat 0. As we will see, such a
composition of patterns might combine advantages while cancelling out disadvantages.
Example: The Meta-Object Pattern. Many distributed systems need to function
in potentially hostile environments such as the Internet. Additionally, safety,
realtime and quality of service requirements need to be satis ed. Modularization is an
instrument that helps the designer or architect to cope with the high complexity
of such a system. The Meta-Object (MO ) pattern provides an approach based
on modularization. It is de ned as follows:</p>
      <p>Context. A concurrent and distributed object-based system.</p>
      <p>Problem. How can the communication behavior of one or several objects be
dynamically mediated/adapted/controlled for some speci c purposes?</p>
      <p>Solution. A meta-object is an object which dynamically mediates/adapts/
controls the communication behavior of one or several objects under it. In
rewriting logic, a meta-object can be speci ed as an object with an inner con guration
that contains the object or objects that are controlled by the meta-object. Thus,
the parameterized module MO [X] introduces the meta-object constructor; the
parameter X speci es the controlled system.</p>
      <p>Advantages and Shortcomings. MO de nes a general control and wrapper
architecture; but may add communication indirection and the requirement for
language speci c object visibility.</p>
      <p>
        MO is a widely used pattern: The meta-object is sometimes called an
onionskin meta-object [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] if the inner con guration contains a single object, which
itself could be wrapped inside another meta-object, and so on, like the skin
layers in an onion. More generally, the inner con guration may not only contain
several objects o1 : : : ; om inside: it may also be the case that some of these oi are
themselves meta-objects that contain other objects, which may again be
metaobjects, and so on. That is, the more general re ective meta-object architectures
are so-called \Russian Dolls" architectures [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>Figure 1 illustrates the idea of a hierarchical composition of meta-objects and
components according to the Russian Dolls model with boundary-crossing
messages M; M 0; and M 00. Messages addressed to the internal components C1 : : : CN
rst need to cross the boundaries of the two outer meta-objects M O1 and M O20.</p>
      <p>Meta-Object M O1 (e.g., rewall)</p>
      <p>Meta-Object M O2 (e.g., ASV)</p>
      <p>M 0
C1
. . .</p>
      <p>CN</p>
      <p>M 00</p>
      <p>M</p>
      <p>
        The outermost meta-object M O1 may thereby be a rewall that forwards
selected messages to its inner con guration according to speci c lter rules, and
the inner meta-object M O2 may be a Distributed Denial of Service (DDoS)
defense mechanism like the ASV protocol [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Approach: Enhancing Safety and Security through</title>
    </sec>
    <sec id="sec-4">
      <title>Formal Patterns</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], two additional formal patterns, the Server Replicator (SR) and the ASV
pattern, are introduced. In cases of high demand (e.g., a raising number of
requests or a DDoS attack), the SR pattern replicates instances of a parametric
server on demand while the ASV pattern represents a modularized speci cation
of the ASV protocol, which provides a defense mechanism against DDoS attacks
for a parametric client-server request-response system. Under DDoS attacks, the
goal is to provide stable availability, i.e., that with very high probability service
quality remains very close to a threshold, regardless of how bad the DDoS attack
can get. Quantitative analysis of the two patterns has shown that the ASV
pattern does not provide stable availability and that the SR pattern cannot provide
stable availability at a reasonable cost. However, for the composition of ASV
and SR, ASV +SR (see Fig. 2), it has been shown that stable availability at a
reasonable cost can be achieved.
      </p>
      <p>Based on this example, we propose a general approach for enhancing safety
and security of distributed systems through formal patterns:
1. Develop executable formal models of distributed systems in rewriting logic,
supported by the Maude system.
2. Make these speci cations modular and adaptive using instances of formal
patterns. A catalog thereby provides highly reusable formal patterns such as
the Meta-Object, ASV, and SR patterns.
3. Formally analyze these models to verify qualitative and quantitative
properties using the Maude tool environment (e.g., parallelized statistical model
checking supported by PVeSTA is able to analyze large system models).
4. Identify reusable formal patterns in the model and add their formal speci
cations to the pattern catalog.
4</p>
    </sec>
    <sec id="sec-5">
      <title>Research Plan for Future Work</title>
      <p>The main goal of the proposed research is to contribute a formal
patternbased approach and framework for the design of correct-, secure-, and
safe-byconstruction distributed systems, aided by a rich tool environment. We propose
three main areas of future research: (i) build a rich and comprehensive catalog
of formal patterns, (ii) identify security, safety, and other properties that are
preserved by pattern composition and proof their preservation, and (iii) improve
the existing tool support.</p>
      <p>To build a rich and comprehensive catalog of formal patterns, existing
patterns that are not yet explicitly modelled as a formal pattern need to be identi ed
and formally speci ed.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], it has been shown that the cookies protocol (a DDoS defense
protocol), if wrapped around a system, preserves the safety properties of the wrapped
system. We conjecture that the same is true for the ASV and ASV +SR
protocols. In a rst step, we want to prove that the ASV protocol also retains safety
properties of the wrapped client-server request-response system. In the future,
we want to identify such properties of other patterns and prove that they are
preserved when the pattern is applied to a system. Having property preserving
formal patterns improves their composability and reduces the formal veri
cation e ort as speci c properties are, by construction, preserved in the composed
model.
      </p>
      <p>
        Furthermore, we propose to improve existing tool support in two main
areas: (a) the robustness of existing tools and (b) code generation from executable
formal models. Since we want to build systems in which many participants are
communicating with each other and perform quantitative analyses on such
systems, we need analysis and veri cation tools that scale with the size of these
systems. In particular, analysis tools such as the PVeStA [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] statistical model
checker, which drastically increases the scalability of statistical model checking
through parallelization, need to be improved in terms of fault tolerance. Finally,
to incorporate the proposed approach in an software engineering process, code
generation techniques are needed. Thereby, based on correct-, secure-, and
safeby-construction speci cations, correct-, secure-, and safe-by-construction
implementations are generated.
5
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>In this paper we have presented the research goal of a formal pattern-based
approach and framework for the design of correct-, secure-, and safe-by-construction
distributed systems, aided by a rich tool environment. We gave a description of
formal patterns, including the example of the Meta-Object pattern, and gave
references to existing work that shows that formal patterns can help deal with
security and safety issues and that formal analysis can help evaluate patterns
in various contexts. In particular, we gave a description of the general formal
pattern-based approach and concluded this paper with a summary of a research
plan for future work.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>G.</given-names>
            <surname>Agha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Frolund</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Panwar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Sturman</surname>
          </string-name>
          .
          <article-title>A Linguistic Framework for Dynamic Composition of Dependability Protocols</article-title>
          .
          <source>IEEE ICPADS</source>
          ,
          <volume>1</volume>
          :3{
          <fpage>14</fpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>G.</given-names>
            <surname>Agha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Sen</surname>
          </string-name>
          . PMaude:
          <article-title>Rewrite-based speci cation language for probabilistic object systems</article-title>
          .
          <source>ENTCS</source>
          ,
          <volume>153</volume>
          (
          <issue>2</issue>
          ):
          <volume>213</volume>
          {
          <fpage>239</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>AlTurki</article-title>
          and
          <string-name>
            <surname>J. Meseguer.</surname>
          </string-name>
          <article-title>PVeStA: A parallel statistical model checking and quantitative analysis tool</article-title>
          . In CALCO, volume
          <volume>6859</volume>
          <source>of LNCS</source>
          , pages
          <volume>386</volume>
          {
          <fpage>392</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Arash</given-names>
            <surname>Ferdowsi</surname>
          </string-name>
          .
          <article-title>Yesterday's Authentication Bug</article-title>
          . http://blog.dropbox.com/?p=
          <volume>821</volume>
          (
          <issue>01</issue>
          /
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>M.</given-names>
            <surname>Armbrust</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fox</surname>
          </string-name>
          , R. Gri th,
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Joseph</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Katz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Konwinski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Patterson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rabkin</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Stoica</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Zaharia</surname>
          </string-name>
          .
          <article-title>Above the Clouds: A Berkeley View of Cloud Computing</article-title>
          .
          <source>Technical report</source>
          , University of California at Berkeley,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>R.</given-names>
            <surname>Chadha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Gunter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Shankesi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Viswanathan</surname>
          </string-name>
          .
          <article-title>Modular Preservation of Safety Properties by Cookie-Based DoS-Protection Wrappers</article-title>
          .
          <source>In FMOODS</source>
          , volume
          <volume>5051</volume>
          <source>of LNCS</source>
          , pages
          <volume>39</volume>
          {
          <fpage>58</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>Clavel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Duran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Eker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Lincoln</surname>
          </string-name>
          , N. Mart -Oliet,
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Talcott. All About Maude - A High-Performance Logical</surname>
          </string-name>
          Framework: How to Specify,
          <source>Program and Verify Systems in Rewriting Logic</source>
          , volume
          <volume>4350</volume>
          <source>of LNCS</source>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>J.</given-names>
            <surname>Eckhardt</surname>
          </string-name>
          , T. Muhlbauer, M. AlTurki, J. Meseguer, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wirsing</surname>
          </string-name>
          .
          <article-title>Stable Availability under Denial of Service Attacks through Formal Patterns</article-title>
          .
          <source>In FASE</source>
          , volume
          <volume>7212</volume>
          <source>of LNCS</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>T.</given-names>
            <surname>Erl. SOA Design</surname>
          </string-name>
          <article-title>Patterns</article-title>
          .
          <source>Prentice Hall</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. E. Gamma,
          <string-name>
            <given-names>R.</given-names>
            <surname>Helm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Johnson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Vlissides</surname>
          </string-name>
          . Design Patterns:
          <article-title>Elements of Reusable Object-Oriented Software</article-title>
          .
          <source>Addison-Wesley</source>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>S.</given-names>
            <surname>Khanna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Venkatesh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Fatemieh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Khan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Gunter</surname>
          </string-name>
          .
          <article-title>Adaptive Selective Veri cation</article-title>
          .
          <source>In IEEE INFOCOM</source>
          , pages
          <volume>529</volume>
          {
          <fpage>537</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. Wirsing</surname>
          </string-name>
          et al.
          <article-title>Sensoria Patterns: Augmenting Service Engineering</article-title>
          . In ISoLA, volume
          <volume>17</volume>
          <source>of CCIS</source>
          , pages
          <volume>170</volume>
          {
          <fpage>190</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          .
          <article-title>Conditional Rewriting Logic as a Uni ed Model of Concurrency</article-title>
          . TCS,
          <volume>96</volume>
          (
          <issue>1</issue>
          ):
          <volume>73</volume>
          {
          <fpage>155</fpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Talcott</surname>
          </string-name>
          .
          <article-title>Semantic models for distributed object re ection</article-title>
          .
          <source>In ECOOP</source>
          , volume
          <volume>2374</volume>
          , pages
          <fpage>1</fpage>
          <lpage>{</lpage>
          36.
          <string-name>
            <surname>LNCS</surname>
          </string-name>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>P. C.</surname>
          </string-name>
          <article-title>Olveczky</article-title>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          .
          <article-title>Semantics and pragmatics of Real-Time Maude</article-title>
          . HOSC,
          <volume>20</volume>
          (
          <issue>1</issue>
          {2):
          <volume>161</volume>
          {
          <fpage>196</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>M. Schumacher</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Fernandez-Buglioni</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Hybertson</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Buschmann</surname>
            , and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Sommerlad</surname>
          </string-name>
          . Security Patterns. Wiley,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>