Technology
Wednesday, 29 October
13:30-15:00
Chair: John Vlissides,
IBM T. J. Watson Research Center,
ddd@oopsla.acm.org
|
|
13:30 - 14:00
|
XAspects: An Extensible System for Domain-Specific Aspect Languages
Macneil Shonle,
Northeastern University,
mshonle@ccs.neu.edu Karl Lieberherr,
Northeastern University,
lieber@ccs.neu.edu Ankit Shah,
Northeastern University,
ankit@ccs.neu.edu
Current general aspect-oriented programming solutions fall short of
helping the problem of separation of concerns for several concern
domains. Because of this limitation good solutions for these concern
domains do not get used and the opportunity to benefit from
separation of these concerns is missed. By using XAspects, a plug-in
mechanism for domain-specific aspect languages, separation of
concerns can be achieved at a level beyond what is possible for
object-oriented programming languages. As a result, XAspects allows
for certain domain-specific solutions to be used as easily as a new
language feature.
Keywords: Aspect-oriented programming, — programming,
language extensions, domain-specific languages.
|
14:00 - 14:30
|
The Power of Symmetry: Unifying Inheritance and Generative Programming
DeLesley Hutchins,
MZA Associates Corporation,
hutchins@mza.com
I present the Ohmu language, a unified object model which allows a number of "advanced" techniques such as aspects, mixin
layers, parametric polymorphism, and generative components to be implemented cleanly using two basic concepts: block structure
and inheritance. I argue that conventional ways of defining classes and objects have created artificial distinctions which
limit their expressiveness. The Ohmu model unifies functions, classes, instances, templates, and even aspects into a single
construct the structure. Function calls, instantiation, aspect-weaving, and inheritance are likewise unified into a single
operation the structure transformation. This simplification eliminates the distinction between classes and instances, and
between compile-time and run-time code. Instead of being compiled, programs are reduced using partial evaluation, in which
the interpreter is invoked at compile-time. Within this architecture, standard OO inheritance becomes a natural vehicle for
creating meta-programs and automatic code generators— the key to a number of recent domain-driven programming methodologies.
|
14:30 - 15:00
|
Domain Driven Web Development With WebJinn
Sergei Kojarski,
Northeastern University,
kojarski@ccs.neu.edu David Lorenz,
Northeastern University,
lorenz@ccs.neu.edu
Web application development cuts across the HTTP protocol, the
client-side presentation language (HTML, XML), the server-side
technology (Servlets, JSP, ASP, PHP), and the underlying
resource (files, database, information system). Consequently,
web development concerns including functionality, presentation,
control, and structure cross-cut, leading to tangled and
scattered code that is hard to develop, maintain, and reuse.
In this paper we analyze the cause, consequence, and remedy for
this crosscutting. We distinguish between intra-crosscutting
that results in code tangling and inter-crosscutting that
results in code scattering. To resolve inter-crosscutting,
we present a new web application development model named
XP that introduces extension points as place-holders for
structure-dependent code. We present another model named
DDD that incorporates XP into the Model-View-Controller
(MVC) model to resolve both intra- and inter-crosscutting.
WebJinn is a novel domain-driven web development framework
that implements the DDD model. WebJinn has been used to
develop web applications at several web sites. Domain driven
web development with WebJinn benefits from a significant
improvement in code reuse, adaptability, and maintainability.
|
|