You are on page 1of 13

2003 An Aspectual Collaborative Aware Architecture

Abstract. Current software architectures do not align seamlessly with the domain model level and the code
implementation level in a knowledge system (software system). This paper analyses the reasons and proposes an
aspectual collaborative aware architecture that may reach this unity within the concept of multiverse from quantum
mechanics, if new breakthroughs in unified programming languages based on delegation, split objects and aspects
happen. There is a perfect match between the domain model and the software architecture.

I. Likening structured software to a generative morphodymamic level


Recent trends in OO programming such as Agile Software Development and the new paradigm
Multi-Dimensional Separation of Concerns (MDSoCs) (now under the umbrella of Aspect
Oriented Software Development) have been criticizing the tyranny of the dominant
decompositions (functions, rules, procedures, objects and classes) as constructs that reflect a
world structured artificially according to the sequential order.
They bring to the foreground the need for an aesthetic of the thing, the sensitive or the beautiful!
The unexpected!
To defeat this faulty vision that hinders the generation of a morphodynamic level grasping the
essence of the real world, it is natural that humans have become first order components of
software. Alistair Cockburn and others postulate software as emergent poetry writing or literature
or a cooperative game of creativity.

I. Software likened to natural language


On the one hand, this entails a revolution in software development. One can equate rethorical,
figural potentiality of language with literature itself [NBT02]. After Proust’s novel and Greimas’s
semiotic project as well as in music, the metaphysical superiority of metaphor over metonymy
does not hold.
Greimas contests strongly semiotics as a sign theory. To him a sense of object is determined by a
network of relationships. Hence the relations are not categorical but holistic in the sense they are
not independent, but are entities in a network always in expansion. One may trace a parallel with
the phenomenon of the sound, a note is an infinite series of related overtones giving rise to a
gamut of intervals.
This process of connected overtones or semes emerging out of the phenomena of sound or sign
respectively differentiates pure rethoric from pure grammar. Indeed the conducting wire of
meaning (isotopy) is better conceived as the generative trajectory of discourse altogether (figure
1) - a trajectory which neutralizes the hierarchical opposition between grammar and rethorics,
between metonymy and metaphor.

Figure 1.
Metaphor creates certainty by substantifying experience through the principle of totalisation, yet
that substantification can always be deconstructed since given the relational nature of language,
the certainty and unity of substance can always be exploded into the aggregation of relationships.
Whenever one opens one’s mouth to speak of relationships writes Greimas in Du Sens, they
transform themselves as if by magic into substantives, that is, into terms whose meaning we must
negate by postulating new relationships (semes) and so on and on.
The foregoing calls for the need of a new notion of order such as generative order typical of
fractals and natural language and implicate order such as one experiences listening to music.
Evidently this order is active in the sense that it continually flows into emotional, physical and
other responses that are inseparable from th e transformations out of which it is essentially
constituted.
In music, there is basically similar transformation of tones in which a certain order can also be
seen to be preserved. Here an enfolded order is sensed immediately as the presence together of
many different but interrelated degrees of transformations of tones and sounds (metonymy).
There is a feeling of both tension and harmony between the various co-present transformations
and this feeling is indeed what is primary in the apprehension of the music in its undivided state
of flowing movement (metaphor)[Lour02].

I.2 The postmodernist couplings material/force and


repetition/difference supersede the scientific couplings matter/form
and repetition/similarity
On the other hand, the true crucible is the opulence of complexity that lies all in the subjective
perceptions of observers – the frog perspective.
The bird perspective introduced the “scientific coupling” matter/form and repetition/similarity.
The philosophers Deleuze and Guattari coined the postmodernist coupling material/force and
repetition/difference to supersede the former. Form organizes matter like the visual thinking in
crystals. Matter becomes compositional material, when force is the composer’s actions and
procedures to transform and deform the material like Escher’s tilings.
An application of matter/form and repetition/similarity in software is the “class” concept and the
underlying inheritance mechanism .
The peas class highlights their similarity or similitude relationships: the former color, form and
dimension, the latter nature, flavor, weight. Things don’t have among them resemblances,
likenesses. They have or they don’t have similitudes. The subclass mechanism provides
incremental differentiation still limited to similitude relationships.
An application of material/force would be the notion of prototype. It represents the default
behavior for a concept and new objects can reuse part of the knowledge stored in the prototype by
saying how the new object differs from the prototype [Lieb89]. The prototype approach seems to
hold some advantages for representing default knowledge, and incrementally and dynamically
modifying concepts. Delegation is the mechanism for implementing this in object oriented
languages.
The resemblance or likeness to a pattern [Taka88]: original element that orders and creates a
hierarchy based on it of all weaker and weaker copies that can be done. The similar develops in
series like the peas that don’t have a beginning or an end, that one can traverse in one sense on in
the other, that don’t obey any hierarchy, but are propagated from small differences to small
differences. The likeness serve to the representation, that prevails over it; the similitude serve to
the repetition that traverses it. The resemblance bases on a model that it must recognize. The

