My favorites | Sign in
Project Home Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<p>
All scopes in IAML are instances of {@model Scope}, and a {@model Scope} may contain another {@model Scope} through a hierarchy of containment. A {@model Scope} may directly contain any number of {@model Scope}s. Every {@model Scope} will contain the pre-render lifecycle {@model Event}s {@event onAccess} (through {@model Accessible}) and {@event onInit}.
</p>

<p>
When a {@model Scope} is rendered, the lifecycle events for that {@model Scope} must be executed in the following order. If a failure occurs during this process, the current lifecycle execution process is cancelled and the <i>failure handler</i> for the current {@model Scope} is executed. If an {@model ECARule} is executed which must redirect the user to another {@model Frame}, the current lifecycle execution process is cancelled.
</p>

<ol>
<li>If this {@model Scope} is contained by a parent {@model Scope}, then the pre-render lifecycle events for that parent {@model Scope} must be triggered.
<li>If this {@model Scope} has not yet been <i>initialised</i> according to the storage semantics of that {@model Scope}, then the {@event onInit} {@model Event} is triggered.
<li>The {@event onAccess} {@model Event} is triggered.
<li>All entry {@model Gate}s contained within this {@model Scope} are sorted according to their {@model Gate#name}. The <i>access semantics</i> of each entry {@model Gate} are then executed.
<li>All exit {@model Gate}s contained within this {@model Scope} are sorted according to their {@model Gate#name}. The <i>access semantics</i> of each exit {@model Gate} are then executed.
<li>The {@model Scope} is then rendered.
</ol>

<h3>Failure Handler</h3>
<!--index failure handlers-->

<p>
An outgoing {@model ECARule} from a particular {@model Scope} with the {@model ECARule#name} "<code>fail</code>" is defined as a <i>failure handler</i> for the given scope. If an error occurs during the execution of the given {@model Scope} -- for example, an {@model Operation} fails -- then the failure handler for that {@model Scope} is executed according to the execution semantics of the {@model ECARule}.
</p>

<p>
If the current {@model Scope} does not define a <i>failure handler</i>, then the <i>failure handler</i> of the containing {@model Scope} is used as the failure handler. If an exception is not caught through the containment hierarchy of {@model Scope}s, then the exception is caught by the runtime environment and the web application will display a runtime error.
</p>

Change log

r3086 by soundasleep on Sep 15, 2011   Diff
adding some basic index commands to the
IAML additional documentation
Go to: 
Project members, sign in to write a code review

Older revisions

r3072 by soundasleep on Aug 8, 2011   Diff
fixing references to old metamodel
elements across project documentation
r3048 by soundasleep on Aug 4, 2011   Diff
adding paragraph breaks to modeldoc
additional documentation
r3047 by soundasleep on Aug 4, 2011   Diff
work on describing behaviour to iaml
modeldoc, as taken from the thesis
All revisions of this file

File info

Size: 2519 bytes, 27 lines
Powered by Google Project Hosting