Tel-Aviv University - Computer Science Colloquium
Sunday, November 14, 14:15-15:15
at 14:00
Room 309
Schreiber Building
The characterization and architecture of object oriented (O-O) systems
has beneited
significantly from the introduction of design patterns [GoF 94], architecture
dscription
languages, and recurring motifs of various abstraction levels. The
ambiguous
specifications of these motifs, however, hinder reasoning thereof and
obstruct he
understanding and the organization of the overall software architecture.
My talk will address this issue with two separate contributions:
Part 1: ANALYSIS
On the first part of this talk I will present observations of fundamental
motif that are
the building blocks of O-O architecture and of design patterns. These
observatins lead to
the definitions:
- "Pattern", "instance of a pattern", and "context"
- "Participant" primitives
- 1st and higher level sets of participants
- Isomorphisms
These terms allow us to define the concept of a "Formal Pattern Specification
Lnguage".
Finally, we quantify the possible contribution of any prospective formalism
by efining
the measures:
- Descriptiveness
- Expressiveness, and
- Completeness
of any language with respect to a given set of patterns.
Part II: SYNTHESIS
On the second part of the talk I will present a compact fragment of
higher orde- monadic
logic, LePUS, with a graphic equivalent. I will demonstrate how LePUS
is suffic-ently
expressive to account for the motifs enumerated in a concise manner,
as well as-for many
of the Gang of Four design patterns. I will also illustrate the utility
of LePU- in
proving relations between patterns, such as refinement and projection,
in resol-ing
ambiguities originated from the imprecise original specifications,
and in promo-ing tool
support in the application and validation of design patterns.
Affiliation:
Amnon Eden conducted his PhD research in Tel Aviv University,
Israel,
and is currently a guest researcher the Department of Computer
Systems,
Uppsala University, Sweden. Eden has both academic and industrial
back-
ground, and he chaired the Software Engineering Transition Programme
in
Tel Aviv College of Management. Eden taught courses on OOP, software
en-
gineering, design patterns, and software architecture, in Aarhus Univer-
sity, Denmark; The Technion -- Israel Institute of Technology;
and Tel
Aviv University, Israel. As a freelance consultant, Eden supported
the
transition to software development in OOP and programming in C++. He
can
be contacted at eden@math.tau.ac.il.
For colloquium schedule, see http://www.math.tau.ac.il/~zwick/colloq.html