2
similitude is an undefined and reversible relationship from similar to similar. One sees through
resemblance, but one speaks by difference.
And indeed while undetermined objects of empirical intuition, the While undetermined objects of
empirical intuition, the phenomena do not speak. They speak only when transformed to a
semiotic and conceptual construction.
Indeed any phenomenon may be considered a semiotic phenomenon since it may be simply
analyzable in terms of a biplanar system, or monoplanar system or any system somewhat
structured.
The MDSoCs may naturally be the outcome of such an approach as accomplished in my
ecodesign model and its underlying geometric model inspired by Escher and based on symmetry
groups of the plane and the dotless plane. The different levels described in the Greimas’s
semiotic square (figure 2) evince the coupling repetition/difference along the whole generative
trajectory of any morphodynamic universe.

Separation Composition
of concerns of concerns

Parallelism Crosscutting
of concerns of concerns
concerns
Figure 2. Greimas’s semiotic square applied to software. It is easy to perceive that all
possibilities to generate meaning are implied here.

The failure to accomplish this both in domain model as well as at code implementation is
responsible for the noticeable Babel effect that rather stagnates the field of OOSD than promote a
remarkable advance.
Hence the task at hand is: How may we not only build software able to mimic natural
language’s potentialities such as to express opinion but also open it towards an immanent
conception in agree with self-organization and complex system’s theories?
Fortunately constructs such as concerns, aspects, join points, prototypes (objects), split objects
and its pieces may become building blocks in the code implementation.
The superiority of delegation is straightforward because one could implement inheritance (classes
and subclasses like in the prototype based object oriented programming language Self in which I
implement my knowledge system). The opposite is not true, despite attempts of introducing
delegation in typed languages like Java [Knie00].
Naturally the entities in the domain model must map onto those constructs.
The foregoing considerations enclose the germ of an evolutive software development.
This promotes bottom-up programming. You build up a language as you write a program in it.
This approach can work only if you trust the lower levels of code and if the domain model
embodies a generative trajectory.

3
Bottom up programming and exploratory programming are the underpinnings to become feasible
the postmodernist coupling material/force and repetition/difference at code implementation level.
Indeed it is not possible to build an aesthetics of the sensitive without code developed
conforming to these paradigms. If software is art, the code is the material [Copl01].
This also affects a seamless implementation of a software architecture. The proposed software
architecture aligns with this thread of reasoning.

II. An aspectual collaborative aware architecture

