<!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 />
    <article-meta>
      <title-group>
        <article-title>C o m p o n e n t M o d e l w i t h S u p p o r t o f M o b i l e A r c h i t e c t u r e s</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marek Rychllli</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>I{eywords: Softwarc Arc}ritecture, Componcnt-Based Developrnent, Com-
porrerrt Modcl, Formal Specificatiorr</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dcpartment of Information Systcms, Faculty of Information Technology, Brno University of Tcchnology</institution>
          ,
          <addr-line>BoZet6chova 2, 612 66 Brno</addr-line>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <fpage>55</fpage>
      <lpage>62</lpage>
      <abstract>
        <p>Conrmon features of current information systems have significant impact on software architectures of the systems. The systems can not be realised as monoliths, formal speciflcation of behaviour and interfaces of thc systenrs' parts are neccssary) as well as specification of their interaction. Moreover, the systems have to deal with many problems including the ability to clonc components and to move the copics across a network (componcnt mobility), creation, destruclion and updating of components and connections during the systems' runtime (dvnamic reconfiguration), maintaining components' compatibility, etc. In this paper, wc prcscnt the component modcl with support of mobile architectures and outlinc its formal basis. We also rcvicw thc rclated research on the currcnt theory and practicc of formal component-based dcvclopment of software systcms.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Increasing globalisation of information society and its progression creatc nceds
for extensivc and reliable information technology solutions. Common
requirements for current information systcms include adaptability to variable structure
of organisation, support of distributed activities, intcgration of well-establishcd
(third party) softwarc products, conncction to a variable sct of external systems,
etc. Thosc f'catures have significant irnpact on software architectures of the
systems. The systems can not be realised as monoliths, exact specification of
functions and intcrfaces of the systcms' parts are necessary, as well as
specification of their cornrnunication and deployrnent. Therefore, the information
systcms of organisations are realised as networks of quite autonomous, but
cooperative, units communicating asynchronously via messagesof appropriate
format. Unfortunately, design and implementation of thc systems have to deal
with many problems including the ability to clone components and to move the
copies acrossa network (i.e. component mob'il'itg), creation, destruction and
updating of components and connectionsduring the systems' runtimc (i.e. dgnami,c
reconfigurat'ion),maintaining components' compatibility, etc. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
      </p>
      <p>Moreover, those distributcd information systems are getting involved. Thcir
architecturcs are evolving during runtitne and fbrmal specifications arc necessary,
particularly in critical applications. Design of the systemswith dynamic
arch'itectures (i.e. architectrtreswith dynamic reconfigurations) and mobi,learch'itectures
(i.e. dynamic architectures with component mobility) can not bc done by means
of conventional software design mcthods. In most cases,these methods are able
to dcscribe semi-formally only sequcntial processing or simple concurrcnt
processing bounded to one component without advanced featurcs such as dynamic
reconfiguration.</p>
      <p>
        The component-baseddeuelopment(CBD, see [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]) is a software developmcnt
methodology, which is strongly oriented to composability and re-usability in a
softwarc system's architccture. In thc CBD, from a structural point of view, a
software system is composed of componenfs,which are self contained entities
accessiblet,hrough well-defined i,nterfaces.Connection of compatible interfaces
of cooperating components is realised via connectors. Actual organisation of
components interconnectcd via connectors is called configurati,on. Component
models arc specific meta-models of software architcctures supporting the CBD,
which define synta,x,sema,nticsand compositiorr of components.
      </p>
      <p>Although the CBD can be the right way to cope with the problems of the
distributcd information systems, it has some limitations in formal description,
which restrict the full support for the mobilc architectures. Those restrictions
can be delimitcd by usage of formal bases that do not consider dynamic
reconfigurations and component mobility, strict isolation of control and businesslogic
of components that does not ailow full integration of dynamic reconfigurations
into the components, etc.</p>
      <p>In this paper, we propose the component model with support of mobile
