Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionBoth sides next revision | ||
alvis:model [2013/12/29 21:54] marcin | — (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Formal model definition ====== | ||
- | An Alvis **model** is defined as shown in Definition 1. | ||
- | |||
- | **Definition 1.** An Alvis **model** is a triple **A** = (//H//, //B//, φ), where: | ||
- | * //H// is a **hierarchical communication diagram**, | ||
- | * //B// is a syntactically correct **code layer**, | ||
- | * φ is a **system layer**. | ||
- | Moreover, each non-hierarchical agent //X// belonging to the diagram //H// must be defined in the code layer, and each agent defined in the code layer must belong to the diagram. | ||
- | |||
- | It should be underlined that **currently Alvis Compiler supports α^0 system layer only**. | ||
- | |||
- | Before generation of the Haskell model representation models are transformed into equivalent non-hierarchical form. The transformation applies to the communication diagram only. Thus, from the theoretical point of view, we can consider models defined as **A** = (// | ||
- | |||
- | |||
- | **Definition 2.** A **non-hierarchical communication diagram** is a triple //D// = (//A//, //C//, σ), where: | ||
- | * //A// = {X_1, | ||
- | * //C// ⊆ //P// × //P// is the **communication relation**, such that: | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | **FIXME** | ||
- | |||
- | **[[: |