order to enforce them in the process of model valida-
tion. These constraints were partly modelled as MOF
constructs and partly implemented. Finally, a way for
transforming valid DFN models into DFSL specifica-
tions had to be developed. This was accomplished
by generating the XMI representation of the graphi-
cal model using the EMF and then translating it into
DFSL using XSLT.
To formalize the DFN, we chose to develop a new
metamodel instead of realizing it as a UML pro-
file because of theoretical and practical reasons: The
DFN has its well-defined domain and enough seman-
tic distance from UML to justify an own metamodel,
and UML 2.0 profiles are not supported properly by
today’s tools. We therefore implemented the DFN
CASE tool as an Eclipse plugin to demonstrate the
feasibility of the metamodelling approach for dialog
flow specification. While the first practical experi-
ences with the tool are promising, an experimental
evaluation of its impact on the web application de-
velopment process is still a topic of further research.
The development of the DFN CASE tool will con-
tinue in the future. It would be desirable to support
more aspects of web application development, e.g. by
generating further artefacts such as Java class stubs
for implementing the actions and JavaServer Pages
for implementing the masks. Although the full im-
plementation of these artefacts will remain the devel-
oper’s task, the CASE tool should be able to main-
tain the synchrony between model elements and their
code representation, and allow prototypic dialog flow
execution at design time. This way, the develop-
ment process can be streamlined by avoiding frequent
copying and pasting of class structures and lengthy
testing of simple use cases.
Combining all possibilities offered by the DFN
metamodel, the following scenario can be conceived:
The development of a web application using the DFN
is completely integrated into the Eclipse IDE. While
the dialog flow is designed in the graphical editor, an-
other DFN tool generates stubs for actions and masks
in the same project. This yields a dialog flow that
can be executed directly by a Dialog Control Frame-
work plugin. While the dialog flow is refined and en-
hanced incrementally, the according artefacts are im-
plemented in parallel. This would enable an agile de-
velopment approach, which produces executable code
very early, and is guided by the model of the dialog
flow that is tailored to the users’ requirements.
ACKNOWLEDGMENTS
The Chair of Applied Telematics/e-Business is en-
dowed by Deutsche Telekom AG.
REFERENCES
Apache Project (2005). The Apache Struts web application
framework. http://struts.apache.org.
Atkinson, C., K
¨
uhne, T., and Henderson-Sellers, B. (2000).
To meta or not to meta. Journal of Object-Oriented
Programming, 13(8):32–35.
Book, M. and Gruhn, V. (2003). A dialog control frame-
work for hypertext-based applications. In Lin, H. and
Ehrich, H., editors, Proceedings of the 3rd Interna-
tional Conference on Quality Software (QSIC 2003),
pages 170–177. IEEE Computer Society Press.
Book, M. and Gruhn, V. (2004). Modeling web-based dia-
log flows for automatic dialog control. In 19th IEEE
International Conference on Automated Software En-
gineering (ASE 2004), pages 100–109. IEEE Com-
puter Society Press.
Ceri, S., Fraternali, P., and Bongio, A. (2000). Web Model-
ing Language (WebML): a modeling language for de-
signing Web sites. Computer Networks, 33:137–157.
Conallen, J. (1999). Modeling web application archi-
tectures with UML. Communications of the ACM,
2(10):63–70.
Desfray, P. (2000). UML profiles versus metamodeling
extensions... an ongoing debate. In UML In The
.Com Enterprise: Modeling CORBA, Components,
XML/XMI And Metadata Workshop, Palm Springs.
Gorshkova, E. and Novikov, B. (2002). Exploiting UML
extensibility in the design of web information sys-
tems. In Proceedings of the Fifth International Baltic
Conference on Databases and Information Systems.
Kluwer.
Harel, D. (1987). Statecharts: A visual formalism for com-
plex systems. Science of Computer Programming,
8(3):231–274.
Krasner, G. (1988). A cookbook for using the model-view-
controller user interface paradigm in Smalltalk. Jour-
nal of Object-Oriented Programming, 1(3):26–49.
L
¨
uer, C. (2003). Evaluating the Eclipse platform as a com-
position environment. In 3rd International Workshop
on Adoption-Centric Software Engineering (ACSE
2003), Portland.
Muller, P.-A., Studer, P., and Bezivin, J. (2003). Platform in-
dependent web application modelling. In Proceedings
of the 6th International Conference on UML, Lecture
Notes in Computer Science, volume 2863, pages 220–
233. Springer.
Object Management Group (2002). Meta-object facility
(MOF), v1.4. Technical report.
Schattkowsky, T. and Lohmann, M. (2002). Rapid develop-
ment of modular dynamic web sites using UML. Pro-
ceedings of the 5th International Conference on UML,
Lecture Notes in Computer Science, 2460:336–350.
Singh, I., Stearns, B., and Johnson, M. (2002). Design-
ing Enterprise Applications with the J2EE Platform.
Addison-Wesley, 2nd edition.
A META-MODEL FOR THE DIALOG FLOW NOTATION
71