Difference between revisions of "Seminar/2008-03-26"
From LRDE
Line 1: | Line 1: | ||
+ | Connection closed |
||
{{SeminarHeader |
{{SeminarHeader |
||
| id = 2008-03-26 |
| id = 2008-03-26 |
Revision as of 18:36, 26 March 2014
Connection closed
Mercredi 26 mars 2008, 14h-17h, Amphi 4
Aspect-oriented Programming
- Documents
- aop.pdf
Anya Helene Bagge, Institutt for Informatikk, Universitetet i Bergen, Norway
Separation of concerns is the idea of breaking down a program into
encapsulated pieces that overlap in functionality as little as
possible. Encapsulated entities, such as classes, methods or modules,
are more manageable, easier to test and maintain, and may be reused
more easily than a large, entangled program. A cross-cutting concern
is something that cannot be encapsulated using normal abstraction
mechanisms, thus defeating separation of concerns. A classical example
of this is logging (e.g., logging calls and returns to a file while
the program is running) - the logging code needs to be added to every
applicable method in the program. The logging code for each method may
be almost identical, creating an undesirable overlap in
functionality. Aspects let a programmer implement a cross-cutting
concern as a separate entity, through advice (how a concern should be
implemented) and join points (where it should be implemented). I will
give an introduction to aspect-orientation and aspect languages, and
also talk a bit about domain-specific aspect languages.
Anya Helene Bagge is a research fellow at the University of Bergen,
Norway. Her research interests include programming language design,
program transformation, parallel computer architectures and program
optimisation.
http://www.ii.uib.no/ anya/
Context-oriented Programming with ContextL
- Documents
- cop.pdf
Pascal Costanza, Vrije Universiteit, Brussel, Belgium
Context-oriented Programming allows one to modularize a software
system using partial class and method definitions organized into
layers. Layers are composed into or out of the system depending on the
context apparent during program execution. The basic concept of layers
as partial program definitions has been suggested before, but with our
approach we extend this idea by the notion of dynamically scoped layer
activation, resulting in a viable approach for expressing
context-dependent behavior. We will discuss the basic language
constructs for Context-oriented Programming, the development of
non-trivial examples, implementation issues, especially with regard to
retaining efficient method dispatch, integration with the CLOS
Metaobject Protocol, and if time permits, advanced topics like
ContextL's reflective facilities for controlling layer activation and
deactivation.
Pascal Costanza has a Ph.D. degree from the University of Bonn,
Germany, and works as a research assistant at the Programming
Technology Lab of the Vrije Universiteit Brussel, Belgium. His past
involvements include specification and implementation of the languages
Gilgul and Lava, and the design and application of the JMangler
framework for load-time transformation of Java class files. He has
also implemented ContextL, the first programming language extension
for Context-oriented Programming based on CLOS, and aspect-oriented
extensions for CLOS. He is furthermore the initiator and lead of
Closer, an open source project that provides a compatibility layer for
the CLOS MOP across multiple Common Lisp implementations.
http://common-lisp.net/project/closer/contextl.html