If a knowledge system mimics the structuring of a natural language, the software architecture is
the privileged place of discourse and all creativity. This gives rise to a new software
consciousness, highlighting structural awareness which has been paid little attention until now as
fundamental to the structuration of software that grasps time in its flow.
The knowledge of participant’s roles, positions on issues, status and group processes internalized
in a collaborative-aware architecture is the crucible where, paraphrasing Peirce, one realizes
that the mind of a designer cannot be reduced to what goes on in his brain since the process of
designing also comprises the external manual activity of using the medium of a graphical editor
to produce the free plan. Likewise its geometric underpinnings must conform to the
postmodernist coupling material/force and repetition/difference like those inspired by the graphic
artist Escher’s tilings based on symmetry groups of the plane and the dotless plane. The similarity
symmetry groups and the conform symmetry groups are also fractals.
In this context software architecture is above all a model of cognition. It is like a sensing skin of a
body in the flow of a fluid, chaotic world. It has a dialogical nature! It is its responsibility to
create greater and greater meaningful wholes in regard to the domain model and the real world
and the implementation code.
I do believe that a nice metaphor to be introduced here is the “Quantum Dice”. Quantum
mechanics predicts a vast number of parallel universes by broadening the concept of “elsewhere”.
These universes are located elsewhere, not in ordinary space but in an abstract realm of all
possible states. Every conceivable way that a knowledge system could be corresponds to a
different universe [Tegm03].
Imagine an ideal die whose randomness is purely quantum. When you roll it, the die appears to
land on a certain value at random. Quantum mechanics however predicts that it lands on all
values at once. One way to reconcile these contradictory views is to conclude that the die lands
on different values in different universes. In one sixth of the universes, it lands on 1; in one sixth,
on 2 and so on. Trapped within one universe, we can perceive only a fraction of the full quantum
reality of the “multiverse”.
Indeed I am developing a software architecture that quite miraculously software becomes such a
multiverse.
Software architecture embodies the earliest design decisions reflected in the structuring of the
domain model. The more fine-tuned the better. Moreover object oriented software engineering
principles such as design patterns, frameworks, delegation , aspects tailored to facilitate evolution
tune in to ease transition from a software architecture to a software implementation. Although I
am not aware of any software architecture that unfolds seamlessly in all levels when applying the
current state of the art of these techniques. The need to cope with anticipated and unanticipated
uses of the system must be embedded in the domain model as well as reflected in all levels.

4
I was amazed when reading The Savage Mind the anthropologist Claude Lévi-Strauss that not
only did he compare the complexity of the savage mind to the level of the mind of the
philosophers in medieval times, but also he grasped the quintessence of it manifested in its
totemic operator (Figure 3).

Figure 3. The totemic operator from Lévi-Strauss.

Needless to say that the totemic operator grasps the foregoing considerations perfectly well. It
dawned on me that my ecodesign model entitled The Model of Primary, Secondary and Tertiary
Waves to design and plan sustainable cities [Lour98] works as a totemic manager! It orbits
around the sophisticated notion of category developed by the Indians. It introduces a system of
two axes, one for the diversities, other for the similitudes.
The analytic process allows one to change from the categories to the elements and from the
elements to the species. In the highest apex, it deals with the notion of species, here bear, eagle,
etc. The lowest apex deals with the animal while analyzable in its parts: head, neck, paws, etc.
Next step, in sets, all heads, all necks and so on. A last rearrangement entails the model of the
individual in its rebuilt integrity.

5
The set filters the unity through multiplicity, multiplicity through unity, diversity through identity
and identity through diversity. It is absolutely evolutive in his middle and apices.
After having read this, it dawned on me that my ecodesign model had this same nature.
Figure 4 shows the nine “bases” of my ecoarchitectural DNA that generates autopoietically the
whole Planet mimicking the DNA that generates the myriad of forms of life on the Planet.

Figure 4.

Likewise my ecodesign model behaves as an alive organism or eco-system with hyphen, a term
introduced by the ecologist Joergensen to designate the basic generative unit of an ecosystem. Or
a unity that is defined by the ecosystem and also defines it. Like the notion of species, it
differentiates as an ecotype, namely houses, buildings, greenhouses, factories, schools, etc.
Similar to the notion of gender, it differentiates into an urban eco- object such as neighborhood,
boroughs, ecocities, bio-regions and so on.
I hope the next three figures (5, 6, 7) are self-explanatory and portray clearly the generative
nature of a morphodynamic level based on separation of concerns, highlighting aspects
(crosscutting concerns).

6
Figure 5.

7
Figure 6.

8
9
Indeed the generator of my ecodesign model the urban eco-system with hyphen can be seen
from different viewpoints such as:
1) an homeostatic organism [ TN03]
2) as a self that may have a superorganismal self, the individual self and the
infraorganismal self like in social insects. It is easy to map this notion to the totemic
manager and realize that the processes act like genes, controlling the “self” of the ecocity
from below [QS02].
3) as a rhizome – or highly flexible arrangement orbiting around the domain model
occupying the central place in a knowledge system – in analogy with the horizontal stem
in a rhizome. You can cut a rhizome and it is rather generative again! [Dele88]