architcctures and review the rclated current formal approaches to the CBD. The
rcmainder of this papcr is organiscd as follows. In Section 2, wc introduce our
proposcd approach in more detail. In Section 3, we review the main approaches
that are relcvant to our subject. In Section 4, we discuss advantages and
disadvantages compared with the rcviewed approaches. To conclude, in Section 5, we
summarise our approach, current results and briefly outline the future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Component Model</title>
      <p>In this scction, wc describeour approach to the componcnt model with support of
mobile architectures. The Figure 1 describesan outline of the component modcl's
mcta-modcl. Three basic entities rcpresent thc core entitics of a component based
architecture: a component, an interface and a connector.</p>
      <p>The component is an active communicating entity in a component based
software systcm. In our approach, thc componcnt consists of component abstraction
and componcnt implemcntation. The component abstract'ion (ConpAbstraction in
the rneta-model) representsthe component's specification and behaviour given
by the component's formal description (scmantics of scrvices providcd by the
component). The component 'implementat'ion (Conpftoplementation)rcpresents</p>
      <sec id="sec-2-1">
        <title>ComponentModel with Support of Mobile Architectures 5 7</title>
        <p>conQtns SuDcomponen{s
specific implementation of the component's behaviour (implementation of the
serviccs). The implemcntation can bc primitive or compositc. The primi,tiue
'implementati,on (PrinitiveConplmpl) is realised dircctly, beyond the scope of
architccture description (it is "a black-box"). The compos'itei,mplementati,on
(conpositecomprnpl)is decomposableon a systcm of subcomponentsat the lower
level of architecture dcscription (it is "a grey-box"). The subcomponents are
rcpresented by component abstractions (ConpAbstraction).</p>
        <p>The interface of a componcnt (descendantsof entity Interf ace) can be sorted
according to its rclative location compared with the component into public and
privatc interfaces. The publi,c i,nterfaces(euuruncrnterface and
PubCtrt-Interface) are required or provided (attribute type of the entity) by u component
to its neighbouring componcnts at the samc level of the architccture
description (i.e. not to subcomponents of a neighbouring component, for example).
The priuate i,nterfaces(lrivrunclnterface and Privctrtlnterface), which exist
only in composite componcnts, are the components' public interfaces delegated
into thc components' composite implementation where they arc available for
the components' subcomponents. According to functionality of intcrfaces, we
distinguish functional interfaces and control interfaces. The funct'ional,interfaces
(luurunclnterface and PrivFuncfnterface) represent businessoricnted services.
The control 'interfaces (euuctrtrnterface and Privctrt-rnterface) providc
services for components' introspection (e.g. getFunclnterfacesO) and changes of
an architecture and behaviour (startO and stopO). The servicesfor changesof
an architecturc are, for example, packComponentOand unpackCornponent Ofor a
component's transformation into and from a transmittable mcssage,respectively.</p>
        <p>The connector is responsible for a rcliable communication between required
and provided interfaces. It consists of connector abstraction and connector
implcmentation. The connector abstract'ion(ConnAbstraction) representsan abstract
connection of a pair of compatiblc interfaces. The connectorimplementation
(Connlmprementationr)epresentsspecificimplcmentation of thc connector, which
depends e.g. on comrnunication style (buffered and unbuffered connection) or a,
type of synchronisation (blocking and output non-blocking).</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.L Behaviour and Support of Mobile Architectures</title>
        <p>We focus on behaviour particularly rclatedto the features of mobile arch'itectures,
