targeted towards verification of domain-specific secu-
rity constraints, and have demonstrated it through the
application on an e-health case study.
At the highest level, we started from a
Se-
quence Diagram
representation of software require-
ments, used these to obtain, through automatic trans-
formation, an initial design of the system in
State-
charts
, transformed this model into a kiltera model,
then extended and modified it to consider the system
environment. Then, we further transformed the ex-
tended
kiltera model into a CSP description and, fi-
nally, refined it with a
CSP specification of the se-
curity requirements. The refinement checking tool
FDR2 was used to verify that security was respected
in the system implementation. A negative response
by the checker indicated that the original
Statecharts
model neglected to address all security-related re-
quirements. Note that after the above analysis (and
possible modification of the design), the Statecharts
model can be used for code synthesis of the final ap-
plication.
We have shown how a multi-formalism approach
can be useful for designing secure systems. The ver-
ification results gave us increased confidence that se-
curity requirements were effectively addressed. Pro-
ductivity is increased as many of the steps in the pro-
cess can be automated.
We are working on a toolchain which imple-
ments the modelling and transformation steps de-
scribed above. Using the toolchain will allow us to in-
vestigate how well our approach scales to a full-blown
application using the Belgian e-ID card. This work is
done using our meta-modelling and model transfor-
mation tool AToM
3
(de Lara and Vangheluwe, 2002).
ACKNOWLEDGEMENTS
This work was made possible thanks to the support of
the Flemish government (IWT-Vlaanderen) through
the adapID project. Hans Vangheluwe greatfully ac-
knowledges partial support for this work through his
National Sciences and Engineering Research Council
of Canada (NSERC) Discovery Grant. We thank the
anonymous reviewers for their pertinent and construc-
tive comments.
REFERENCES
Bengtsson, J., Larsen, K. G., Larsson, F., Pettersson, P., and
Yi, W. (1995). U
PPAAL — a Tool Suite for Automatic
Verification of Real–Time Systems. In Proc. of Work-
shop on Verification and Control of Hybrid Systems
III, number 1066 in LNCS, pages 232–243. Springer.
de Lara, J. and Vangheluwe, H. (2002). AToM
3
: A tool
for multi-formalism and meta-modelling. In FASE
’02: Proceedings of the 5th International Conference
on Fundamental Approaches to Software Engineer-
ing, pages 174 – 188. Springer.
Feng, H. (2004). DCharts, A Formalism For Modeling and
Simulation Based Design of Reactive Software Sys-
tems. Master’s thesis, McGill University.
Formal Systems Europe Ltd. (2003). ProBE User Manual.
Technical report.
Gardey, G., Lime, D., Magnin, M., and Roux, O. H. (2005).
Romeo: A Tool for Analyzing Time Petri Nets. In
Etessami, K. and Rajamani, S. K., editors, Com-
puter Aided Verification, 17th International Confer-
ence, pages 418–423. Springer.
Germeau, F. and Leduc, G. (1997). Model-based Design
and Verification of Security Protocols using LOTOS.
Harel, D. (1987). Statecharts: A Visual Formalism for
Complex Systems. Science of Computer Program-
ming, 8(3):231–274.
Hoare, C. A. R. (1985). Communicating Sequential Pro-
cesses. Prentice-Hall.
ISO (1989). LOTOS — a formal description technique
based on the temporal ordering of observational be-
haviour. ISO IS 8807.
Lowe, G. (1996). Breaking and fixing the Needham-
Schroeder public-key protocol using FDR. In Tools
and Algorithms for the Construction and Analysis of
Systems, volume 1055, pages 147–166. Springer.
Milner, R., Parrow, J., and Walker, D. (1989). A Calculus
of Mobile Processes, Parts I and II. Reports ECS-
LFCS-89-85 86, Computer Science Dept., University
of Edinburgh.
Muller, P.-A., Fleurey, F., and J
´
ez
´
equel, J.-M. (2005).
Weaving Executability into Object-Oriented Meta-
Languages. In Briand, L. and Williams, C., editors,
MODELS’05, pages 264–278. Springer-verlag.
Mustafiz, S., Sun, X., Kienzle, J., and Vangheluwe, H.
(2006). Model-Driven Assessment of Use Cases for
Dependable Systems. In MoDELS’06, pages 558–
573.
Naessens, V. (2006). A Methodology for Anonymity Control
in Electronic Services using Credentials. PhD thesis,
K.U.Leuven.
Posse, E. and Vangheluwe, H. (2007). kiltera: a simula-
tion language for timed, dynamic-structure systems.
In Proceedings of the 40th Annual Simulation Sympo-
sium. SpringSim’07, pages 293 – 300.
Reed, G. M. and Roscoe, A. W. (1986). A Timed Model
for Communicating Sequential Processes. In Kott, L.,
editor, ICALP, volume 226 of Lecture Notes in Com-
puter Science, pages 314–323. Springer.
Roscoe, A. W. and Wu, Z. (2006). Verifying Statemate Stat-
echarts Using CSP and FDR. In Liu, Z. and He, J., ed-
itors, ICFEM, volume 4260 of LNCS, pages 324–341.
Springer.
ICSOFT 2007 - International Conference on Software and Data Technologies
136