II.1. Groupware systems crystallize software as a “Multiverse”

Hence the separation of concerns level correspond to the elements of the architectonic object,
namely activities, structural systems, thermal comfort, energy-conscious systems, eco-sanitation
systems, building systems, etc.
The crosscutting of concerns (aspects) level correspond to the processes that characterize each
element.
The union of similar aspects characterize the parallelism of concerns called waves here. The
primary waves are dependent on space and time and are responsible for the interaction of the
architectonic object with the environment.
The secondary waves are dependent on time only and characterize the design processes.
The composition of concerns give rise to the threedimensionalization and the bringing together of
all elements as a unique unity called free plan.
It creates the microworld. The model generates the macroworld from this core, hence shaping a
homo-iconic system: it consists of structures built from a single type of construct. It corresponds
to the generator of natural language, the Greimasian semiotic square.
A set of architecture analysis take as input the architecture design and measure the impact of
predefined scenarios on it to identify the potential risks and the sensitive points of the
architecture. It predicts the quality of the system before the system has been built reducing
maintenance costs. A scenario is a brief discussion of some anticipated or desired use of the
system.

1.The candidate architecture: the architectonic object defines the urban ecosystem and is defined
by it in the ecodesign model.
2. Develop scenarios. Development of scenarios for the various stakeholders: the scenarios
illustrate the kinds of activities the system must support and the anticipated and unanticipated
changes that will be made to the system over time. I treat all scenarios as equal, adopting a
strategy developed in the dodecaphonic series where there is no longer a tonic and where all
twelve notes have equal rights. One cannot repeat any of them until all have been played in a
particular order. Hence here I start the series with the first process called substance of the
function that is being designed simultaneously by the designers team. Here the designers or
elements play the role of voices or instruments. This stage demands case-based reasoning as the
inspiring “primeval plant” for grasping the still very vague, yet necessary concept of meaningful
whole set forth by a work of art is crucial to architectural and urban design semantics, and going
beyond the narrow frame of the inspiring work of art.

10
Next one chooses which crystallographic group translates better into shape the visualized idea.
This calls for a strongly sharing graphical editor. Now each team designer should also be able to
see – in real time – other team designers’decisions and actions as reflected in the prompt
visualization of the outcome of their conception.
3. Reveal scenario interaction. Now one should decide which crystallographic groups will play
the role of the “father group”. Semantically close elements should interact and translate their
content into the chosen “ father group” and the subgroup relationship. This happens in a cascade
process. Here intervenes modulation from tonal music. No problem if the basis of the musical
piece is dodecaphonic.
4. Separation of scenarios. Now each designer can work by himself or in selected teams.
5. Composition of scenarios. Finally the design team work again together and the architectonic
object reflect the union of all designers’ intentions that must fit into each other as hand and glove
due to the fact that the infinite groups are embedded into each other reciprocally, once you
generate them conforming to the generators and relations of the” father group.”.
Maybe a set of heuristic rules will be necessary to “ play this architectonic chord”. Anyhow the
abstraction mechanisms to process this must be outlined as concurrency control requirements for
groupware systems.
Clearly each designer or even user embedded in an aspectual collaborative aware architecture
“universe” perceives the “multiverse”stratification of the software system. A far cry from current
practice in software!

III.Method: Synchronous collaborative-aware systems


Researchers in CSCW have identified many principles that should be incorporated in effective
synchronous collaborative-aware systems. Apparently such a system may be developed ad hoc or
through groupware toolkits. Once the latter do not meet the needs of structural awareness such as
the principle that requires each collaborator to be able to construct a model of each others’
experience: What You See is What I Think You See (WYSIWITYS).
Most of groupware toolkits exhibit workspace awareness: the up-to-the minute knowledge of
other participant’s interactions and locations within a workspace. In computer-based
collaborations, a workspace is some shared data that are accessed via software and the
collaborators may be physically co-located or distributed. The combined use of telepointers and
multi-user radar views supports practically all of the workspace awareness elements.
Concurrency, separation of interface and data and user roles are further development
requirements of synchronous groupware.
Especially the emergence of an implementation code that clearly aligns split objects (and pieces),
prototypes, class and aspects is a must to build software as a ” multiverse”.

