Speaker: Zhenjiang Hu (GRACE Center, National Institute of Informatics, Japan)
Title: Automatic Model Inconsistency Fixing
Abstract: Modern development environments often involve models with complex
consistency relations. Some of the relations can be automatically
established through ``fixing procedures''. When users update some
parts of the model and cause inconsistency, a fixing procedure
dynamically propagates the update to other parts to fix the
inconsistency. Currently, fixing procedures are manually implemented,
which requires a lot of efforts and the correctness of a fixing
procedure is not guaranteed.
In this paper we propose a new language, Beanbag, to support the
development of fixing procedures. A Beanbag program defines a
consistency relation in OCL-like syntax, but the program can be
executed in two modes. The checking mode checks whether a model
satisfies the relation. The fixing mode takes user updates on the
model and produces new updates to make the model satisfy the
consistency relation. In this way Beanbag significantly eases the
development of fixing procedures. In addition, a Beanbag program is
also guaranteed to be correct with respect to the three correctness
properties we define. We evaluate Beanbag over a set of MOF and UML
consistency relations and the result shows that Beanbag is useful in
practice.
This is a joint work with Yingfei Xiong, Haiyan Zhao, Hui Song, Masato
Takeichi and Hong Mei.
Biography: Zhenjiang Hu is a professor of National Institute of Informatics (NII)
in Japan. He received his BS and MS from Shanghai Jiao Tong University
in 1988 and 1991 respectively, and Ph.D degree from University of
Tokyo in 1996. He was a lecture (1997-1999) and an associate professor
(2000-2007) in University of Tokyo, before joining NII as a full
professor in 2008. His main interest is in programming languages and
software engineering in general, and functional programming and model
driven software development in particular. More information can be
found at his home page:
http://research.nii.ac.jp/~hu/