invite message in all output ports by executing its
Prepare
tile. Then, he sends the message by
executing Announce tile. President state evolves to
Wait-response. Announce effect is a broadcast of
msg-Invite to all participants, which actually do
nothing (Ready state). It triggers the synchronization
tile. Instantiations are as follows:
- x = the president, y = a participant,
- C(x)
⊗
C(y) = Wait-Response
⊗
Par-Ready.
- The resulting configuration is C(x)
⊗
C(y) =
Wait-Response
⊗
Invited, since the input port of the
corresponding participant contains an msg-Invite
now. We obtain the following tile: synchronization:
()() ()
() () () '(),() ()() '()
(()) ;
;;!
Wait-Response Ready Wait-Response Invited
in part C pr C part
out pr in part out pr in part in part out pr in part in part
Send out pr id id id
id id id id
Par
γ
⊗⊗
∇⊗ ⊗ ⊗ ⊗
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→⊗− ⊗
where pr denotes the president component and par
denotes a participant component.
6 CONCLUSION
In this paper, we showed how tile logic can be used
as a common semantic framework for architectural
and behavioural descriptions of distributed systems.
Starting from a Place/Transition UML diagrams,
describing the intended behaviour of the system, we
identify basic components and possible
interconnections between them via (in/out) ports. It
constitutes the architectural description phase or
black box view of the underlying system. Such view
is then refined by opening the black boxes and
glancing at their internal structure and behaviour. A
tile system is associated to each component. It
defines inherent objects and possible actions
(observations) on them. It also defines possible state
evolutions of component in terms of tiles. We have
also proposed a notion of dynamic connection in
software architectures. Dynamic reconfiguration and
mobility of components are straightforward
consequences of such component freeness from
static interconnection constraints and become
implicit aspects.
In our ongoing work, we plan to integrate some
ADLs in tile logic to ensure that our current
proposition is generic enough to cover a wide range
of distributed systems. We will also focus on
expressing inherent concepts of software
architectures (dynamic reconfiguration, component
mobility and non-functional properties of distributed
systems).
REFERENCES
R., Allen, 1997. “A Formal Approach to Software
Architecture.” PhD Thesis, Carnegie Mellon
University, CMU Technical Report CMU-CS-97-144.
C. Braga1, A. Sztajnberg, 2003, "Towards a Rewriting
Semantics for a Software Architecture Description
Language", in: A. Cavalcanti and P. Machado, editors,
Proceedings of WMF 2003, 6th Workshop on Formal
Methods, Campina Grande, Brazil, Electronic Notes in
Theoretical Computer Science 95, p.148-168.
R., Bruni, 1999. “Tile Logic for Synchronized Rewriting
of Concurrent Systems”, Phd Thesis, University of
Pisa, TD-1/99.
R., Bruni,, J., Meseguer, U., Montanari, 2003. “Tiling
Transactions in Rewriting Logic”, in ENTC, Vol.
71, 20 pp. 20-35.
R., Bruni, J. L., Fiadeiro, I., Lanese, A., Lopes, U.,
Montanari, 2004. “New Insight into the Algebraic
Properties of Architectural Connectors”, IFIP TCS, pp.
367-380.
M. Clavel, F. Duran, S. Eker, N. Martı-Oliet, P. Lincoln, J.
Meseguer, and J. Quesada, 1999. Maude: Specification
and Programming in Rewriting Logic. SRI
International, http://maude.csl.sri.com, January 1999.
M., Clavel, F., Duran, S., Eker, N., Marti-Oliet, P.,
Lincoln, J., Meseguer, C. Talcott, 2003. “Maude 2”,
SRI International and University of Illinois at Urbana-
champaign,
http://maude.cs.uiuc.edu.
G. L, Ferrari, U., Montanari, 2000. “Tile Formats for
Located and Mobile Systems”, Informatica
and.Computing, Vol.156, pp. 173–235.
F., Gadducci, U. Montanari, 1997. “The Tile Model”, in:
G. Plotkin, C. Stirling, and M. Tofte, Eds, Proof,
Language and interaction: essays in honour of Robin
Milner, MIT Press, to appear.
D. C., Luckham, J. J., Kenny, L. M., Augustin, J., Vera,
D., Bryan, W., Mann, 1995. “ Specification and
Analysis of system Architecture Using Rapide.” IEEE
Transactions on Software Engineering, vol. 21, no. 4,
pp. 336-355.
J., Magee, N., Dualy, S., Eisonbach, J., Kramer, 1995.
“Specifying Distributed Software Architectures.”, In
Proceedings of the Fifth Symposium on the
Foundations of Software Engineering (FSE4).
K., Megzari, 2004. “R EFINER: Environnement logiciel
pour le raffinement d’architectures logicielles fondé
sur une logique de réécriture.”, Thèse de doctorat en
Informatique. Université Savoie.
J., Meseguer, 1992. “Conditional Rewriting Logic as a
unified model of concurrency”, Theoretical Computer
Science, pp.73-155.
J. M., Molina Espinosa, 2003. “Modèles et services pour
la coordination des sessions coopératives multi-
applications: application à l’ingénierie systèmes
distribués”, Thèse de doctorat en Informatique et
télécommunications, LAAS of CNRS, Toulouse.
ICSOFT 2007 - International Conference on Software and Data Technologies
128