Acknowledgments. Special thanks go to my supervisor Professor João Antonio Zuffo from


Laboratory of Integrated Systems University of São Paulo where I am a postdoctorate researcher
in Architecture and Urbanism. I am also a candidate for a PHD in computer science under Anker
Helms Joergensen’s supervision at Department of Digital Aesthetics and Communication
Institute of Technology University Copenhagen.
References

11
[AS02] Anderson, K. and Sherba, S.: Using structural computing to support information
integration. In Hypermedia: openness, structural awareness and adaptivity. LNCS v.
2266 February 2002, 8-16
[Bard98] Bardou, D.: Étude des langages à prototypes, du mécanisme de délégation, et de son
rapport à la notion de point de vue. Université Montpellier II –Sciences et Techniques du
Languedoc. Thése de doctorat.1998
[BD98] Bardou, D. and Dony, C.: Split objects: a disciplined use of delegation with objects.
[Bego98] Begole, J.M.A.: Flexible Collaboration Transparency: supporting worker independence
in replicated application -sharing systems. Virginia Polytechnic Institute and State
University. December 1998
[BSSS] Begole, J., Smith, R.B., Struble, C.ª and Shaffer, C.A: Resource sharing for replicated
synchronous groupware. IEEE/ACM Transactions on networking, vol. 9, no. 6,
December 2001
[Cock02] Cockburn, A.: Agile software development. Addison Wesley 2002
[Copl02] Coplien, J.: Beyond the Object. Design after Modernism. Roots Conference. Bergen
April 2002
[Dele80] Deleuze, G.: Mille plateaux. Paris. Minuit.
[Dele88] Deleuze, G.: Le pli Paris Minuit, 1988
[HD96] Harrison, S. and Dourish, P.: Re-Place-ing Space: The roles of Place and Space in
Collaborative Systems. Proceedings from ACM Conference o CSCW’96, 67-76
[Levi62] Lévi-Strauss, C.: La pensée sauvage. Librairie Plon. 1962
[Lieb89] Lieberman, H.: Using prototypical objects to implement shared behavior in object
oriented systems
[Lour] Lourenci, Albertina: http://www.lsi.usp.br/~lourenci
[Lour] Lourenci, A: homepage: http://www.lsi.usp.br/~lourenci
[Lour02] Lourenci,: OO software object as a living object. Recent object oriented Trends Roots
Conference. Bergen Norway, April 2002
[Lour98] Lourenci, A.: A proposal of a prototype based object oriented knowledge system to
design and plan sustainable cities. PHD Thesis Faculty of Architecture and Urbanism
University of São Paulo Brazil. 1998
[NB02] Noble, J. and Biddle, R. Patterns as signs. Proceedings from ECOOP’02. Malaga June
2002
[NBT02] Noble, J., Biddle, R. and Tempero, E.: Metaphor and metonymy in OO design patterns.
Technical Report. Computer Science. Victoria University of Wellington New Zealand
2001
[QS02] Queller, D.C. and Strassmann, J.E.: The many selves of social insects. Science vol. 296
April 12, 2002
[Sutt03] Sutton, S., Jr.: Concerns in a Requirements Model – A small case study. Workshop for
AOSD’03 to be held in Boston. March 17-22, 2003
[Taka88] Takahashi, K.: La resemblance de René Magritte: rester dans la limite du visible in
RenéMagritte. Le Musée National d’Art Moderne, Tokyo. 1988
[Tegm03] Tegmark, M.: Parallel Universes. Scientific American May 2003
[Teki03] Tekinerdogan, B.: ASAAM: Aspectual Software Architecture Analysis Method.
Workshop for AOSD’03 to be held in Boston. March 17-22, 2003

12
[TN03] Timmis, J. and Neal, M.: Artificial homeostasis: integrating biologically inspired
computing. Technical report UWA-DCS-03-043 University of Wales Aberystwyth
February 2003 http://www.cs.kent.ac.uk/people/staff/jt6/pubs.html
IEEE Computer May 1994. A special issue on Computer Supported cooperative work
The Savage Mind. Chicago University of Chicago Press 1966

13

You might also like