|
|
NoaH Resources Online tools Misc |
NoahOverview
Noah is a framework in which software entities can interact without knowing their interlocutors. Noah service can actually manages the following types of component:
Interactions : a need
The behavior of an object is influenced by the interactions (the inter objects communications) Interaction propertiesThe rainbow project proposes to consider an interaction with a high abstraction level which defines an inter object communication. Interaction properties are :
Interactions have powerful local expression of behavioral dependencies between objects. Their management, based on the maintain of a local consistency, allows the global consistency of the interaction graph. Interactions : a specification language with its programming environment
The goal is to consider the interaction specification independently of
any existing language. So we defined the ISL
language (Interaction Specification Language). ISL allows to easily describe the interactions. With this language
the semantic of an interaction is described using rules. Each rule specifies, for a given message, the inter object
communications to execute when the message is sent. To do this, the language provides 3 reactive operators,
one for a synchronous sending message, one for an asynchronous sending
message, and another for a "future" sending message (asynchronous
sending message with answering assurance), and a conditional operator (to
simulate guards). To increase the expression of the interaction rules,
the ISL language allows to refine, in an incremental way, the interaction semantic by
providing an inheritance mechanism. So, an interaction
can inherit of the semantic of another interaction, i.e. the rules of the
inherited interaction.
Interactions : their history
The first work on interaction was an extension of a logical object oriented language (links in Othello).
This first model has been extended in FLO.
FLO allows to express reactivity and guards between objects, and to assiciate
behavior and information to an interaction. In these solutions, interactions
are in fact extensions of object oriented languages where interactions
are first class objects. So, an interaction can also be an object
participating to another interaction semantic. Thanks to the
implementation of an interaction semantic upon others interactions, it is possible
to obtain a global management of the interactions from a local definition of the latter.
This way, we can express the behavior of composite objects, the
addition of new behaviors or the introspection on the interactions themselves.
|