facilities for comnprehending the dynamic behav-
ior of an EP-system: we can understand the effect
of an event on the system by following the edges of
the event tree. Similarly data dependencies can be
quickly discovered with the help of property trees.
3. A laboratory for testing object-oriented methods
and concepts: since our models provide a restricted
environment for describing the static and dynamic
aspects of an application, they should be easier to
analyze and can be used as a testbed for devel-
oping mathematical models that may carry over
to more unrestricted environments. For example
techniques such as design patterns (Gamma et al.,
1995) or refactoring (Fowler, 1999) could be ex-
amined in these more restricted models. This could
potentially provide a more rigorous basis for these
techniques that could carry over at least in part to
more traditional software programs. Another ben-
efit of trying out these techniques on EP-models is
of course their potential to make the EP-modeling
process more effective.
9 CONCLUSIONS
We have presented a declarative model, named the
EP-model. EP-models are based on a small meta-
model comprising two types of entities, events and
properties, and four binary relationships between
those entities.
EP-models are executable; executability is
achieved by associating code snippets with entities
and relationships. These code snippets compute
functions without side-effects. This hybrid approach
allows one to keep the basic modeling language
simple by leaving complex parts at the code level.
The code snippets obey a locality constraint: they
can only use values connected with neighboring
modeling elements. This reduces the amount of
coupling in the resulting application.
EP-models combine static and dynamic aspects of a
system in a single diagram. They combine the notion
of state from object-oriented programming with the
notion of functional decomposition from functional
programming.
Future work will examine
• whether EP-models can be used to model appli-
cations of a realistic size and what the advan-
tages/disadvantages are over existing UML-based
methods;
• whether EP-models can be used as a cleanroom for
testing object-oriented ideas and concepts. As an
example we plan to study refactoring and design
patterns in the context of these models. Because of
the simple structure and executability of these mod-
els, such a study could provide a more rigorous ba-
sis for some of these techniques which could then
possibly be carried over to more traditional soft-
ware programs.
REFERENCES
Alcatel, I-Logix, Kennedy-Carter, Technologies, I. K.,
Technology, I. P., Corporation, R. S., and AB., T.
(2000). Action semantics for the UML. In Document
ad/2001-03-01. OMG.
Belina, F. and Hogrefe, D. (1989). The ccitt-specification
and description language sdl. Comput. Netw. ISDN
Syst., 16(4):311–341.
Fowler, M. (1999). Refactoring: Improving the Design of
Existing Code. Addison-Wesley. FOW m 01:1 1.Ex.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J.
(1995). Design Patterns : Elements of Reusable
Object-Oriented Software. Addison Wesley.
Glodt, C. and Kelsen, P. (2006). Demos: A tool for declar-
ative executable modeling of object-based systems.
Hughes, J. and Sparud, J. (1995). Haskell++: An Object-
Oriented Extension of Haskell. In Proceedings of
Haskell Workshop, La Jolla, California, YALE Re-
search Report DCS/RR-1075.
Kelsen, P. (2006). A declarative executable model for
object-based systems based on functional decompo-
sition. Technical Report TR-LASSY-06-06, Labora-
tory for Advanced Software Systems, University of
Luxembourg. http://lassy.uni.lu/demos/
documentation/TR_LASSY_06_06.pdf.
Kobryn, C. (2002). Will uml 2.0 be agile or awkward?
Commun. ACM, 45(1):107–110.
Lieberherr, K. and Holland, I. (1989). Assuring a good style
for object-oriented programs. IEEE Software, pages
38–48.
Object Management Group (2003). Unified modeling lan-
guage, march 2003. version 1.5.
Odersky, M. and Wadler, P. (1997). Pizza into Java: Trans-
lating theory into practice. In Proceedings of the 24th
ACM Symposium on Principles of Programming Lan-
guages (POPL’97), Paris, France, pages 146–159.
ACM Press, New York (NY), USA.
Raistrick, C., Wilkie, I., and Carter, C. (2000). Executable
UML (xUML). In Proceedings 3rd International Con-
ference on the Unified Modeling Language UML.
R
´
emy, D. and Vouillon, J. (1997). Objective ML: A simple
object-oriented extension of ml. In Proceedings of the
24th ACM Conference on Principles of Programming
Languages, pages 40–53, Paris, France.
Siau, K. and Cao, Q. (2001). Unified modeling language:
A complexity analysis. Journal of Database Manage-
ment, 12(1):26–34.
Stevens, W. P., Myers, G. J., and Constantine, L. L. (1999).
Structured design. IBM Syst. J., 38(2-3):231–256.
ICSOFT 2006 - INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES
68