i.c. on creation and destruction of components and connectionsand on passingof
components. Evolution of an architecturc begins in thc state where initialisation
of ttre architccture is finishcd. Then, a new componenl can be creatcd by meansof
duplication of an existing componcntl where thc new componcnt can be placed as
a subcomponent of a parent component or sent via its outgoing connections (via
providcd interfaccs) . Destruct'ion of a cornponent canbc done automatically after
releasing of its provided interfaces (the componcnt is forgotten when there arc
no outgoing connections). Creat'ion of new connect'ions between two intcrfaces
can be done also by means of passing of componcnts. A componcnt, which
is creating a new conncction, rcccives a component with a target interface
and obtains the interface via the component's control interface. This enables
a,cortrtectiotrto inter:connectsubcomponents of two different parent components
if one of the subcomponent is accessiblevia passing of components, i.e. to
sharc one subcomponent between many parent components. Destructi,on of a
connect'ion can be done directly via connected interface (actually, the connection
is forgotten) so no destruction is needed). The pass'ingof a component is realised
by means of its control interface (the component is "packed" into a messagc)
and control interface of target component (the message is "unpacked" and the
component will become a subcomponent of thc target component).</p>
        <p>
          As it follows from the description of behaviour, the connections can
intcrconnect required functional interfaces with (providcd2) control interfaces. This
allows to build systems where functional (business) requirements imply changes
of the systems' architectures.
2.2 Formal Description
The componcnt model's formal description can be realised by means of the
process algebra n-calculus, known as thc calculus of mobi,Ieprocesses[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], which
allows modelling of systemswith dynamic communication structures (i.e. mobile
processcs). The dcscription is based on our prcvious research on distributed
information systems as systems of asynchronous concurrcnt processcs [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] and
thc mobile architecturc's features in such systems [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>Formal description of a C componcnt's behaviour can bc expressedas the
z-calculus processC : (CtlC.) + stop.start.C.h is a non-detcrministic choice
between a parallel composition of processcs,which rcpresent its functional part
C7 and control part C", and the proccss that waits for "start" after it receives
"stop" via names start and stop, respectively. Intcrfaces of the component C
are reprcsented by free namcs in thc process C, by its parameters, if the C is
dcnoted as a paramctric proccssC(p1,. ..,p^).</p>
        <p>For componcnt abstraction C, the definition of the process Cy is givcn by
