# Towards Agent Organizations Interoperability: A Model Driven Engineering Approach
## 4 Abstract Conceptual Structure of Organizational Models
### Normative Dimension
#### 4.4.1 The Concept of Norm  
In the organizational models analyzed, unlike the other dimensions, the normative specifications are not created as graph like structures. Instead, they assume the form of _textual normative expressions_. This general pattern is expressed in Table 7.  
\begin{table}
\begin{tabular}{p{34.1 pt} p{284.5 pt}} \hline \hline
**Class** & **Description** \\ \hline DSpec & Represents the concept of _dialogical specification_, i.e., an organizational specification restricted to the dialogical dimension. \\ SceneGraph & Part of a dialogical specification that represents the definition of a _hypergraph of scenes_. \\ SceneGraph is characterized by one or more _scene definitions_ (referenced by \\ SceneGraph::sceneDef), and several _scene relationships_ (referenced by SceneGraph::sceneRel). Among the scenes, there are one _initial scene_ (referenced by SceneGraph::initial) and one _final scene_ (referenced by SceneGraph:: final). Abstracts the concepts of _performance structure_ in ISLANDER and _interaction structure_ in OPERA. \\ SceneDef & Part of a hypergraph of scenes that represents the definition of a _scene_. Each scene definition is characterized by the declaration of a _dialogue script_, via reference SceneDef::dialogDef. Abstracts the concepts of _scene definition_ in ISLANDER and in OPERA. \\ SceneRel & Part of a hypergraph scene that represents a directed relationship from one or more source scenes (referenced by SceneRel::source), to one or more target scenes (referenced by \\ SceneRel::target). Abstracts the concepts of _scene transitions_ in OPERA and in ISLANDER. \\ DialogDef & Part of of a dialogical specification that represents the definition of a _dialogue script_. Abstracts the concepts of _scene protocol_ in ISLANDER, and _interaction pattern_ in OPERA. \\ \hline \hline \end{tabular}
\end{table}
Table 5: Dialogical specification pattern: Classes description.  
\begin{table}
\begin{tabular}{l l} \hline \hline
**Class** & **Auxiliary Definitions** \\ \hline SceneGraph & OCL queries that return immediate predecessors and successors of a scene definition \\  & in the context of a hypergraph of scenes. \\  & **context** & SceneGraph \\  & **def:** & getSource@sceneDef (sceneDef : SceneDef): Set(SceneDef) \\  & = getSceneRelHavingTarget(sceneDef) -> collect(sr | sr.source); \\  & **def:** & getTarget@sceneDef (sceneDef : SceneDef): Set(SceneDef) \\  & = getSceneRelHavingSource(sceneDef) -> collect(sr | sr.target); \\  & **def:** & getSceneRelHavingTarget(sceneDef : SceneDef): Set(SceneRel) \\  & = sceneRel ) -> select(sr | sr.target -> includes(sceneDef)); \\  & **def:** & getSceneRelHavingSource(sceneDef : SceneDef): Set(SceneRel) \\  & = sceneRel ) -> select(sr | sr.source -> includes(sceneDef)); \\  & **Contextual Constraints** \\ \hline (1) & The initial and final scenes are scenes defined in the context of the same SceneGraph. \\  & In OCL: \\  & **context** & SceneGraph \\  & **inv:** & sceneDef-> includes(initial) and \\  & **inv:** & sceneDef-> includes(final) \\ (2) & In a SceneGraph, there should be no relationships arriving at the initial scene or departing from the final scene. In OCL: \\  & **inv:** & getSceneRelHavingTarget(initial)-> isEmpty() and \\  & **inv:** & getSceneRelHavingSource(final)-> inEmpty() \\ (3) & In a SceneGraph, all scene definitions must directly or indirectly be reachable from the initial scene as well as lead to the final scene, via the scene relationships. In OCL: \\  & **context** & SceneGraph \\  & **inv:** & sceneDef-> forAll(sd | \\  & & getTargetClosure(Set{initial} -> includes(sd) and \\  & **getSourceClosure(Set{final} -> includes(sd))** \\