8 CONCLUSIONS
A crucial idea of Model Driven Engineering is that
transformations between heterogeneous models can
be described uniformly in terms of meta-model map-
pings. Based on the fact that meta-models define an
abstract syntax from which one can describe model
semantics, transformation rules that arise from MDA-
based techniques are explicit and precise.
In our contribution we applied such a technique
in order to address the reverse-engineering of UML
structural diagrams from formal B specifications of
information systems. Derivation rules are described
in an MDA framework in terms of projections from
a proposed B meta-model to the UML meta-model.
Currently, we are working on integrating efficiently
the proposed extensions to our MDA-based CASE
tool for combining UML and B notations. The tool
is intended, on the one hand, to circumvent the lack
of traceability of UML-to-B approaches, and on the
other hand, to provide a useful UML documentation
of B developments in order to help understanding for-
mal specifications. Still, further research is needed to
broaden the scope of our method and its support tool
and cover more B constructs (e.g. refinements, etc).
Another interesting perspective is to integrate to our
tool a checker which allows to apply transformations
only if the B specifications are neither redundant nor
inconsistent among them. The intention of such a B
specifications checker is to avoid derivation of incor-
rect UML diagrams.
Bridging the gap between UML and B notations
have received a lot of interest in the last decade
from the scientific community. However existing ap-
proches were not applied on large-scale applications.
Experimentsdone by our tool (Idaniet al., 2005) (pre-
sented in Sect. 2) showed encouraging results in this
direction, and the approach presented in this paper
provides a better coverage of B and UML.
REFERENCES
Abrial, J.-R. (1996). The B-book: assigning programs to
meanings. Cambridge University Press.
Abrial, J.-R. (1999). System study: Method and exam-
ple. http://www-lsr.imag.fr/B/Documents/ClearSy-
CaseStudies/.
Behm, P., Benoit, P., Faivre, A., and Meynadier, J.-M.
(1999). METEOR: A successful application of B in a
large project. In FM’99, volume 1709 of LNCS, pages
369–387. Springer-Verlag.
Bert, D. and Cave, F. (2000). Construction of Finite La-
belled Transition Systems from B Abstract Systems.
In Integrated Formal Methods, volume 1945 of LNCS,
pages 235–254. Springer-Verlag.
Fekih, H., Jemni, L., and Merz, S. (2006). Transforma-
tion of B Specifications into UML Class Diagrams and
State Machines. In 21st Annual ACM Symposium on
Applied Computing, pages 1840–1844. ACM.
Fowler, M. (2004). UML 2.0. CampusPress.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995).
Design patterns: elements of reusable object-oriented
software. Addison-Wesley Professional.
Idani, A. (2006). B/UML: Mise en relation de sp´ecifications
B et de descriptions UML pour l’aide `a la validation
externe de d´eveloppements formels en B. PhD thesis,
Universit´e de Grenoble - France.
Idani, A., Boulanger, J.-L., and Philippe, L. (2007). A
generic process and its tool support towards combin-
ing UML and B for safety critical systems. In 20th
Int. Conf. on Computer Applications in Industry and
Engineering, pages 185–192, USA.
Idani, A. and Ledru, Y. (2006). Dynamic Graphical
UML Views from Formal B Specifications. Interna-
tional Journal of Information and Software Technol-
ogy, 48(3):154–169. Elsevier.
Idani, A., Ledru, Y., and Bert, D. (2005). Derivation of
UML Class Diagrams as Static Views of Formal B
Developments. In International Conference on For-
mal Engineering Methods (ICFEM’05), volume 3785
of LNCS, pages 37–51, UK. Springer-Verlag.
Laleau, R. and Polack, F. (2002). Coming and Going from
UML to B: A Proposal to Support Traceability in Rig-
orous IS Development. In B’02, volume 2272 of
LNCS, pages 517–534. Springer.
Lano, K., Clark, D., and Androutsopoulos, K. (2004). UML
to B: Formal Verification of Object-Oriented Models.
In Integrated Formal Methods, volume 2999 of LNCS,
pages 187–206. Springer.
Leuschel, M. and Butler, M. (2003). ProB: A Model
Checker for B. In FME 2003: Formal Meth-
ods Europe, volume 2805 of LNCS, pages 855–874.
Springer-Verlag.
Sekerinski, E. (1998). Graphical Design of Reactive Sys-
tems. In B’98, pages 182–197, London, UK. Springer.
Snook, C. and Butler, M. (2006). UML-B: Formal mod-
eling and design aided by UML. ACM Transactions
on Software Engineering and Methodology (TOSEM),
15(1):92–122.
Tatibouet, B., Hammad, A., and Voisinet, J. (2002). From
an abstract B specification to UML class diagrams.
In 2nd IEEE International Symposium on Signal Pro-
cessing and Information Technology.
TOWARDS REVERSE-ENGINEERING OF UML VIEWS FROM STRUCTURED FORMAL DEVELOPMENTS
103