a designcr of a system or a componcnt, which contains the component C as its
t by -"""r packConponentOand unpackConponento
2 in ou. app"rfoach,the control interfacesare only provided (they provide a control)</p>
        <p>ComponentModel wilh Support of Mobile Architectures 5 9
subcomponcnt. It represents required functional behaviour of thc system's or
component's part. For componcnt primitive implementation C, the definitiorr
of the process Cy is givcn by description of functional behaviour of the C
component's implementation according to its specification (the implementation
is "a blackbox"). For cornponent composite irnplementation, the definition of
t h e p r o c e s s C y i s a p a r a l l e l c o m p o s i t i o n o f . n p r o c e s s e s C r ( p t , r , , . . . , p r , ^ 1 ) , . . . ,
Cn(pn,r,,. . . ,p,n,rn,)that represcnt component abstractions of thc C component's
subcomponents, and their interconnections. For each connection between
providcd interfaces reprcsented by names pr ,. . . ,pu and required interfaccs
representedby namcs Qt,...,eu of the subcomponents,we can define parametric
n-calculus process for binding the interfaces</p>
        <p>B ( p r , . . . , p u , Q , , . . . ,: eii, )
i : I j : I</p>
        <p>q i @ ) . p r ( r ) . B ( p r , . . . , p u , e t , . . . ,( Q1)u )</p>
        <p>
          As it has been describcd in the previous section, the most of the features
of mobile architectures can bc reduced to the component mobility feature. In
thc n-calculus, this featurc can be dcscribed as passing of z--calculusprocesscs:
directly by mcans of higher ordcr z--calculusor indirectly by means of passing of
names ("an executor example" in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]). The indirect mcthod in terms of systcms
of asynchronous concurrent processeshas been described in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. We can define
processesthat rcalisespack and unpack control intcrfaces. LcI C(p1,. . . ,p,n) be
a n-calculus process representing behaviour of a component C with rn interfaces.
Then, we definepara,metricprocessPs to send (export) all interfacespr,...,p,n
of the component C via name p, and proccss U6 to receive (import) thc interfaccs
via name p into a context of another process, as follows
        </p>
        <p>In' c l/ p . p r .. . . , p ^ )\ : p l/ r )\ (/ -r/ \ p t \) . . ._r,\ p . ) )
uc(p,pt, . . ., p,n): (")(p(r).n(pt). . .r(p.))
( ) \</p>
        <p>Those processesimplement interfacespackO and unpackO, respectivcly. The
control part of the component C is defined ffiC.:l.Pc. The proccss [/6: is used
by a componcnt, which is a destination of passing of the c's interfaces.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Related Work</title>
      <p>
        There havc been proposcd several component models [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In this scction) we focus
on two contemporary component models supporting some features of dynamic
architecturcs and formal descriptions.
      </p>
      <p>
        Thc component model FYactal [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is a general component composition
framework with support for dynamic architectures. A Fractal componcnt is
formed out of two parts: a controller and a content. The content of a
composite component is composed of a finite number of nested components. 'Ihose
subcomponents arc controlled by the controller ("a membrane" ) of the enclosing
component. A component can bc shared as a subcomponcnt by scveral distinct
componcnts. A component with empty content is callcd a primitive component.
Evcry component can interact with its environment via operations at external
intcrfaces of the component's controller, while internal interfaces arc accessible
only from the component's subcomponcnts. Thc interfaces can be of two sorts:
client (requircd) and scrver (provided). Besidcs, a functional interface requires
or providcs functionalities of a component, whilc a control intcrface is a scrver
interface with opcrations for introspcction of the componcnt and to control its
configuration. There are two hvpesof directed connections between compatible
interfaccs of components: primitive bindings between a pair of components and
composite bindings, which can interconnect severalcomponents via a conncctor.
      </p>
      <p>
        Bchaviour of Fractal components can be formally describcd by means of
parametri'sed networks of commun'icati,ng automata language [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Behaviour of
each primitive component is modelled as a finite state parametrised
labelledtransi,t'ionsgstem (pLTS) - a labellcd transition system with parametrised actions,
a set of parameters of the system and variables for cach state. Behaviour of
a composed FYactal component is defined using a parametrised sgnchronisation
network (pNet). It is a pLTS computed as a product of subcomponcnts' pLTSs
and a transducer. Thc transduccr is a pLTS, which synchronises actions of the
corrcsponding LTSs of the subcomponents. When synchronisation of thc actions
occurs, the transducer changes its state, which mcans reconfiguration of the
component's architecture. Also behaviour of a Fractal component's controller
can bc formally described by means of pLTS/pNet. The rcsult is composition of
pLTSs for binding and unbinding of each of thc component's functional interfaces
(one pLTS per one interface) and pLTS for starting and stopping the component.
      </p>
      <p>
        In the component model SOFA [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], u part of S)FA project (SoFtware
Appli,ances/, a softwarc system is described as a hierarchical composition of
primitive and composite components. A component is an instance of a template,
which is dcscribed by its frame and architccture. Thc frame is a "black-box"
specification view of the component defining its provided and required interf'aces.
Primitivc componcnts arc directly implemented by described software system
thcy have a primitivc architccture. The architecture of a composcd component
is a "grey-box" implementation view, which defines first level of nesting in bhe
component. It describes dircct subcomponents and their interconnections via
interfaces. The conncctions of the interfaces can be realised via conncctors,
implicitly for simplc connections or cxplicitly. trxplicit connectors are described
in a similar way as the components, by a frame and architecture. The conncctor
frame is a set of roles, i.e. interfaces, which arc compatible with interfaces of
componcnts. The conncctor architecture can be simplc (for primitive connectors),i.e.
directly implcmented by described software system, or compound (for composite
conncctors), which contains instancesof other connectors and components.
      </p>
      <p>Thc SOFA uses a componen,t,d,efi,ni,t,i,olann,,gu,age(CDL) for specification of
components and behaui,ourprotocols (BPs) for formal description of their
behaviours. Thc BPs are regular-like cxpressions on the alphabet of event tokens
reprcsenting cmitting and accepting method calls. Behaviour of a component (its
interface, frame and architecture) can be dcscribed by a BP (interface, framc
and architccture protocol, respectively) as the set of all traces of event tokens</p>
      <p>ComponentModel with Supportof Mobile Architectures 6l
generatcd by the BP. The architccture protocols can be generated
automatically from architccture description by a CDL comp'iler. A protocol conformance
relati,on ensures thc architecture protocol generatcs only traces allowed by the
frame protocol. From dynamic architcctures, the SOFA allows only a dynamic
update of componcnts during a system's runtime. The update consistsin change
of implemcntation (i.e. an architecturc) of the component by a new one.
Compatibility of thc implementations is guaranteed by thc conformance rclation of
a protocol of the new architecture and the component's framc protocol.</p>
      <p>
        Recently, the SOFA tcam is working on a new version of the component
modcl. The component model SOFA 2.0 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] aims at removing sevcral
limitations of the original version of SOFA - mainly thc lack of support of dynamic
reconfigurations of an architecture, well-structured and extensible control parts
of components, and multiplc communication styles among components.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Discussion</title>
      <p>Thc componcnt model proposed in this paper is able to handle mobile
architcctures, unlike the SOFA that supports only a subset of dynamic architcctures
or the Fractal/Fractive, which does not support components mobility. As is
described in Section 2.2, the n-calculus provides fitting fbrmalism.</p>
      <p>Moreovcr, the proposed semantics permits to combine provided control and
required functional interfaces, e.g. in comparison with the Fractal/Fractive that
also providcs control and functional interfaces. Regardless, in some cases,it
separation descriptiou and vcrification of control and functional parts is needcd. The
possiblc solution can be an application of typed z-calculus, which distinguishcs a
type of names, and rcplacing of some communication patterns that use
controlfunctional bindings by special z--calculusconstructions (c.g. a special stop/start
processcs recursivcly controlling also subcomponents of a component, which is
stopped/started). Rcgardless, for mobilc architectures, the ability to combine
control and functional intcrfaces is nccessary.</p>
      <p>The ncxt featurc of the component model is partially independencc of a
component's specification from its implementation. This f'eatureis similar to the
SOFA's component-templatc relationship. It allows to control behaviour of a
primary component's implementation, define a composite component's border
that isolatcs its subcomponcnts, which is called "a membranc" in the Fractal,
ctc. Our goal is to expand thc specification-implerncntation rclationship of
components so it allows runtimc replaccments of the components' implementations
without need to stop a component during replacement, in comparison with the
SOFA. We bclieve it can be achieved by means of component mobility.</p>
      <p>Howcvcr, all above mcntioned fcatures will be parts of an ongoing work.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and F\rture Work</title>
      <p>This paper dcscribesthc componcnt modcl with support of mobilc architectures.
The component model splits a distributed information system into primitive and
composite conrponents according of decomposability of the system's parts, the
components' functional and control interfaces according to types of required
or provided serviccs, and conncctors realising a communication layer betwccn
the components. 'I'he components and the connectors are described at different
levcls, as their specificatiorrsand irnplcrnentatious. Scrnanticsof thc entities can
be describcd by means of z-calculus processes.</p>
      <p>An ongoing work is rclated to completing cxact description of the
componcnt model's formal semantics. Future work is mainly related to realisation of a
supporting environmcnt, which allows intcgration of the model into a software
development process, including integration of verificat,ion tools and
implementation support.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>T.</given-names>
            <surname>Barros</surname>
          </string-name>
          .
          <article-title>Formal specificat'ion and uemfi,cation of distributed contponent systems</article-title>
          .
          <source>PhD thesis</source>
          , Universit6 de Nice - INRIA Sophia Antipolis, Nov.
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>E.</given-names>
            <surname>Bruneton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Coupaye</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.-B.</given-names>
            <surname>Stefani</surname>
          </string-name>
          .
          <article-title>The Fbactal component model</article-title>
          .
          <source>Draft of speciflcation, version 2</source>
          .0-
          <issue>3</issue>
          , The ObjectWeb Consortium, Feb.
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. T. Brrre5, P. Hnet,vnka, and F.
          <source>Pl6Sil. SOFA 2</source>
          .
          <article-title>0: Balancing advanced feat,rrrcsin a hierarchical cornponent model</article-title>
          .
          <source>In Proceedings of SERA 2006</source>
          , pages
          <fpage>40</fpage>
          -
          <lpage>48</lpage>
          , Scattle, USA, Aug.
          <year>2006</year>
          . IEEE Computer Socicty.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. .J.I{16l and
          <string-name>
            <given-names>M.</given-names>
            <surname>Zemlicka</surname>
          </string-name>
          . Autonomous components.
          <source>In SOFSEM</source>
          <year>2000</year>
          :
          <article-title>Theory and Practtce of Informat'ics</article-title>
          , volume
          <volume>1963</volume>
          <source>of Lecture Notes zn Cornputer Sciertce, pagcs 375- 383</source>
          . Springer,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>K.-K. Lau</surname>
            and
            <given-names>Z.</given-names>
          </string-name>
          <string-name>
            <surname>Wang</surname>
          </string-name>
          .
          <article-title>A survey of software comporrerrt models (second cdition)</article-title>
          .
          <source>Prc-print CSPP-38</source>
          , School of Computer Sciencc, The Univcrsity of Manchester, Manchester M13 gPL, UK, May
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>R.</given-names>
            <surname>Milner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Parrow</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Walker</surname>
          </string-name>
          .
          <article-title>A calculus of mobile processes) part I/II</article-title>
          . Journal of Inforrnati,on and Com,putati,on,
          <source>l00:4L</source>
          ,
          <fpage>77</fpage>
          ,
          <string-name>
            <surname>Sept</surname>
          </string-name>
          .
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>F.</given-names>
            <surname>Pl6Sil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Bflek</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Janedek</surname>
          </string-name>
          . SOFA/DCUP:
          <article-title>Architecture for component trading and dynamic updating</article-title>
          .
          <source>ln lth International Conference on Configurable Di,stributed Systerns</source>
          ,pages
          <fpage>43</fpage>
          <lpage>51</lpage>
          , Los Alamitos, CA, USA, May
          <year>1998</year>
          .
          <article-title>IEtrtr Computcr Society</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>M.</given-names>
            <surname>Rychl</surname>
          </string-name>
          <article-title>;f. Towards verification of systems of asynchronous concurrent processes</article-title>
          .
          <source>In Proceedi,ngs of 9th Internati,onal Conference Inforrnation Systems lrnplementation and Modelling (ISIM'06)</source>
          , pages
          <fpage>123</fpage>
          <lpage>130</lpage>
          . MARQ, Apr.
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>M.</given-names>
            <surname>Rychly</surname>
          </string-name>
          arrd
          <string-name>
            <given-names>J.</given-names>
            <surname>Zendulka</surname>
          </string-name>
          .
          <article-title>Distributed inforrnation systerrr as a systern of asynchronous concurrent processes</article-title>
          .
          <source>In MEMICS 2006</source>
          Second Doctoral Workshop on Mathernati,co,l and Engi,'
          <article-title>neering Methods i,n Com,puter Sc,ience</article-title>
          , pages
          <fpage>206</fpage>
          <lpage>2r3</lpage>
          .
          <article-title>Faculty of Information Technology BUT</article-title>
          , Oct.
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>C.</given-names>
            <surname>Szyperski</surname>
          </string-name>
          . Com,ponent Software:
          <article-title>Begond Object-Oriented Programmi,ng</article-title>
          . Addison Wesley Professional, second cdition,
          <source>Nov</source>
          .
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>