terface. The definition of the execution environment
must be coherent with the description of the services
and functionalities that compose the functional phase.
This description must be done in terms of paradigms
of implementation, and system primitives. Examples
of paradigms are client-server, remote procedure calls
and message exchange. In this phase it is used physi-
cal diagrams such as deployment diagrams and com-
ponent diagrams - they are used to give descriptions
of the physical information about a system. Note that
business rules are not affected by the execution envi-
ronment. So, none additional checking must be done
in this phase.
3 RELATED WORK
Model checking has been successfully applied to the
verification of several large complex systems such as
an aircraft controller, a robotic controller, a distrib-
uted heterogeneous real-time system, and a multime-
dia application (Campos et al., 1999).
There is much interest in improving embedded sys-
tem functionalities, where security is a critical factor.
The use of softwares in this systems enable new func-
tionalities, but create new possibilities of errors. In
this context, formal methods might be good alterna-
tives to avoid them (Corbett et al., 2000).
In many software development phases, such as de-
sign and coding, complexity is addressed by the defi-
nition and use of abstractions (Fontoura et al., 2000).
For complex specification problems (Silva and Lu-
cena, 2004), abstraction is just as important. In our
work we define a set of transformation patterns so that
it can be applied to model checking of transactional
systems: the designer describes the elements of the
application using a modeling language (UML) (Song
et al., 2003) as defined in the UML-CAFE methodol-
ogy, and the elements of the model are automatically
projected into the formal model to be verified. Note,
that our approach does not demand that the designer
knows formal methods, nor it implies specific knowl-
edge in temporal logic.
4 CONCLUSIONS AND FUTURE
WORK
In this paper we propose a methodology to specify
and verify web based systems. This technique can
increase the efficiency of the design of web appli-
cations. We use a high level modeling language to
formalize the specification of the system and a set of
model checking patterns to map (automatically trans-
lation) the specifications into the formal model to be
verified. This approach can lead to more reliable,
less expensive applications that are developed signifi-
cantly faster.
We are currently studying other features of web
based systems that we have not yet formalized, as
well as the possibility of generating the actual code
that will implement the system from its specification.
REFERENCES
Campos, S., Ribeiro-Neto, B., Bertini, L., and Macedo, A.
(1999). Formal verification and analysis of multime-
dia systems. In Proceedings of the Seventh ACM Int.
Multimedia Conference (ACMMM’99), pages 131–
140, Orlando, FL.
Clarke, E. M., Grumberg, O., and Peled, D. A. (1999).
Model Checking. The MIT Press, Cambridge, Massa-
chusetts.
Corbett, J. C., Dwyer, M. B., Hatcliff, J., Laubach, S.,
P
˘
as
˘
areanu, C. S., Robby, and Zheng, H. (2000). Ban-
dera: extracting finite-state models from java source
code. In International Conference on Software Engi-
neering, pages 439–448.
Fontoura, M., Pree, W., and Rumpe, B. (2000). Uml-f:
A modeling language for object-oriented frameworks.
14th European Conference on Object Oriented Pro-
gramming (ECOOP 2000), pages 63–82.
Huth, M. R. and Ryan, M. D. (2000). Logic in Com-
puter Science - Modelling and reasoning about sys-
tems. Cambridge University Press.
Mota, E., Clarke, E., Oliveira, W., Groce, A., Kanda, J., and
Falcao, M. (2003). Veriagent: an approach to integrat-
ing uml and formal verification tools. In Proceedings
of the Sixth Brazilian Workshop on Formal Methods
(WMF’2003).
OMG (2003). Uml resource page.
http://www.omg.org/uml.
Pereira, A., Song, M., Gorgulho, G., Meira Jr., W., and
Campos, S. (2002). A formal methodology to specify
e-commerce systems. In Proceedings of the 4th Inter-
national Conference on Formal Engineering Methods,
Lecture Notes in Computer Science, Shanghai, China.
Springer-Verlag.
Silva, V. and Lucena, C. (2004). From a conceptual frame-
work for agents and objects to a multi-agent system
modeling language. In: Sycara, K., Wooldridge, M.
(Edts.), Journal of Autonomous Agents and Multi-
Agent Systems.
Song, M., Pereira, A., Lima, F., Gorgulho, G., Campos,
S., and Meira Jr., W. (2003). Extending uml to spec-
ify and verify e-commerce systems. In Proceedings
of the Fifteenth International Conference on Software
Engineering Knowledge Engineering, San Francisco,
USA.
FORMAL VERIFICATION OF TRANSACTIONAL SYSTEMS
197