<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tecfalabs.unige.ch/mediawiki-narrative/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Birgit+Endrass</id>
	<title>IDSwiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://tecfalabs.unige.ch/mediawiki-narrative/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Birgit+Endrass"/>
	<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Special:Contributions/Birgit_Endrass"/>
	<updated>2026-05-07T21:41:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=16002</id>
		<title>SOAP</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=16002"/>
		<updated>2011-12-23T14:17:56Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[IS Systems]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
===Availability===&lt;br /&gt;
The SOAP scenario was developed as a research prototype. It is not available for download. Nevertheless, you can get most of the technical components used for implementing the system for download, such as the &#039;&#039;Virtual Beergarden&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/Virtual_Beergarden] and &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker]. &lt;br /&gt;
&lt;br /&gt;
===Technical Description===&lt;br /&gt;
In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced. For the realization of the SOAP scenario, several components were needed such as language understanding that parses the user&#039;s text input into abstract dialog utterances, a dialog model that controls the narrative flow of the story and a graphical representation holding the virtual characters as well as the user avatar. The Figure below shows the main components of the system architecture and their responsibilities.&lt;br /&gt;
&lt;br /&gt;
[[File:SOAP.png|400px|System Architecture of SOAP.]] &lt;br /&gt;
&lt;br /&gt;
===Result Description ===&lt;br /&gt;
In the scenario, the characters are involved in a romantic conflict. The user, who is represented by an avatar can approach the different characters, listen to their conversations and interact with them. In that manner, the user can either approach a group of girls, a group of guys, or a waitress that is working in a virtual beer garden. In order to save resources, dialogs take place only if the user is near the characters, otherwise idle dialog behavior is presented. Through observation and interaction, the user will learn that there is a love story secretly going on. Dependent on the user&#039;s interactions, the characters will reveal their love, ask for help and follow the user&#039;s advice. Different scenario endings were modeled, while the user can make a match between two characters.&lt;br /&gt;
&lt;br /&gt;
===Authoring Description===&lt;br /&gt;
The tools used for the authoring process are&lt;br /&gt;
* &#039;&#039;SceneMaker&#039;&#039;: Dialog modeling and the flow of the scenario is done using the &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker] tool which relies on [[Sceneflows]] as computational model.&lt;br /&gt;
* &#039;&#039;SPIN&#039;&#039;: The user&#039;s typed text input is parsed into abstract dialog utterances using the semantic parser &#039;&#039;SPIN&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Main Publications===&lt;br /&gt;
* Birgit Endrass, Christoph Klimmt, Gregor Mehlmann, Elisabeth André, and Christian Roth, Exploration of User Reactions to Different Dialog-based Interaction Style, Proceedings of the 4th International Conference on Interactive Digital Storytelling (ICIDS 2011), 2011 &amp;lt;br&amp;gt;&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass, Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, Proceedings of the 13th International Conference on Multimodal Interaction (ICMI 2011), 2011.&lt;br /&gt;
&lt;br /&gt;
===Computational Model===&lt;br /&gt;
The tool was designed without any background of narrative theories but uses [[Sceneflows]] as the main mean for dialogue and interaction modeling.&lt;br /&gt;
&lt;br /&gt;
=== Type of Interaction ===&lt;br /&gt;
* Interaction devices: keyboard, mouse &lt;br /&gt;
* Input modalities: typed-text&lt;br /&gt;
* Output modalities: text-to-speech &amp;amp; nonverbal behavior of virtual characters&lt;br /&gt;
&lt;br /&gt;
===Contact===&lt;br /&gt;
For further information please contact Birgit Endrass [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/endrass/].&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=16001</id>
		<title>SOAP</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=16001"/>
		<updated>2011-12-23T14:17:20Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[IS Systems]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
===Availability===&lt;br /&gt;
The SOAP scenario was developed as a research prototype. It is not available for download. Nevertheless, you can get most of the technical components used for implementing the system for download, such as the &#039;&#039;Virtual Beergarden&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/Virtual_Beergarden] and &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker]. &lt;br /&gt;
&lt;br /&gt;
===Technical Description===&lt;br /&gt;
In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced. For the realization of the SOAP scenario, several components were needed such as language understanding that parses the user&#039;s text input into abstract dialog utterances, a dialog model that controls the narrative flow of the story and a graphical representation holding the virtual characters as well as the user avatar. The Figure below shows the main components of the system architecture and their responsibilities.&lt;br /&gt;
&lt;br /&gt;
[[File:SOAP.png|400px|System Architecture of SOAP.]] &lt;br /&gt;
&lt;br /&gt;
===Result Description ===&lt;br /&gt;
In the scenario, the characters are involved in a romantic conflict. The user, who is represented by an avatar can approach the different characters, listen to their conversations and interact with them. In that manner, the user can either approach a group of girls, a group of guys, or a waitress that is working in a virtual beer garden. In order to save resources, dialogs take place only if the user is near the characters, otherwise idle dialog behavior is presented. Through observation and interaction, the user will learn that there is a love story secretly going on. Dependent on the user&#039;s interactions, the characters will reveal their love, ask for help and follow the user&#039;s advice. Different scenario endings were modeled, while the user can make a match between two characters.&lt;br /&gt;
&lt;br /&gt;
===Authoring Description===&lt;br /&gt;
The tools used for the authoring process are&lt;br /&gt;
* &#039;&#039;SceneMaker&#039;&#039;: Dialog modeling and the flow of the scenario is done using the &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker] tool which relies on [[Sceneflows]] as computational model.&lt;br /&gt;
* &#039;&#039;SPIN&#039;&#039;: The user&#039;s typed text input is parsed into abstract dialog utterances using the semantic parser &#039;&#039;SPIN&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Main Publications===&lt;br /&gt;
* Birgit Endrass, Christoph Klimmt, Gregor Mehlmann, Elisabeth André, and Christian Roth, Exploration of User Reactions to Different Dialog-based Interaction Style, Proceedings of the 4th International Conference on Interactive Digital Storytelling (ICIDS 2011), 2011 &amp;lt;br&amp;gt;&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass, Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, Proceedings of the 13th International Conference on Multimodal Interaction (ICMI 2011), 2011.&lt;br /&gt;
&lt;br /&gt;
===Computational Model===&lt;br /&gt;
The tool was designed without any background of narrative theories but uses [[Sceneflows]] as the main mean for dialogue and interaction modeling.&lt;br /&gt;
&lt;br /&gt;
=== Type of Interaction ===&lt;br /&gt;
* Interaction devices: keyboard, mouse &lt;br /&gt;
* Input modalities: typed-text&lt;br /&gt;
* Output modalities: text-to-speech &amp;amp; nonverbal behavior of virtual characters&lt;br /&gt;
&lt;br /&gt;
===Contact===&lt;br /&gt;
For further information please contact the main author Birgit Endrass [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/endrass/].&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:SOAP.png&amp;diff=16000</id>
		<title>File:SOAP.png</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:SOAP.png&amp;diff=16000"/>
		<updated>2011-12-22T13:30:56Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15999</id>
		<title>SOAP</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15999"/>
		<updated>2011-12-22T13:30:07Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[IS Systems]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
===Availability===&lt;br /&gt;
Currently the system is not directly available for download, but parts of the system architecture, such as the &#039;&#039;Virtual Beergarden&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/Virtual_Beergarden] and &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker] are available for download. The developers are working on a version which is available for download. The tool in the recent finished version is available on request by first contacting the developers. Please contact the main author Birgit Endrass [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/endrass/] for more information.&lt;br /&gt;
&lt;br /&gt;
===Technical Description===&lt;br /&gt;
In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced. For the realization of the SOAP scenario, several components were needed such as language understanding that parses the user&#039;s text input into abstract dialog utterances, a dialog model that controls the narrative flow of the story and a graphical representation holding the virtual characters as well as the user avatar. The FIgure belo shows the main components of the system architecture and their responsibilities.&lt;br /&gt;
&lt;br /&gt;
[[File:SOAP.png|400px|System Architecture of SOAP.]] &lt;br /&gt;
&lt;br /&gt;
===Result Description ===&lt;br /&gt;
In the scenario, the characters are involved in a romantic conflict. The user, who is represented by an avatar can approach the different characters, listen to their conversations and interact with them. In that manner, the user can either approach a group of girls, a group of guys, or a waitress that is working in a virtual beer garden. In order to save resources, dialogs take place only if the user is near the characters, otherwise idle dialog behavior is presented. Through observation and interaction, the user will learn that there is a love story secretly going on. Dependent on the user&#039;s interactions, the characters will reveal their love, ask for help and follow the user&#039;s advice. Different scenario endings were modeled, while the user can make a match between two persons of his choice.&lt;br /&gt;
&lt;br /&gt;
===Authoring Description===&lt;br /&gt;
The tools used for the authoring process are&lt;br /&gt;
* &#039;&#039;SceneMaker&#039;&#039;: Dialog modeling and the flow of the scenario is done using the &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker] tool which relies on [[Sceneflows]] as computational model.&lt;br /&gt;
* &#039;&#039;SPIN&#039;&#039;: The user&#039;s typed text input is parsed into abstract dialog utterances using the semantic parser &#039;&#039;SPIN&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Main Publications===&lt;br /&gt;
* Birgit Endrass, Christoph Klimmt, Gregor Mehlmann, Elisabeth André, and Christian Roth, Exploration of User Reactions to Different Dialog-based Interaction Style, Proceedings of the 4th International Conference on Interactive Digital Storytelling (ICIDS 2011), 2011 &amp;lt;br&amp;gt;&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass, Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, Proceedings of the 13th International Conference on Multimodal Interaction (ICMI 2011), 2011.&lt;br /&gt;
&lt;br /&gt;
===Computational Model===&lt;br /&gt;
The tool was designed without any background of narrative theories but uses [[Sceneflows]] as the main mean for dialogue and interaction modeling.&lt;br /&gt;
&lt;br /&gt;
=== Type of Interaction ===&lt;br /&gt;
* Interaction devices: keyboard, mouse &lt;br /&gt;
* Input modalities: typed-text&lt;br /&gt;
* Output modalities: text-to-speech &amp;amp; nonverbal behavior of virtual characters&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15998</id>
		<title>SOAP</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15998"/>
		<updated>2011-12-22T13:29:27Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[IS Systems]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
===Availability===&lt;br /&gt;
Currently the system is not directly available for download, but parts of the system architecture, such as the &#039;&#039;Virtual Beergarden&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/Virtual_Beergarden] and &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker] are available for download. The developers are working on a version which is available for download. The tool in the recent finished version is available on request by first contacting the developers. Please contact the main author Birgit Endrass [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/endrass/] for more information.&lt;br /&gt;
&lt;br /&gt;
===Technical Description===&lt;br /&gt;
In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced. For the realization of the SOAP scenario, several components were needed such as language understanding that parses the user&#039;s text input into abstract dialog utterances, a dialog model that controls the narrative flow of the story and a graphical representation holding the virtual characters as well as the user avatar. The FIgure belo shows the main components of the system architecture and their responsibilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Result Description ===&lt;br /&gt;
In the scenario, the characters are involved in a romantic conflict. The user, who is represented by an avatar can approach the different characters, listen to their conversations and interact with them. In that manner, the user can either approach a group of girls, a group of guys, or a waitress that is working in a virtual beer garden. In order to save resources, dialogs take place only if the user is near the characters, otherwise idle dialog behavior is presented. Through observation and interaction, the user will learn that there is a love story secretly going on. Dependent on the user&#039;s interactions, the characters will reveal their love, ask for help and follow the user&#039;s advice. Different scenario endings were modeled, while the user can make a match between two persons of his choice.&lt;br /&gt;
&lt;br /&gt;
===Authoring Description===&lt;br /&gt;
The tools used for the authoring process are&lt;br /&gt;
* &#039;&#039;SceneMaker&#039;&#039;: Dialog modeling and the flow of the scenario is done using the &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker] tool which relies on [[Sceneflows]] as computational model.&lt;br /&gt;
* &#039;&#039;SPIN&#039;&#039;: The user&#039;s typed text input is parsed into abstract dialog utterances using the semantic parser &#039;&#039;SPIN&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Main Publications===&lt;br /&gt;
* Birgit Endrass, Christoph Klimmt, Gregor Mehlmann, Elisabeth André, and Christian Roth, Exploration of User Reactions to Different Dialog-based Interaction Style, Proceedings of the 4th International Conference on Interactive Digital Storytelling (ICIDS 2011), 2011 &amp;lt;br&amp;gt;&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass, Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, Proceedings of the 13th International Conference on Multimodal Interaction (ICMI 2011), 2011.&lt;br /&gt;
&lt;br /&gt;
===Computational Model===&lt;br /&gt;
The tool was designed without any background of narrative theories but uses [[Sceneflows]] as the main mean for dialogue and interaction modeling.&lt;br /&gt;
&lt;br /&gt;
=== Type of Interaction ===&lt;br /&gt;
* Interaction devices: keyboard, mouse &lt;br /&gt;
* Input modalities: typed-text&lt;br /&gt;
* Output modalities: text-to-speech &amp;amp; nonverbal behavior of virtual characters&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15997</id>
		<title>SOAP</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15997"/>
		<updated>2011-12-22T13:26:58Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[IS Systems]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
===Availability===&lt;br /&gt;
Currently the system is not directly available for download, but parts of the system architecture, such as the &#039;&#039;Virtual Beergarden&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/Virtual_Beergarden] and &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker] are available for download. The developers are working on a version which is available for download. The tool in the recent finished version is available on request by first contacting the developers. Please contact the main author Birgit Endrass [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/endrass/] for more information.&lt;br /&gt;
&lt;br /&gt;
===Technical Description===&lt;br /&gt;
In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced. For the realization of the SOAP scenario, several components were needed such as language understanding that parses the user&#039;s text input into abstract dialog utterances, a dialog model that controls the narrative flow of the story and a graphical representation holding the virtual characters as well as the user avatar.&lt;br /&gt;
&lt;br /&gt;
===Result Description ===&lt;br /&gt;
In the scenario, the characters are involved in a romantic conflict. The user, who is represented by an avatar can approach the different characters, listen to their conversations and interact with them. In that manner, the user can either approach a group of girls, a group of guys, or a waitress that is working in a virtual beer garden. In order to save resources, dialogs take place only if the user is near the characters, otherwise idle dialog behavior is presented. Through observation and interaction, the user will learn that there is a love story secretly going on. Dependent on the user&#039;s interactions, the characters will reveal their love, ask for help and follow the user&#039;s advice. Different scenario endings were modeled, while the user can make a match between two persons of his choice.&lt;br /&gt;
&lt;br /&gt;
===Authoring Description===&lt;br /&gt;
The tools used for the authoring process are&lt;br /&gt;
* &#039;&#039;SceneMaker&#039;&#039;: Dialog modeling and the flow of the scenario is done using the &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker] tool which relies on [[Sceneflows]] as computational model.&lt;br /&gt;
* &#039;&#039;SPIN&#039;&#039;: The user&#039;s typed text input is parsed into abstract dialog utterances using the semantic parser &#039;&#039;SPIN&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Main Publications===&lt;br /&gt;
* Birgit Endrass, Christoph Klimmt, Gregor Mehlmann, Elisabeth André, and Christian Roth, Exploration of User Reactions to Different Dialog-based Interaction Style, Proceedings of the 4th International Conference on Interactive Digital Storytelling (ICIDS 2011), 2011 &amp;lt;br&amp;gt;&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass, Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, Proceedings of the 13th International Conference on Multimodal Interaction (ICMI 2011), 2011.&lt;br /&gt;
&lt;br /&gt;
===Computational Model===&lt;br /&gt;
The tool was designed without any background of narrative theories but uses [[Sceneflows]] as the main mean for dialogue and interaction modeling.&lt;br /&gt;
&lt;br /&gt;
=== Type of Interaction ===&lt;br /&gt;
* Interaction devices: keyboard, mouse &lt;br /&gt;
* Input modalities: typed-text&lt;br /&gt;
* Output modalities: text-to-speech &amp;amp; nonverbal behavior of virtual characters&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15996</id>
		<title>SOAP</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15996"/>
		<updated>2011-12-22T13:17:52Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[IS Systems]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
===Availability===&lt;br /&gt;
Currently the system is not directly available for download, but parts of the system architecture, such as the &#039;&#039;Virtual Beergarden&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/Virtual_Beergarden] and &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker] are available for download. The developers are working on a version which is available for download. The tool in the recent finished version is available on request by first contacting the developers. Please contact the main author Birgit Endrass [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/endrass/] for more information.&lt;br /&gt;
&lt;br /&gt;
===Technical Description===&lt;br /&gt;
In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced. For the realization of the SOAP scenario, several components were needed such as language understanding that parses the user&#039;s text input into abstract dialog utterances, a dialog model that controls the narrative flow of the story and a graphical representation holding the virtual characters as well as the user avatar.&lt;br /&gt;
&lt;br /&gt;
===Result Description ===&lt;br /&gt;
In the scenario, the characters are involved in a romantic conflict. The user, who is represented by an avatar can approach the different characters, listen to their conversations and interact with them. In that manner, the user can either approach a group of girls, a group of guys, or a waitress that is working in a virtual beer garden. In order to save resources, dialogs take place only if the user is near the characters, otherwise idle dialog behavior is presented. Through observation and interaction, the user will learn that there is a love story secretly going on. Dependent on the user&#039;s interactions, the characters will reveal their love, ask for help and follow the user&#039;s advice. Different scenario endings were modeled, while the user can make a match between two persons of his choice.&lt;br /&gt;
&lt;br /&gt;
===Authoring Description===&lt;br /&gt;
The tools used for the authoring process are&lt;br /&gt;
* &#039;&#039;SceneMaker&#039;&#039;: Dialog modeling and the flow of the scenario is done using the &#039;&#039;SceneMaker&#039;&#039; [http://hcm-lab.de/projects/iris/index.php/SceneMaker] tool.&lt;br /&gt;
* &#039;&#039;SPIN&#039;&#039;: The user&#039;s typed text input is parsed into abstract dialog utterances using the semantic parser &#039;&#039;SPIN&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Main Publications===&lt;br /&gt;
* Birgit Endrass, Christoph Klimmt, Gregor Mehlmann, Elisabeth André, and Christian Roth, Exploration of User Reactions to Different Dialog-based Interaction Style, Proceedings of the 4th International Conference on Interactive Digital Storytelling (ICIDS 2011), 2011 &amp;lt;br&amp;gt;&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass, Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, Proceedings of the 13th International Conference on Multimodal Interaction (ICMI 2011), 2011.&lt;br /&gt;
&lt;br /&gt;
===Computational Model===&lt;br /&gt;
The tool was designed without any background of narrative theories but uses [[Sceneflows]] as the main mean for dialogue and interaction modeling.&lt;br /&gt;
&lt;br /&gt;
=== Type of Interaction ===&lt;br /&gt;
* Interaction devices: keyboard, mouse &lt;br /&gt;
* Input modalities: typed-text&lt;br /&gt;
* Output modalities: text-to-speech &amp;amp; nonverbal behavior of virtual characters&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15995</id>
		<title>SOAP</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15995"/>
		<updated>2011-12-22T13:13:30Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[IS Systems]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
===Availability===&lt;br /&gt;
Currently the system is not directly available for download, but parts of the system architecture , such as the &#039;&#039;Virtual Beergarden&#039;&#039;[http://hcm-lab.de/projects/iris/index.php/Virtual_Beergarden] and &#039;&#039;SceneMaker&#039;&#039;[http://hcm-lab.de/projects/iris/index.php/SceneMaker] are available for download. The developers are working on a version which is available for download. The tool in the recent finished version is available on request by first contacting the developers. Please contact the main author Birgit Endrass [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/endrass/] for more information.&lt;br /&gt;
&lt;br /&gt;
===Technical Description===&lt;br /&gt;
In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced. For the realization of the SOAP scenario, several components were needed such as language understanding that parses the user&#039;s text input into abstract dialog utterances, a dialog model that controls the narrative flow of the story and a graphical representation holding the virtual characters as well as the user avatar.&lt;br /&gt;
&lt;br /&gt;
===Result Description (end user perspective)===&lt;br /&gt;
In the scenario, the characters are involved in a romantic conflict. The user, who is represented by an avatar can approach the different characters, listen to their conversations and interact with them. In that manner, the user can either approach a group of girls, a group of guys, or a waitress that is working in a Virtual Beergarden. In order to save resources, dialogs take place only if the user is near the characters, otherwise idle dialog behavior is presented. Through observation and interaction, the user will learn that there is a love story secretly going on. Dependent on the user&#039;s interactions, the characters will reveal their love, ask for help and follow the user&#039;s advice. Different scenario endings were modeled, while the user can make a match between two persons of his choice.&lt;br /&gt;
&lt;br /&gt;
Utterances of all parties in the conversation can influence parameter states in the game, two of which are the most important: The ‘Killer Phrase Level’ as kind of a stress level of the whole debate, and an ‘Agreement Level’. In the best case, the player can influence the stress level in a negative way so that the chances for constructive arguments are higher. Certain arguments increase the ‘Agreement Level’, and the game can end successfully for the moderator. In the worst case, the increasing ‘Killer Phrase Level’ reaches a threshold value that makes the discussion end with an escalation.&lt;br /&gt;
&lt;br /&gt;
===Authoring Description===&lt;br /&gt;
Authoring of the conversations is supported by a graphical interface, and can also be accomplished by directly writing AIML code (an XML-dialect, see www.alicebot.org). Single utterances are defined on 2 levels: an abstract dialogue act, such as &amp;quot;PARKING COMPLAINT&amp;quot;, and a concrete wording of the utterance, such as &amp;quot;You should try coming home in the afternoons, you&#039;d be hard pressed to find a parking space.&amp;quot; Possible abstract dialogue acts of one character (bot) are then arranged to form either sequences or reaction possibilities to utterances coming from either another bot or the user. In order to accomplish sequences of turn-taking between 2 bots, the output of one utterance of Bot A has to be input as a pattern for another utterance of Bot B.&lt;br /&gt;
&lt;br /&gt;
Dialogue sequences / utterances are groups within dialogue graphs, which are associated to an actor in a scene. Several scenes can be combined as a high-level plot graph, defining the overall structure of the conversation.&lt;br /&gt;
&lt;br /&gt;
===Strong Points===&lt;br /&gt;
Scenejo enables the definition of multi-partner conversations with high-frequency interaction possibilities for users. A strong point is its accessibility for authors stemming from non-programming areas, who can quickly experiment with creating small conversations that can be directly experienced, without knowledge in programming.  Therefore, it is well suited for people making their first steps in experiencing typical authoring issues in Interactive Storytelling.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
Scenejo is currently limited to the design of verbal interaction with &amp;quot;talking heads&amp;quot; by typing text-chat. As it is based on the ALICE chatbot philosophy, combined with a low-level dialogue manager, recognition of user utterances is limited to author-defined patterns, the design of which is challenging.&lt;br /&gt;
&lt;br /&gt;
===Main Publications===&lt;br /&gt;
* Birgit Endrass, Christoph Klimmt, Gregor Mehlmann, Elisabeth André, and Christian Roth, Exploration of User Reactions to Different Dialog-based Interaction Style, Proceedings of the 4th International Conference on Interactive Digital Storytelling (ICIDS 2011), 2011 &amp;lt;br&amp;gt;&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass, Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, Proceedings of the 13th International Conference on Multimodal Interaction (ICMI 2011), 2011.&lt;br /&gt;
&lt;br /&gt;
===Supporting Narrative Theories===&lt;br /&gt;
The tool was designed without any background of narrative theories.&lt;br /&gt;
&lt;br /&gt;
===Computational Model===&lt;br /&gt;
* [[Virtual Beergarden]]: The graphical representation is done in the Virtual Beergarden application which holds the characters and the virtual scenario. &amp;lt;br&amp;gt; &lt;br /&gt;
* [[SceneMaker]]: Dialog modeling and the flow of the scenario is done using the SceneMaker tool.  &amp;lt;br&amp;gt;&lt;br /&gt;
* [[SPIN]]: The user&#039;s typed text input is parsed into abstract dialog utterances using the semantic parser SPIN. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Type of Interaction ===&lt;br /&gt;
* Interaction devices: keyboard, mouse &lt;br /&gt;
* Input modalities: typed-text&lt;br /&gt;
* Output modalities: text-to-speech &amp;amp; nonverbal behavior of virtual characters&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15994</id>
		<title>SOAP</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15994"/>
		<updated>2011-12-22T13:12:34Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[IS Systems]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
===Availability===&lt;br /&gt;
Currently the system is not directly available for download, but parts of the system architecture , such as the [[Virtual Beergarden]] and [SceneMaker] are available for download. The developers are working on a version which is available for download. The tool in the recent finished version is available on request by first contacting the developers. Please contact the main author Birgit Endrass [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/endrass/] for more information.&lt;br /&gt;
&lt;br /&gt;
===Technical Description===&lt;br /&gt;
In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced. For the realization of the SOAP scenario, several components were needed such as language understanding that parses the user&#039;s text input into abstract dialog utterances, a dialog model that controls the narrative flow of the story and a graphical representation holding the virtual characters as well as the user avatar.&lt;br /&gt;
&lt;br /&gt;
===Result Description (end user perspective)===&lt;br /&gt;
In the scenario, the characters are involved in a romantic conflict. The user, who is represented by an avatar can approach the different characters, listen to their conversations and interact with them. In that manner, the user can either approach a group of girls, a group of guys, or a waitress that is working in a Virtual Beergarden. In order to save resources, dialogs take place only if the user is near the characters, otherwise idle dialog behavior is presented. Through observation and interaction, the user will learn that there is a love story secretly going on. Dependent on the user&#039;s interactions, the characters will reveal their love, ask for help and follow the user&#039;s advice. Different scenario endings were modeled, while the user can make a match between two persons of his choice.&lt;br /&gt;
&lt;br /&gt;
Utterances of all parties in the conversation can influence parameter states in the game, two of which are the most important: The ‘Killer Phrase Level’ as kind of a stress level of the whole debate, and an ‘Agreement Level’. In the best case, the player can influence the stress level in a negative way so that the chances for constructive arguments are higher. Certain arguments increase the ‘Agreement Level’, and the game can end successfully for the moderator. In the worst case, the increasing ‘Killer Phrase Level’ reaches a threshold value that makes the discussion end with an escalation.&lt;br /&gt;
&lt;br /&gt;
===Authoring Description===&lt;br /&gt;
Authoring of the conversations is supported by a graphical interface, and can also be accomplished by directly writing AIML code (an XML-dialect, see www.alicebot.org). Single utterances are defined on 2 levels: an abstract dialogue act, such as &amp;quot;PARKING COMPLAINT&amp;quot;, and a concrete wording of the utterance, such as &amp;quot;You should try coming home in the afternoons, you&#039;d be hard pressed to find a parking space.&amp;quot; Possible abstract dialogue acts of one character (bot) are then arranged to form either sequences or reaction possibilities to utterances coming from either another bot or the user. In order to accomplish sequences of turn-taking between 2 bots, the output of one utterance of Bot A has to be input as a pattern for another utterance of Bot B.&lt;br /&gt;
&lt;br /&gt;
Dialogue sequences / utterances are groups within dialogue graphs, which are associated to an actor in a scene. Several scenes can be combined as a high-level plot graph, defining the overall structure of the conversation.&lt;br /&gt;
&lt;br /&gt;
===Strong Points===&lt;br /&gt;
Scenejo enables the definition of multi-partner conversations with high-frequency interaction possibilities for users. A strong point is its accessibility for authors stemming from non-programming areas, who can quickly experiment with creating small conversations that can be directly experienced, without knowledge in programming.  Therefore, it is well suited for people making their first steps in experiencing typical authoring issues in Interactive Storytelling.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
Scenejo is currently limited to the design of verbal interaction with &amp;quot;talking heads&amp;quot; by typing text-chat. As it is based on the ALICE chatbot philosophy, combined with a low-level dialogue manager, recognition of user utterances is limited to author-defined patterns, the design of which is challenging.&lt;br /&gt;
&lt;br /&gt;
===Main Publications===&lt;br /&gt;
* Birgit Endrass, Christoph Klimmt, Gregor Mehlmann, Elisabeth André, and Christian Roth, Exploration of User Reactions to Different Dialog-based Interaction Style, Proceedings of the 4th International Conference on Interactive Digital Storytelling (ICIDS 2011), 2011 &amp;lt;br&amp;gt;&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass, Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, Proceedings of the 13th International Conference on Multimodal Interaction (ICMI 2011), 2011.&lt;br /&gt;
&lt;br /&gt;
===Supporting Narrative Theories===&lt;br /&gt;
The tool was designed without any background of narrative theories.&lt;br /&gt;
&lt;br /&gt;
===Computational Model===&lt;br /&gt;
* [[Virtual Beergarden]]: The graphical representation is done in the Virtual Beergarden application which holds the characters and the virtual scenario. &amp;lt;br&amp;gt; &lt;br /&gt;
* [[SceneMaker]]: Dialog modeling and the flow of the scenario is done using the SceneMaker tool.  &amp;lt;br&amp;gt;&lt;br /&gt;
* [[SPIN]]: The user&#039;s typed text input is parsed into abstract dialog utterances using the semantic parser SPIN. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Type of Interaction ===&lt;br /&gt;
* Interaction devices: keyboard, mouse &lt;br /&gt;
* Input modalities: typed-text&lt;br /&gt;
* Output modalities: text-to-speech &amp;amp; nonverbal behavior of virtual characters&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15993</id>
		<title>SOAP</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15993"/>
		<updated>2011-12-22T13:09:32Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[IS Systems]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
===Availability===&lt;br /&gt;
http://www.scenejo.org.&lt;br /&gt;
Currently the system is not directly downloadable, but the developers are working on a downloadable version. The tool in the recent finished version (of 2007, running the KillerPhraseGame) is available on request by first contacting the developers.&lt;br /&gt;
&lt;br /&gt;
===Technical Description===&lt;br /&gt;
In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced. For the realization of the SOAP scenario, several components were needed such as language understanding that parses the user&#039;s text input into abstract dialog utterances, a dialog model that controls the narrative flow of the story and a graphical representation holding the virtual characters as well as the user avatar.&lt;br /&gt;
&lt;br /&gt;
===Result Description (end user perspective)===&lt;br /&gt;
In the scenario, the characters are involved in a romantic conflict. The user, who is represented by an avatar can approach the different characters, listen to their conversations and interact with them. In that manner, the user can either approach a group of girls, a group of guys, or a waitress that is working in a Virtual Beergarden. In order to save resources, dialogs take place only if the user is near the characters, otherwise idle dialog behavior is presented. Through observation and interaction, the user will learn that there is a love story secretly going on. Dependent on the user&#039;s interactions, the characters will reveal their love, ask for help and follow the user&#039;s advice. Different scenario endings were modeled, while the user can make a match between two persons of his choice.&lt;br /&gt;
&lt;br /&gt;
Utterances of all parties in the conversation can influence parameter states in the game, two of which are the most important: The ‘Killer Phrase Level’ as kind of a stress level of the whole debate, and an ‘Agreement Level’. In the best case, the player can influence the stress level in a negative way so that the chances for constructive arguments are higher. Certain arguments increase the ‘Agreement Level’, and the game can end successfully for the moderator. In the worst case, the increasing ‘Killer Phrase Level’ reaches a threshold value that makes the discussion end with an escalation.&lt;br /&gt;
&lt;br /&gt;
===Authoring Description===&lt;br /&gt;
Authoring of the conversations is supported by a graphical interface, and can also be accomplished by directly writing AIML code (an XML-dialect, see www.alicebot.org). Single utterances are defined on 2 levels: an abstract dialogue act, such as &amp;quot;PARKING COMPLAINT&amp;quot;, and a concrete wording of the utterance, such as &amp;quot;You should try coming home in the afternoons, you&#039;d be hard pressed to find a parking space.&amp;quot; Possible abstract dialogue acts of one character (bot) are then arranged to form either sequences or reaction possibilities to utterances coming from either another bot or the user. In order to accomplish sequences of turn-taking between 2 bots, the output of one utterance of Bot A has to be input as a pattern for another utterance of Bot B.&lt;br /&gt;
&lt;br /&gt;
Dialogue sequences / utterances are groups within dialogue graphs, which are associated to an actor in a scene. Several scenes can be combined as a high-level plot graph, defining the overall structure of the conversation.&lt;br /&gt;
&lt;br /&gt;
===Strong Points===&lt;br /&gt;
Scenejo enables the definition of multi-partner conversations with high-frequency interaction possibilities for users. A strong point is its accessibility for authors stemming from non-programming areas, who can quickly experiment with creating small conversations that can be directly experienced, without knowledge in programming.  Therefore, it is well suited for people making their first steps in experiencing typical authoring issues in Interactive Storytelling.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
Scenejo is currently limited to the design of verbal interaction with &amp;quot;talking heads&amp;quot; by typing text-chat. As it is based on the ALICE chatbot philosophy, combined with a low-level dialogue manager, recognition of user utterances is limited to author-defined patterns, the design of which is challenging.&lt;br /&gt;
&lt;br /&gt;
===Main Publications===&lt;br /&gt;
* Birgit Endrass, Christoph Klimmt, Gregor Mehlmann, Elisabeth André, and Christian Roth, Exploration of User Reactions to Different Dialog-based Interaction Style, Proceedings of the 4th International Conference on Interactive Digital Storytelling (ICIDS 2011), 2011 &amp;lt;br&amp;gt;&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass, Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, Proceedings of the 13th International Conference on Multimodal Interaction (ICMI 2011), 2011.&lt;br /&gt;
&lt;br /&gt;
===Supporting Narrative Theories===&lt;br /&gt;
The tool was designed without any background of narrative theories.&lt;br /&gt;
&lt;br /&gt;
===Computational Model===&lt;br /&gt;
* [[Virtual Beergarden]]: The graphical representation is done in the Virtual Beergarden application which holds the characters and the virtual scenario. &amp;lt;br&amp;gt; &lt;br /&gt;
* [[SceneMaker]]: Dialog modeling and the flow of the scenario is done using the SceneMaker tool.  &amp;lt;br&amp;gt;&lt;br /&gt;
* [[SPIN]]: The user&#039;s typed text input is parsed into abstract dialog utterances using the semantic parser SPIN. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Type of Interaction ===&lt;br /&gt;
* Interaction devices: keyboard, mouse &lt;br /&gt;
* Input modalities: typed-text&lt;br /&gt;
* Output modalities: text-to-speech &amp;amp; nonverbal behavior of virtual characters&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15992</id>
		<title>SOAP</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15992"/>
		<updated>2011-12-22T13:08:24Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[IS Systems]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
===Availability===&lt;br /&gt;
http://www.scenejo.org.&lt;br /&gt;
Currently the system is not directly downloadable, but the developers are working on a downloadable version. The tool in the recent finished version (of 2007, running the KillerPhraseGame) is available on request by first contacting the developers.&lt;br /&gt;
&lt;br /&gt;
===Technical Description===&lt;br /&gt;
In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced. For the realization of the SOAP scenario, several components were needed such as language understanding that parses the user&#039;s text input into abstract dialog utterances, a dialog model that controls the narrative flow of the story and a graphical representation holding the virtual characters as well as the user avatar.&lt;br /&gt;
&lt;br /&gt;
===Result Description (end user perspective)===&lt;br /&gt;
In the scenario, the characters are involved in a romantic conflict. The user, who is represented by an avatar can approach the different characters, listen to their conversations and interact with them. In that manner, the user can either approach a group of girls, a group of guys, or a waitress that is working in a Virtual Beergarden. In order to save resources, dialogs take place only if the user is near the characters, otherwise idle dialog behavior is presented. Through observation and interaction, the user will learn that there is a love story secretly going on. Dependent on the user&#039;s interactions, the characters will reveal their love, ask for help and follow the user&#039;s advice. Different scenario endings were modeled, while the user can make a match between two persons of his choice.&lt;br /&gt;
&lt;br /&gt;
Utterances of all parties in the conversation can influence parameter states in the game, two of which are the most important: The ‘Killer Phrase Level’ as kind of a stress level of the whole debate, and an ‘Agreement Level’. In the best case, the player can influence the stress level in a negative way so that the chances for constructive arguments are higher. Certain arguments increase the ‘Agreement Level’, and the game can end successfully for the moderator. In the worst case, the increasing ‘Killer Phrase Level’ reaches a threshold value that makes the discussion end with an escalation.&lt;br /&gt;
&lt;br /&gt;
===Authoring Description===&lt;br /&gt;
Authoring of the conversations is supported by a graphical interface, and can also be accomplished by directly writing AIML code (an XML-dialect, see www.alicebot.org). Single utterances are defined on 2 levels: an abstract dialogue act, such as &amp;quot;PARKING COMPLAINT&amp;quot;, and a concrete wording of the utterance, such as &amp;quot;You should try coming home in the afternoons, you&#039;d be hard pressed to find a parking space.&amp;quot; Possible abstract dialogue acts of one character (bot) are then arranged to form either sequences or reaction possibilities to utterances coming from either another bot or the user. In order to accomplish sequences of turn-taking between 2 bots, the output of one utterance of Bot A has to be input as a pattern for another utterance of Bot B.&lt;br /&gt;
&lt;br /&gt;
Dialogue sequences / utterances are groups within dialogue graphs, which are associated to an actor in a scene. Several scenes can be combined as a high-level plot graph, defining the overall structure of the conversation.&lt;br /&gt;
&lt;br /&gt;
===Strong Points===&lt;br /&gt;
Scenejo enables the definition of multi-partner conversations with high-frequency interaction possibilities for users. A strong point is its accessibility for authors stemming from non-programming areas, who can quickly experiment with creating small conversations that can be directly experienced, without knowledge in programming.  Therefore, it is well suited for people making their first steps in experiencing typical authoring issues in Interactive Storytelling.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
Scenejo is currently limited to the design of verbal interaction with &amp;quot;talking heads&amp;quot; by typing text-chat. As it is based on the ALICE chatbot philosophy, combined with a low-level dialogue manager, recognition of user utterances is limited to author-defined patterns, the design of which is challenging.&lt;br /&gt;
&lt;br /&gt;
===Main Publications===&lt;br /&gt;
* Birgit Endrass, Christoph Klimmt, Gregor Mehlmann, Elisabeth André, and Christian Roth, Exploration of User Reactions to Different Dialog-based Interaction Style, Proceedings of the 4th International Conference on Interactive Digital Storytelling (ICIDS 2011), 2011 &amp;lt;br&amp;gt;&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass, Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, Proceedings of the 13th International Conference on Multimodal Interaction (ICMI 2011), 2011.&lt;br /&gt;
&lt;br /&gt;
===Supporting Narrative Theories===&lt;br /&gt;
The tool was designed without any background of narrative theories.&lt;br /&gt;
&lt;br /&gt;
===Computational Model===&lt;br /&gt;
* [[Virtual Beergarden]]: The graphical representation is done in the Virtual Beergarden application which holds the characters and the virtual scenario. &amp;lt;br&amp;gt; &lt;br /&gt;
* [[SceneMaker]]: Dialog modeling and the flow of the scenario is done using the SceneMaker tool.  &amp;lt;br&amp;gt;&lt;br /&gt;
* [[SPIN]]: The user&#039;s typed text input is parsed into abstract dialog utterances using the semantic parser SPIN. &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15991</id>
		<title>SOAP</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=SOAP&amp;diff=15991"/>
		<updated>2011-12-22T13:06:13Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: Created page with &amp;quot;In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced.  &amp;lt;br&amp;gt;  &amp;#039;&amp;#039;&amp;#039;Pu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the soap-like story, the user can interact with a set of virtual characters. Through dialog interactions, the progress and outcome of the story can be influenced.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Publications:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
* Birgit Endrass, Christoph Klimmt, Gregor Mehlmann, Elisabeth André, and Christian Roth, Exploration of User Reactions to Different Dialog-based Interaction Style, Proceedings of the 4th International Conference on Interactive Digital Storytelling (ICIDS 2011), 2011 &amp;lt;br&amp;gt;&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass, Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, Proceedings of the 13th International Conference on Multimodal Interaction (ICMI 2011), 2011.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interaction with the system:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Interaction devices: keyboard, mouse &lt;br /&gt;
* Input modalities: typed-text&lt;br /&gt;
* Output modalities: text-to-speech &amp;amp; nonverbal behavior of virtual characters&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Application description:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the scenario, the characters are involved in a romantic conflict. The user, who is represented by an avatar can approach the different characters, listen to their conversations and interact with them. In that manner, the user can either approach a group of girls, a group of guys, or a waitress that is working in a Virtual Beergarden. In order to save resources, dialogs take place only if the user is near the characters, otherwise idle dialog behavior is presented. Through observation and interaction, the user will learn that there is a love story secretly going on. Dependent on the user&#039;s interactions, the characters will reveal their love, ask for help and follow the user&#039;s advice. Different scenario endings were modeled, while the user can make a match between two persons of his choice. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the realization of the SOAP scenario, several components were needed such as language understanding that parses the user&#039;s text input into abstract dialog utterances, a dialog model that controls the narrative flow of the story and a graphical representation holding the virtual characters as well as the user avatar.&lt;br /&gt;
&lt;br /&gt;
[[File:Soap.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tools used for the application:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* [[Virtual Beergarden]]: The graphical representation is done in the Virtual Beergarden application which holds the characters and the virtual scenario. &amp;lt;br&amp;gt; &lt;br /&gt;
* [[SceneMaker]]: Dialog modeling and the flow of the scenario is done using the SceneMaker tool.  &amp;lt;br&amp;gt;&lt;br /&gt;
* [[SPIN]]: The user&#039;s typed text input is parsed into abstract dialog utterances using the semantic parser SPIN. &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
[[Category:Literature Review Interaction and Dialogue]]&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=IS_Systems&amp;diff=15990</id>
		<title>IS Systems</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=IS_Systems&amp;diff=15990"/>
		<updated>2011-12-22T13:06:05Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Boite bleue --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding:3px; float:left; width:57%; border:1px solid #006699; background: #EAF5FB;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h4 style=&amp;quot;background:#D0E2EE; border-bottom:1px solid #006699;&amp;quot;&amp;gt;IS Systems&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have put together a comprehensive list of existing Interactive Storytelling systems. The goal is to display each system, side by side, according to how they work technically, what the user gets to see or do, what is especially good and what is still a problem. &lt;br /&gt;
&lt;br /&gt;
This section provides a colourful canvas of 20 tools that have emerged from the landscape of Interactive Storytelling. The tools vary immensely amongst themselves, from the audience they are intended for, to the type of story created or the roles to be assumed in the stories. &lt;br /&gt;
&lt;br /&gt;
Interactive Storytelling is a new genre that is (continually) defining itself through the systems it produces. Certain systems might follow an Aristotelian arc or a 5 act model, use Bremondian role distribution and action decomposition, or Proppian function sequencing, follow a planning algorithm or set conditions for good emergent narrative. Each system proposes a solution set to the group of questions and obstacles facing IS. &lt;br /&gt;
&lt;br /&gt;
For each system whenever possible we’ve provided a:&lt;br /&gt;
*Technical Description – mechanism that generates or unfolds the runtime story&lt;br /&gt;
*The end user perspective – what the end user sees and does&lt;br /&gt;
*Authoring Description – how are new stories created with the system&lt;br /&gt;
*Strong Points – what is particularly well accomplished&lt;br /&gt;
*Limitations – what aspect of the tool could be improved based on current field objectives&lt;br /&gt;
*Main Publications – links to articles covering the system or a link to the system itself &lt;br /&gt;
*Supporting Narrative Theories – did the system base its architecture on any specific theory?&lt;br /&gt;
*Computational Model – where applicable, the computational model driving the algorithm is provided&lt;br /&gt;
&lt;br /&gt;
The section on supporting narrative theories is intended to anchor a system’s technical description against a theoretical description of how a story can unfold. The triplet is completed when a computational model exists (and was used) to express the narrative formalism. By understanding the different systems, the reader should understand the challenges still facing the field of IS and be inspired by the potential stories yet to be told.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- Boite brune --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; width:40%; background: #FAF9EC; border:1px solid #996600; margin-left: 4px; padding: 3px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4 style=&amp;quot;background:#ffccaa; border-bottom:1px solid #996600;border-top:1px solid #996600;border-top:1px solid #996600;&amp;quot;&amp;gt;Systems&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[[ActAffAct]]&lt;br /&gt;
*[[Bovary]]&lt;br /&gt;
*[[Dramachina]]&lt;br /&gt;
*[[DeathKitchen]]&lt;br /&gt;
*[[Defacto]]&lt;br /&gt;
*[[Facade]]&lt;br /&gt;
*[[Fearnot]]&lt;br /&gt;
*[[Gadin]]&lt;br /&gt;
*[[I-Storytelling]]&lt;br /&gt;
*[[IDtension|IDtension]]&lt;br /&gt;
*[[ISRST_IS|ISRST]]&lt;br /&gt;
*[[Mimesis]]&lt;br /&gt;
*[[Moe]]&lt;br /&gt;
*[[MR-IS]]&lt;br /&gt;
*[[PaSSAGE]]&lt;br /&gt;
*[[Rencontre]]&lt;br /&gt;
*[[Scenejo]]&lt;br /&gt;
*[[SOAP]]&lt;br /&gt;
*[[Storytron]]&lt;br /&gt;
*[[Sugarcane Island with Alfred]]&lt;br /&gt;
*[[Teatrix]]&lt;br /&gt;
*[[Thespian]]&lt;br /&gt;
*[[U-Director]]&lt;br /&gt;
*[[Virtual Storyteller]]&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15989</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15989"/>
		<updated>2011-12-20T13:34:05Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
==== Modeling Multihreaded Dialogue ====&lt;br /&gt;
Sceneflows exploit the modeling principles of &#039;&#039;modularity&#039;&#039; and &#039;&#039;compositionality&#039;&#039; in the sense of a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;parallel decomposition&#039;&#039;. Multiple virtual characters and their behavior, as well as multiple control processes for event detection or interaction management, can be modeled as concurrent processes in parallel automata. For this purpose, sceneflows allow two syntactical instruments for the creation of concurrent processes. By defining multiple startnodes for a supernode (Fig. 4), each subautomaton which consists of all nodes reachable by a startnode, is executed by a separate process. By defining fork edges (Fig. 5(1)), an author can create multiple concurrent processes without the need for changing the level of the node hierarchy. &lt;br /&gt;
&lt;br /&gt;
[[File:Decomp.png|400px|Hierarchical and Parallel Decomposition.]] &lt;br /&gt;
&lt;br /&gt;
Following this modular approach, an author is able to separate the task of modeling the overall behavior of a virtual character into multiple tasks of modeling individual behavioral aspects, functions and modalities. Behavioral aspects&lt;br /&gt;
can be modified in isolation without knowing details of the other aspects. In addition, previously modeled behavioral patterns can easily be reused and adopted. Furthermore, pre-modeled automata that are controlling the communication&lt;br /&gt;
with external devices or interfaces can be added as plug-in modules that are executed in a parallel process. Individual behavioral functions and modalities that contribute to the behavior of a virtual character are usually not completely independent, but have to be synchronized with each other. For example, speech is usually highly synchronized with non-verbal behavioral modalities such as gestures and body postures. When modeling individual behavioral functions and modalities in separate parallel automata, the processes that concurrently execute these automata have to be synchronized by the author in order to coordinate all behavioral aspects. This communication is realized by a shared&lt;br /&gt;
memory model which allows an asynchronous non-blocking synchronization of concurrent processes.&lt;br /&gt;
&lt;br /&gt;
[[File:Fork.png|400px|Forking edges and Probability Edges.]] &lt;br /&gt;
&lt;br /&gt;
Thereby, sceneflows enfold two different syntactic features for the synchronization of concurrent processes. First, they allow the synchronization over common shared variables defined in some supernode. The interleaving semantics of&lt;br /&gt;
sceneflows prescribe a mutually exclusive access to those variables to avoid inconsistencies. Second, they enfold a state query condition (Fig. 6) which represents a more intuitive mechanism for process synchronization. This condition&lt;br /&gt;
allows to request weather a certain parallel automaton&#039;s state is currently executed by the sceneflow interpreter.&lt;br /&gt;
&lt;br /&gt;
[[File:Sync.png|400px|Process Synchronization in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
==== Consistent Resumption of Dialogue ====&lt;br /&gt;
The concept of an exhaustive runtime history facilitates modeling reopening strategies and recapitulation phases of dialogues by falling back on automatically gathered information on past states of an interaction. During the execution&lt;br /&gt;
of a sceneflow, the system automatically maintains a history memory to record the runtimes of nodes, the values of local variables, executed system commands and scenes that were played back. It additionally records the last executed&lt;br /&gt;
substates of a supernode at the time of its termination or interruption. The automatical maintainance of this history memory releases the author of the manual collection of such runtime data, thus e�ciently reducing the modeling effort&lt;br /&gt;
while increasing the clarity of the model and providing the author with information about previous interactions and states of execution. The scripting language of sceneflows provides a variety of built-in history expressions and conditions to request the information deposited in the history memory or to delete it. The history concept is syntactically represented in form of a special history node which is an implicit child node of each supernode. When re-executing a supernode, the supernode starts at the history node instead of its default startnodes. Thus, the history node serves as a starting point for the author to model reopening strategies or recapitulation phases. Fig. 7 shows a simple exemplary use of a supernode&#039;s history node and a history condition. At the first execution of the supernode Parent, the supernode starts at its startnode First (Fig. 7(1)). If the supernode Parent is interrupted or terminated at some time and reexecuted afterwards, it starts at the history node History. The history memory is requested (Fig. 7(2)) to find out if the supernode had been interrupted or terminated in the node First or the node Second. As the snaphot of the visualized execution shows, depending on the result, the either the node First (Fig. 7(3)) is executed or the node Second (Fig. 7(4)) is started over the history node.&lt;br /&gt;
&lt;br /&gt;
[[File:History.png|400px|The Runtime History in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Beside the use in many games and research projects Sceneflows are used in the following interactive storytelling applications:&lt;br /&gt;
* SOAP [http://hcm-lab.de/projects/iris/index.php/SOAP]&lt;br /&gt;
* Plain Terror [http://hcm-lab.de/projects/iris/index.php/Plain_Terror]&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass and Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, In &#039;&#039;Proceedings of the 13th International Conference on Multimodal Interaction&#039;&#039; (ICMI 2011).&lt;br /&gt;
* Patrick Gebhard, Gregor Mehlmann and Michael Kipp, Visual SceneMaker: A Tool for Authoring Interactive Virtual Characters, In &#039;&#039;Special Issue of the Journal on Multimodal User Interfaces: Interacting with ECAs&#039;&#039; (JMUI 2011).&lt;br /&gt;
* Gregor Mehlmann, Patrick Gebhard, Birgit Endrass and Elisabeth André, SceneMaker: Visual Authoring of Dialogue Processes, On &#039;&#039;7th Workshop on Knowledge and Reasoning in Practical Dialogue Systems&#039;&#039; (IJCAI 2011).&lt;br /&gt;
&lt;br /&gt;
=== Contact ===&lt;br /&gt;
For more information see also http://hcm-lab.de/projects/iris/index.php/SceneMaker or contact one of these persons:&lt;br /&gt;
* MSc. Gregor Mehlmann [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/mehlmann/] from the Human Centered Multimeda Lab at the Augsburg University.&lt;br /&gt;
* Dr. Patrick Gebhard [http://www.dfki.de/web/kontakt/mitarbeiter?uid=page00] from the German Reasearch Center for Artificial Intelligence.&lt;br /&gt;
* Prof. Dr. Michael Kipp [http://www.hs-augsburg.de/fakultaet/informatik/person/lehrender/professor/kipp_michael/index.html] from the University of Applied Sciences in Augsburg.&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15988</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15988"/>
		<updated>2011-12-20T13:33:46Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
==== Modeling Multihreaded Dialogue ====&lt;br /&gt;
Sceneflows exploit the modeling principles of &#039;&#039;modularity&#039;&#039; and &#039;&#039;compositionality&#039;&#039; in the sense of a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;parallel decomposition&#039;&#039;. Multiple virtual characters and their behavior, as well as multiple control processes for event detection or interaction management, can be modeled as concurrent processes in parallel automata. For this purpose, sceneflows allow two syntactical instruments for the creation of concurrent processes. By defining multiple startnodes for a supernode (Fig. 4), each subautomaton which consists of all nodes reachable by a startnode, is executed by a separate process. By defining fork edges (Fig. 5(1)), an author can create multiple concurrent processes without the need for changing the level of the node hierarchy. &lt;br /&gt;
&lt;br /&gt;
[[File:Decomp.png|400px|Hierarchical and Parallel Decomposition.]] &lt;br /&gt;
&lt;br /&gt;
Following this modular approach, an author is able to separate the task of modeling the overall behavior of a virtual character into multiple tasks of modeling individual behavioral aspects, functions and modalities. Behavioral aspects&lt;br /&gt;
can be modified in isolation without knowing details of the other aspects. In addition, previously modeled behavioral patterns can easily be reused and adopted. Furthermore, pre-modeled automata that are controlling the communication&lt;br /&gt;
with external devices or interfaces can be added as plug-in modules that are executed in a parallel process. Individual behavioral functions and modalities that contribute to the behavior of a virtual character are usually not completely independent, but have to be synchronized with each other. For example, speech is usually highly synchronized with non-verbal behavioral modalities such as gestures and body postures. When modeling individual behavioral functions and modalities in separate parallel automata, the processes that concurrently execute these automata have to be synchronized by the author in order to coordinate all behavioral aspects. This communication is realized by a shared&lt;br /&gt;
memory model which allows an asynchronous non-blocking synchronization of concurrent processes.&lt;br /&gt;
&lt;br /&gt;
[[File:Fork.png|400px|Forking edges and Probability Edges.]] &lt;br /&gt;
&lt;br /&gt;
Thereby, sceneflows enfold two different syntactic features for the synchronization of concurrent processes. First, they allow the synchronization over common shared variables defined in some supernode. The interleaving semantics of&lt;br /&gt;
sceneflows prescribe a mutually exclusive access to those variables to avoid inconsistencies. Second, they enfold a state query condition (Fig. 6) which represents a more intuitive mechanism for process synchronization. This condition&lt;br /&gt;
allows to request weather a certain parallel automaton&#039;s state is currently executed by the sceneflow interpreter.&lt;br /&gt;
&lt;br /&gt;
[[File:Sync.png|400px|Process Synchronization in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
==== Consistent Resumption of Dialogue ====&lt;br /&gt;
The concept of an exhaustive runtime history facilitates modeling reopening strategies and recapitulation phases of dialogues by falling back on automatically gathered information on past states of an interaction. During the execution&lt;br /&gt;
of a sceneflow, the system automatically maintains a history memory to record the runtimes of nodes, the values of local variables, executed system commands and scenes that were played back. It additionally records the last executed&lt;br /&gt;
substates of a supernode at the time of its termination or interruption. The automatical maintainance of this history memory releases the author of the manual collection of such runtime data, thus e�ciently reducing the modeling effort&lt;br /&gt;
while increasing the clarity of the model and providing the author with information about previous interactions and states of execution. The scripting language of sceneflows provides a variety of built-in history expressions and conditions to request the information deposited in the history memory or to delete it. The history concept is syntactically represented in form of a special history node which is an implicit child node of each supernode. When re-executing a supernode, the supernode starts at the history node instead of its default startnodes. Thus, the history node serves as a starting point for the author to model reopening strategies or recapitulation phases. Fig. 7 shows a simple exemplary use of a supernode&#039;s history node and a history condition. At the first execution of the supernode Parent, the supernode starts at its startnode First (Fig. 7(1)). If the supernode Parent is interrupted or terminated at some time and reexecuted afterwards, it starts at the history node History. The history memory is requested (Fig. 7(2)) to find out if the supernode had been interrupted or terminated in the node First or the node Second. As the snaphot of the visualized execution shows, depending on the result, the either the node First (Fig. 7(3)) is executed or the node Second (Fig. 7(4)) is started over the history node.&lt;br /&gt;
&lt;br /&gt;
[[File:History.png|400px|The Runtime History in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Beside the use in many games and research projects Sceneflows are used in the following interactive storytelling applications:&lt;br /&gt;
* SOAP (see [http://hcm-lab.de/projects/iris/index.php/SOAP])&lt;br /&gt;
* Plain Terror (see [http://hcm-lab.de/projects/iris/index.php/Plain_Terror])&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass and Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, In &#039;&#039;Proceedings of the 13th International Conference on Multimodal Interaction&#039;&#039; (ICMI 2011).&lt;br /&gt;
* Patrick Gebhard, Gregor Mehlmann and Michael Kipp, Visual SceneMaker: A Tool for Authoring Interactive Virtual Characters, In &#039;&#039;Special Issue of the Journal on Multimodal User Interfaces: Interacting with ECAs&#039;&#039; (JMUI 2011).&lt;br /&gt;
* Gregor Mehlmann, Patrick Gebhard, Birgit Endrass and Elisabeth André, SceneMaker: Visual Authoring of Dialogue Processes, On &#039;&#039;7th Workshop on Knowledge and Reasoning in Practical Dialogue Systems&#039;&#039; (IJCAI 2011).&lt;br /&gt;
&lt;br /&gt;
=== Contact ===&lt;br /&gt;
For more information see also http://hcm-lab.de/projects/iris/index.php/SceneMaker or contact one of these persons:&lt;br /&gt;
* MSc. Gregor Mehlmann [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/mehlmann/] from the Human Centered Multimeda Lab at the Augsburg University.&lt;br /&gt;
* Dr. Patrick Gebhard [http://www.dfki.de/web/kontakt/mitarbeiter?uid=page00] from the German Reasearch Center for Artificial Intelligence.&lt;br /&gt;
* Prof. Dr. Michael Kipp [http://www.hs-augsburg.de/fakultaet/informatik/person/lehrender/professor/kipp_michael/index.html] from the University of Applied Sciences in Augsburg.&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15987</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15987"/>
		<updated>2011-12-20T13:33:18Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
==== Modeling Multihreaded Dialogue ====&lt;br /&gt;
Sceneflows exploit the modeling principles of &#039;&#039;modularity&#039;&#039; and &#039;&#039;compositionality&#039;&#039; in the sense of a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;parallel decomposition&#039;&#039;. Multiple virtual characters and their behavior, as well as multiple control processes for event detection or interaction management, can be modeled as concurrent processes in parallel automata. For this purpose, sceneflows allow two syntactical instruments for the creation of concurrent processes. By defining multiple startnodes for a supernode (Fig. 4), each subautomaton which consists of all nodes reachable by a startnode, is executed by a separate process. By defining fork edges (Fig. 5(1)), an author can create multiple concurrent processes without the need for changing the level of the node hierarchy. &lt;br /&gt;
&lt;br /&gt;
[[File:Decomp.png|400px|Hierarchical and Parallel Decomposition.]] &lt;br /&gt;
&lt;br /&gt;
Following this modular approach, an author is able to separate the task of modeling the overall behavior of a virtual character into multiple tasks of modeling individual behavioral aspects, functions and modalities. Behavioral aspects&lt;br /&gt;
can be modified in isolation without knowing details of the other aspects. In addition, previously modeled behavioral patterns can easily be reused and adopted. Furthermore, pre-modeled automata that are controlling the communication&lt;br /&gt;
with external devices or interfaces can be added as plug-in modules that are executed in a parallel process. Individual behavioral functions and modalities that contribute to the behavior of a virtual character are usually not completely independent, but have to be synchronized with each other. For example, speech is usually highly synchronized with non-verbal behavioral modalities such as gestures and body postures. When modeling individual behavioral functions and modalities in separate parallel automata, the processes that concurrently execute these automata have to be synchronized by the author in order to coordinate all behavioral aspects. This communication is realized by a shared&lt;br /&gt;
memory model which allows an asynchronous non-blocking synchronization of concurrent processes.&lt;br /&gt;
&lt;br /&gt;
[[File:Fork.png|400px|Forking edges and Probability Edges.]] &lt;br /&gt;
&lt;br /&gt;
Thereby, sceneflows enfold two different syntactic features for the synchronization of concurrent processes. First, they allow the synchronization over common shared variables defined in some supernode. The interleaving semantics of&lt;br /&gt;
sceneflows prescribe a mutually exclusive access to those variables to avoid inconsistencies. Second, they enfold a state query condition (Fig. 6) which represents a more intuitive mechanism for process synchronization. This condition&lt;br /&gt;
allows to request weather a certain parallel automaton&#039;s state is currently executed by the sceneflow interpreter.&lt;br /&gt;
&lt;br /&gt;
[[File:Sync.png|400px|Process Synchronization in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
==== Consistent Resumption of Dialogue ====&lt;br /&gt;
The concept of an exhaustive runtime history facilitates modeling reopening strategies and recapitulation phases of dialogues by falling back on automatically gathered information on past states of an interaction. During the execution&lt;br /&gt;
of a sceneflow, the system automatically maintains a history memory to record the runtimes of nodes, the values of local variables, executed system commands and scenes that were played back. It additionally records the last executed&lt;br /&gt;
substates of a supernode at the time of its termination or interruption. The automatical maintainance of this history memory releases the author of the manual collection of such runtime data, thus e�ciently reducing the modeling effort&lt;br /&gt;
while increasing the clarity of the model and providing the author with information about previous interactions and states of execution. The scripting language of sceneflows provides a variety of built-in history expressions and conditions to request the information deposited in the history memory or to delete it. The history concept is syntactically represented in form of a special history node which is an implicit child node of each supernode. When re-executing a supernode, the supernode starts at the history node instead of its default startnodes. Thus, the history node serves as a starting point for the author to model reopening strategies or recapitulation phases. Fig. 7 shows a simple exemplary use of a supernode&#039;s history node and a history condition. At the first execution of the supernode Parent, the supernode starts at its startnode First (Fig. 7(1)). If the supernode Parent is interrupted or terminated at some time and reexecuted afterwards, it starts at the history node History. The history memory is requested (Fig. 7(2)) to find out if the supernode had been interrupted or terminated in the node First or the node Second. As the snaphot of the visualized execution shows, depending on the result, the either the node First (Fig. 7(3)) is executed or the node Second (Fig. 7(4)) is started over the history node.&lt;br /&gt;
&lt;br /&gt;
[[File:History.png|400px|The Runtime History in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Beside the use in many games and research projects Sceneflows are used in the following interactive storytelling applications:&lt;br /&gt;
* SOAP (see http://hcm-lab.de/projects/iris/index.php/SOAP)&lt;br /&gt;
* Plain Terror (see http://hcm-lab.de/projects/iris/index.php/Plain_Terror)&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass and Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, In &#039;&#039;Proceedings of the 13th International Conference on Multimodal Interaction&#039;&#039; (ICMI 2011).&lt;br /&gt;
* Patrick Gebhard, Gregor Mehlmann and Michael Kipp, Visual SceneMaker: A Tool for Authoring Interactive Virtual Characters, In &#039;&#039;Special Issue of the Journal on Multimodal User Interfaces: Interacting with ECAs&#039;&#039; (JMUI 2011).&lt;br /&gt;
* Gregor Mehlmann, Patrick Gebhard, Birgit Endrass and Elisabeth André, SceneMaker: Visual Authoring of Dialogue Processes, On &#039;&#039;7th Workshop on Knowledge and Reasoning in Practical Dialogue Systems&#039;&#039; (IJCAI 2011).&lt;br /&gt;
&lt;br /&gt;
=== Contact ===&lt;br /&gt;
For more information see also http://hcm-lab.de/projects/iris/index.php/SceneMaker or contact one of these persons:&lt;br /&gt;
* MSc. Gregor Mehlmann [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/mehlmann/] from the Human Centered Multimeda Lab at the Augsburg University.&lt;br /&gt;
* Dr. Patrick Gebhard [http://www.dfki.de/web/kontakt/mitarbeiter?uid=page00] from the German Reasearch Center for Artificial Intelligence.&lt;br /&gt;
* Prof. Dr. Michael Kipp [http://www.hs-augsburg.de/fakultaet/informatik/person/lehrender/professor/kipp_michael/index.html] from the University of Applied Sciences in Augsburg.&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15986</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15986"/>
		<updated>2011-12-20T13:32:47Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
==== Modeling Multihreaded Dialogue ====&lt;br /&gt;
Sceneflows exploit the modeling principles of &#039;&#039;modularity&#039;&#039; and &#039;&#039;compositionality&#039;&#039; in the sense of a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;parallel decomposition&#039;&#039;. Multiple virtual characters and their behavior, as well as multiple control processes for event detection or interaction management, can be modeled as concurrent processes in parallel automata. For this purpose, sceneflows allow two syntactical instruments for the creation of concurrent processes. By defining multiple startnodes for a supernode (Fig. 4), each subautomaton which consists of all nodes reachable by a startnode, is executed by a separate process. By defining fork edges (Fig. 5(1)), an author can create multiple concurrent processes without the need for changing the level of the node hierarchy. &lt;br /&gt;
&lt;br /&gt;
[[File:Decomp.png|400px|Hierarchical and Parallel Decomposition.]] &lt;br /&gt;
&lt;br /&gt;
Following this modular approach, an author is able to separate the task of modeling the overall behavior of a virtual character into multiple tasks of modeling individual behavioral aspects, functions and modalities. Behavioral aspects&lt;br /&gt;
can be modified in isolation without knowing details of the other aspects. In addition, previously modeled behavioral patterns can easily be reused and adopted. Furthermore, pre-modeled automata that are controlling the communication&lt;br /&gt;
with external devices or interfaces can be added as plug-in modules that are executed in a parallel process. Individual behavioral functions and modalities that contribute to the behavior of a virtual character are usually not completely independent, but have to be synchronized with each other. For example, speech is usually highly synchronized with non-verbal behavioral modalities such as gestures and body postures. When modeling individual behavioral functions and modalities in separate parallel automata, the processes that concurrently execute these automata have to be synchronized by the author in order to coordinate all behavioral aspects. This communication is realized by a shared&lt;br /&gt;
memory model which allows an asynchronous non-blocking synchronization of concurrent processes.&lt;br /&gt;
&lt;br /&gt;
[[File:Fork.png|400px|Forking edges and Probability Edges.]] &lt;br /&gt;
&lt;br /&gt;
Thereby, sceneflows enfold two different syntactic features for the synchronization of concurrent processes. First, they allow the synchronization over common shared variables defined in some supernode. The interleaving semantics of&lt;br /&gt;
sceneflows prescribe a mutually exclusive access to those variables to avoid inconsistencies. Second, they enfold a state query condition (Fig. 6) which represents a more intuitive mechanism for process synchronization. This condition&lt;br /&gt;
allows to request weather a certain parallel automaton&#039;s state is currently executed by the sceneflow interpreter.&lt;br /&gt;
&lt;br /&gt;
[[File:Sync.png|400px|Process Synchronization in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
==== Consistent Resumption of Dialogue ====&lt;br /&gt;
The concept of an exhaustive runtime history facilitates modeling reopening strategies and recapitulation phases of dialogues by falling back on automatically gathered information on past states of an interaction. During the execution&lt;br /&gt;
of a sceneflow, the system automatically maintains a history memory to record the runtimes of nodes, the values of local variables, executed system commands and scenes that were played back. It additionally records the last executed&lt;br /&gt;
substates of a supernode at the time of its termination or interruption. The automatical maintainance of this history memory releases the author of the manual collection of such runtime data, thus e�ciently reducing the modeling effort&lt;br /&gt;
while increasing the clarity of the model and providing the author with information about previous interactions and states of execution. The scripting language of sceneflows provides a variety of built-in history expressions and conditions to request the information deposited in the history memory or to delete it. The history concept is syntactically represented in form of a special history node which is an implicit child node of each supernode. When re-executing a supernode, the supernode starts at the history node instead of its default startnodes. Thus, the history node serves as a starting point for the author to model reopening strategies or recapitulation phases. Fig. 7 shows a simple exemplary use of a supernode&#039;s history node and a history condition. At the first execution of the supernode Parent, the supernode starts at its startnode First (Fig. 7(1)). If the supernode Parent is interrupted or terminated at some time and reexecuted afterwards, it starts at the history node History. The history memory is requested (Fig. 7(2)) to find out if the supernode had been interrupted or terminated in the node First or the node Second. As the snaphot of the visualized execution shows, depending on the result, the either the node First (Fig. 7(3)) is executed or the node Second (Fig. 7(4)) is started over the history node.&lt;br /&gt;
&lt;br /&gt;
[[File:History.png|400px|The Runtime History in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
Beside the use in many games and research projects Sceneflows are used in the following interactive storytelling applications:&lt;br /&gt;
* SOAP (see http://hcm-lab.de/projects/iris/index.php/SOAP)&lt;br /&gt;
* Plain Terror (see http://hcm-lab.de/projects/iris/index.php/The_Killer_Phrase_Game)&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass and Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, In &#039;&#039;Proceedings of the 13th International Conference on Multimodal Interaction&#039;&#039; (ICMI 2011).&lt;br /&gt;
* Patrick Gebhard, Gregor Mehlmann and Michael Kipp, Visual SceneMaker: A Tool for Authoring Interactive Virtual Characters, In &#039;&#039;Special Issue of the Journal on Multimodal User Interfaces: Interacting with ECAs&#039;&#039; (JMUI 2011).&lt;br /&gt;
* Gregor Mehlmann, Patrick Gebhard, Birgit Endrass and Elisabeth André, SceneMaker: Visual Authoring of Dialogue Processes, On &#039;&#039;7th Workshop on Knowledge and Reasoning in Practical Dialogue Systems&#039;&#039; (IJCAI 2011).&lt;br /&gt;
&lt;br /&gt;
=== Contact ===&lt;br /&gt;
For more information see also http://hcm-lab.de/projects/iris/index.php/SceneMaker or contact one of these persons:&lt;br /&gt;
* MSc. Gregor Mehlmann [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/mehlmann/] from the Human Centered Multimeda Lab at the Augsburg University.&lt;br /&gt;
* Dr. Patrick Gebhard [http://www.dfki.de/web/kontakt/mitarbeiter?uid=page00] from the German Reasearch Center for Artificial Intelligence.&lt;br /&gt;
* Prof. Dr. Michael Kipp [http://www.hs-augsburg.de/fakultaet/informatik/person/lehrender/professor/kipp_michael/index.html] from the University of Applied Sciences in Augsburg.&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15985</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15985"/>
		<updated>2011-12-20T13:29:52Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
==== Modeling Multihreaded Dialogue ====&lt;br /&gt;
Sceneflows exploit the modeling principles of &#039;&#039;modularity&#039;&#039; and &#039;&#039;compositionality&#039;&#039; in the sense of a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;parallel decomposition&#039;&#039;. Multiple virtual characters and their behavior, as well as multiple control processes for event detection or interaction management, can be modeled as concurrent processes in parallel automata. For this purpose, sceneflows allow two syntactical instruments for the creation of concurrent processes. By defining multiple startnodes for a supernode (Fig. 4), each subautomaton which consists of all nodes reachable by a startnode, is executed by a separate process. By defining fork edges (Fig. 5(1)), an author can create multiple concurrent processes without the need for changing the level of the node hierarchy. &lt;br /&gt;
&lt;br /&gt;
[[File:Decomp.png|400px|Hierarchical and Parallel Decomposition.]] &lt;br /&gt;
&lt;br /&gt;
Following this modular approach, an author is able to separate the task of modeling the overall behavior of a virtual character into multiple tasks of modeling individual behavioral aspects, functions and modalities. Behavioral aspects&lt;br /&gt;
can be modified in isolation without knowing details of the other aspects. In addition, previously modeled behavioral patterns can easily be reused and adopted. Furthermore, pre-modeled automata that are controlling the communication&lt;br /&gt;
with external devices or interfaces can be added as plug-in modules that are executed in a parallel process. Individual behavioral functions and modalities that contribute to the behavior of a virtual character are usually not completely independent, but have to be synchronized with each other. For example, speech is usually highly synchronized with non-verbal behavioral modalities such as gestures and body postures. When modeling individual behavioral functions and modalities in separate parallel automata, the processes that concurrently execute these automata have to be synchronized by the author in order to coordinate all behavioral aspects. This communication is realized by a shared&lt;br /&gt;
memory model which allows an asynchronous non-blocking synchronization of concurrent processes.&lt;br /&gt;
&lt;br /&gt;
[[File:Fork.png|400px|Forking edges and Probability Edges.]] &lt;br /&gt;
&lt;br /&gt;
Thereby, sceneflows enfold two different syntactic features for the synchronization of concurrent processes. First, they allow the synchronization over common shared variables defined in some supernode. The interleaving semantics of&lt;br /&gt;
sceneflows prescribe a mutually exclusive access to those variables to avoid inconsistencies. Second, they enfold a state query condition (Fig. 6) which represents a more intuitive mechanism for process synchronization. This condition&lt;br /&gt;
allows to request weather a certain parallel automaton&#039;s state is currently executed by the sceneflow interpreter.&lt;br /&gt;
&lt;br /&gt;
[[File:Sync.png|400px|Process Synchronization in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
==== Consistent Resumption of Dialogue ====&lt;br /&gt;
The concept of an exhaustive runtime history facilitates modeling reopening strategies and recapitulation phases of dialogues by falling back on automatically gathered information on past states of an interaction. During the execution&lt;br /&gt;
of a sceneflow, the system automatically maintains a history memory to record the runtimes of nodes, the values of local variables, executed system commands and scenes that were played back. It additionally records the last executed&lt;br /&gt;
substates of a supernode at the time of its termination or interruption. The automatical maintainance of this history memory releases the author of the manual collection of such runtime data, thus e�ciently reducing the modeling effort&lt;br /&gt;
while increasing the clarity of the model and providing the author with information about previous interactions and states of execution. The scripting language of sceneflows provides a variety of built-in history expressions and conditions to request the information deposited in the history memory or to delete it. The history concept is syntactically represented in form of a special history node which is an implicit child node of each supernode. When re-executing a supernode, the supernode starts at the history node instead of its default startnodes. Thus, the history node serves as a starting point for the author to model reopening strategies or recapitulation phases. Fig. 7 shows a simple exemplary use of a supernode&#039;s history node and a history condition. At the first execution of the supernode Parent, the supernode starts at its startnode First (Fig. 7(1)). If the supernode Parent is interrupted or terminated at some time and reexecuted afterwards, it starts at the history node History. The history memory is requested (Fig. 7(2)) to find out if the supernode had been interrupted or terminated in the node First or the node Second. As the snaphot of the visualized execution shows, depending on the result, the either the node First (Fig. 7(3)) is executed or the node Second (Fig. 7(4)) is started over the history node.&lt;br /&gt;
&lt;br /&gt;
[[File:History.png|400px|The Runtime History in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass and Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, In &#039;&#039;Proceedings of the 13th International Conference on Multimodal Interaction&#039;&#039; (ICMI 2011).&lt;br /&gt;
* Patrick Gebhard, Gregor Mehlmann and Michael Kipp, Visual SceneMaker: A Tool for Authoring Interactive Virtual Characters, In &#039;&#039;Special Issue of the Journal on Multimodal User Interfaces: Interacting with ECAs&#039;&#039; (JMUI 2011).&lt;br /&gt;
* Gregor Mehlmann, Patrick Gebhard, Birgit Endrass and Elisabeth André, SceneMaker: Visual Authoring of Dialogue Processes, On &#039;&#039;7th Workshop on Knowledge and Reasoning in Practical Dialogue Systems&#039;&#039; (IJCAI 2011).&lt;br /&gt;
&lt;br /&gt;
=== Contact ===&lt;br /&gt;
For more information see also http://hcm-lab.de/projects/iris/index.php/SceneMaker or contact one of these persons:&lt;br /&gt;
* MSc. Gregor Mehlmann [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/mehlmann/] from the Human Centered Multimeda Lab at the Augsburg University.&lt;br /&gt;
* Dr. Patrick Gebhard [http://www.dfki.de/web/kontakt/mitarbeiter?uid=page00] from the German Reasearch Center for Artificial Intelligence.&lt;br /&gt;
* Prof. Dr. Michael Kipp [http://www.hs-augsburg.de/fakultaet/informatik/person/lehrender/professor/kipp_michael/index.html] from the University of Applied Sciences in Augsburg.&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15984</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15984"/>
		<updated>2011-12-20T13:28:39Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
==== Modeling Multihreaded Dialogue ====&lt;br /&gt;
Sceneflows exploit the modeling principles of &#039;&#039;modularity&#039;&#039; and &#039;&#039;compositionality&#039;&#039; in the sense of a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;parallel decomposition&#039;&#039;. Multiple virtual characters and their behavior, as well as multiple control processes for event detection or interaction management, can be modeled as concurrent processes in parallel automata. For this purpose, sceneflows allow two syntactical instruments for the creation of concurrent processes. By defining multiple startnodes for a supernode (Fig. 4), each subautomaton which consists of all nodes reachable by a startnode, is executed by a separate process. By defining fork edges (Fig. 5(1)), an author can create multiple concurrent processes without the need for changing the level of the node hierarchy. &lt;br /&gt;
&lt;br /&gt;
[[File:Decomp.png|400px|Hierarchical and Parallel Decomposition.]] &lt;br /&gt;
&lt;br /&gt;
Following this modular approach, an author is able to separate the task of modeling the overall behavior of a virtual character into multiple tasks of modeling individual behavioral aspects, functions and modalities. Behavioral aspects&lt;br /&gt;
can be modified in isolation without knowing details of the other aspects. In addition, previously modeled behavioral patterns can easily be reused and adopted. Furthermore, pre-modeled automata that are controlling the communication&lt;br /&gt;
with external devices or interfaces can be added as plug-in modules that are executed in a parallel process. Individual behavioral functions and modalities that contribute to the behavior of a virtual character are usually not completely independent, but have to be synchronized with each other. For example, speech is usually highly synchronized with non-verbal behavioral modalities such as gestures and body postures. When modeling individual behavioral functions and modalities in separate parallel automata, the processes that concurrently execute these automata have to be synchronized by the author in order to coordinate all behavioral aspects. This communication is realized by a shared&lt;br /&gt;
memory model which allows an asynchronous non-blocking synchronization of concurrent processes.&lt;br /&gt;
&lt;br /&gt;
[[File:Fork.png|400px|Forking edges and Probability Edges.]] &lt;br /&gt;
&lt;br /&gt;
Thereby, sceneflows enfold two different syntactic features for the synchronization of concurrent processes. First, they allow the synchronization over common shared variables defined in some supernode. The interleaving semantics of&lt;br /&gt;
sceneflows prescribe a mutually exclusive access to those variables to avoid inconsistencies. Second, they enfold a state query condition (Fig. 6) which represents a more intuitive mechanism for process synchronization. This condition&lt;br /&gt;
allows to request weather a certain parallel automaton&#039;s state is currently executed by the sceneflow interpreter.&lt;br /&gt;
&lt;br /&gt;
[[File:Sync.png|400px|Process Synchronization in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
==== Consistent Resumption of Dialogue ====&lt;br /&gt;
The concept of an exhaustive runtime history facilitates modeling reopening strategies and recapitulation phases of dialogues by falling back on automatically gathered information on past states of an interaction. During the execution&lt;br /&gt;
of a sceneflow, the system automatically maintains a history memory to record the runtimes of nodes, the values of local variables, executed system commands and scenes that were played back. It additionally records the last executed&lt;br /&gt;
substates of a supernode at the time of its termination or interruption. The automatical maintainance of this history memory releases the author of the manual collection of such runtime data, thus e�ciently reducing the modeling effort&lt;br /&gt;
while increasing the clarity of the model and providing the author with information about previous interactions and states of execution. The scripting language of sceneflows provides a variety of built-in history expressions and conditions to request the information deposited in the history memory or to delete it. The history concept is syntactically represented in form of a special history node which is an implicit child node of each supernode. When re-executing a supernode, the supernode starts at the history node instead of its default startnodes. Thus, the history node serves as a starting point for the author to model reopening strategies or recapitulation phases. Fig. 7 shows a simple exemplary use of a supernode&#039;s history node and a history condition. At the first execution of the supernode Parent, the supernode starts at its startnode First (Fig. 7(1)). If the supernode Parent is interrupted or terminated at some time and reexecuted afterwards, it starts at the history node History. The history memory is requested (Fig. 7(2)) to find out if the supernode had been interrupted or terminated in the node First or the node Second. As the snaphot of the visualized execution shows, depending on the result, the either the node First (Fig. 7(3)) is executed or the node Second (Fig. 7(4)) is started over the history node.&lt;br /&gt;
&lt;br /&gt;
[[File:History.png|400px|The Runtime History in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass and Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, In &#039;&#039;Proceedings of the 13th International Conference on Multimodal Interaction&#039;&#039; (ICMI 2011).&lt;br /&gt;
* Patrick Gebhard, Gregor Mehlmann and Michael Kipp, Visual SceneMaker: A Tool for Authoring Interactive Virtual Characters, In &#039;&#039;Special Issue of the Journal on Multimodal User Interfaces: Interacting with ECAs&#039;&#039; (JMUI 2011).&lt;br /&gt;
* Gregor Mehlmann, Patrick Gebhard, Birgit Endrass and Elisabeth André, SceneMaker: Visual Authoring of Dialogue Processes, On &#039;&#039;7th Workshop on Knowledge and Reasoning in Practical Dialogue Systems&#039;&#039; (IJCAI 2011).&lt;br /&gt;
&lt;br /&gt;
=== Contact ===&lt;br /&gt;
* MSc. Gregor Mehlmann [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/staff/mehlmann/] from the Human Centered Multimeda Lab at the Augsburg University.&lt;br /&gt;
* Dr. Patrick Gebhard [http://www.dfki.de/web/kontakt/mitarbeiter?uid=page00] from the German Reasearch Center for Artificial Intelligence.&lt;br /&gt;
* Prof. Dr. Michael Kipp [http://www.hs-augsburg.de/fakultaet/informatik/person/lehrender/professor/kipp_michael/index.html] from the University of Applied Sciences in Augsburg.&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15983</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15983"/>
		<updated>2011-12-20T13:27:20Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
==== Modeling Multihreaded Dialogue ====&lt;br /&gt;
Sceneflows exploit the modeling principles of &#039;&#039;modularity&#039;&#039; and &#039;&#039;compositionality&#039;&#039; in the sense of a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;parallel decomposition&#039;&#039;. Multiple virtual characters and their behavior, as well as multiple control processes for event detection or interaction management, can be modeled as concurrent processes in parallel automata. For this purpose, sceneflows allow two syntactical instruments for the creation of concurrent processes. By defining multiple startnodes for a supernode (Fig. 4), each subautomaton which consists of all nodes reachable by a startnode, is executed by a separate process. By defining fork edges (Fig. 5(1)), an author can create multiple concurrent processes without the need for changing the level of the node hierarchy. &lt;br /&gt;
&lt;br /&gt;
[[File:Decomp.png|400px|Hierarchical and Parallel Decomposition.]] &lt;br /&gt;
&lt;br /&gt;
Following this modular approach, an author is able to separate the task of modeling the overall behavior of a virtual character into multiple tasks of modeling individual behavioral aspects, functions and modalities. Behavioral aspects&lt;br /&gt;
can be modified in isolation without knowing details of the other aspects. In addition, previously modeled behavioral patterns can easily be reused and adopted. Furthermore, pre-modeled automata that are controlling the communication&lt;br /&gt;
with external devices or interfaces can be added as plug-in modules that are executed in a parallel process. Individual behavioral functions and modalities that contribute to the behavior of a virtual character are usually not completely independent, but have to be synchronized with each other. For example, speech is usually highly synchronized with non-verbal behavioral modalities such as gestures and body postures. When modeling individual behavioral functions and modalities in separate parallel automata, the processes that concurrently execute these automata have to be synchronized by the author in order to coordinate all behavioral aspects. This communication is realized by a shared&lt;br /&gt;
memory model which allows an asynchronous non-blocking synchronization of concurrent processes.&lt;br /&gt;
&lt;br /&gt;
[[File:Fork.png|400px|Forking edges and Probability Edges.]] &lt;br /&gt;
&lt;br /&gt;
Thereby, sceneflows enfold two different syntactic features for the synchronization of concurrent processes. First, they allow the synchronization over common shared variables defined in some supernode. The interleaving semantics of&lt;br /&gt;
sceneflows prescribe a mutually exclusive access to those variables to avoid inconsistencies. Second, they enfold a state query condition (Fig. 6) which represents a more intuitive mechanism for process synchronization. This condition&lt;br /&gt;
allows to request weather a certain parallel automaton&#039;s state is currently executed by the sceneflow interpreter.&lt;br /&gt;
&lt;br /&gt;
[[File:Sync.png|400px|Process Synchronization in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
==== Consistent Resumption of Dialogue ====&lt;br /&gt;
The concept of an exhaustive runtime history facilitates modeling reopening strategies and recapitulation phases of dialogues by falling back on automatically gathered information on past states of an interaction. During the execution&lt;br /&gt;
of a sceneflow, the system automatically maintains a history memory to record the runtimes of nodes, the values of local variables, executed system commands and scenes that were played back. It additionally records the last executed&lt;br /&gt;
substates of a supernode at the time of its termination or interruption. The automatical maintainance of this history memory releases the author of the manual collection of such runtime data, thus e�ciently reducing the modeling effort&lt;br /&gt;
while increasing the clarity of the model and providing the author with information about previous interactions and states of execution. The scripting language of sceneflows provides a variety of built-in history expressions and conditions to request the information deposited in the history memory or to delete it. The history concept is syntactically represented in form of a special history node which is an implicit child node of each supernode. When re-executing a supernode, the supernode starts at the history node instead of its default startnodes. Thus, the history node serves as a starting point for the author to model reopening strategies or recapitulation phases. Fig. 7 shows a simple exemplary use of a supernode&#039;s history node and a history condition. At the first execution of the supernode Parent, the supernode starts at its startnode First (Fig. 7(1)). If the supernode Parent is interrupted or terminated at some time and reexecuted afterwards, it starts at the history node History. The history memory is requested (Fig. 7(2)) to find out if the supernode had been interrupted or terminated in the node First or the node Second. As the snaphot of the visualized execution shows, depending on the result, the either the node First (Fig. 7(3)) is executed or the node Second (Fig. 7(4)) is started over the history node.&lt;br /&gt;
&lt;br /&gt;
[[File:History.png|400px|The Runtime History in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
* Gregor Mehlmann, Birgit Endrass and Elisabeth André, Modeling and Interpretation of Multithreaded and Multimodal Dialogue, In &#039;&#039;Proceedings of the 13th International Conference on Multimodal Interaction&#039;&#039; (ICMI 2011).&lt;br /&gt;
* Patrick Gebhard, Gregor Mehlmann and Michael Kipp, Visual SceneMaker: A Tool for Authoring Interactive Virtual Characters, In &#039;&#039;Special Issue of the Journal on Multimodal User Interfaces: Interacting with ECAs&#039;&#039; (JMUI 2011).&lt;br /&gt;
* Gregor Mehlmann, Patrick Gebhard, Birgit Endrass and Elisabeth André, SceneMaker: Visual Authoring of Dialogue Processes, On &#039;&#039;7th Workshop on Knowledge and Reasoning in Practical Dialogue Systems&#039;&#039; (IJCAI 2011).&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:History.png&amp;diff=15982</id>
		<title>File:History.png</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:History.png&amp;diff=15982"/>
		<updated>2011-12-20T13:25:20Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15981</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15981"/>
		<updated>2011-12-20T13:24:39Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
==== Modeling Multihreaded Dialogue ====&lt;br /&gt;
Sceneflows exploit the modeling principles of &#039;&#039;modularity&#039;&#039; and &#039;&#039;compositionality&#039;&#039; in the sense of a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;parallel decomposition&#039;&#039;. Multiple virtual characters and their behavior, as well as multiple control processes for event detection or interaction management, can be modeled as concurrent processes in parallel automata. For this purpose, sceneflows allow two syntactical instruments for the creation of concurrent processes. By defining multiple startnodes for a supernode (Fig. 4), each subautomaton which consists of all nodes reachable by a startnode, is executed by a separate process. By defining fork edges (Fig. 5(1)), an author can create multiple concurrent processes without the need for changing the level of the node hierarchy. &lt;br /&gt;
&lt;br /&gt;
[[File:Decomp.png|400px|Hierarchical and Parallel Decomposition.]] &lt;br /&gt;
&lt;br /&gt;
Following this modular approach, an author is able to separate the task of modeling the overall behavior of a virtual character into multiple tasks of modeling individual behavioral aspects, functions and modalities. Behavioral aspects&lt;br /&gt;
can be modified in isolation without knowing details of the other aspects. In addition, previously modeled behavioral patterns can easily be reused and adopted. Furthermore, pre-modeled automata that are controlling the communication&lt;br /&gt;
with external devices or interfaces can be added as plug-in modules that are executed in a parallel process. Individual behavioral functions and modalities that contribute to the behavior of a virtual character are usually not completely independent, but have to be synchronized with each other. For example, speech is usually highly synchronized with non-verbal behavioral modalities such as gestures and body postures. When modeling individual behavioral functions and modalities in separate parallel automata, the processes that concurrently execute these automata have to be synchronized by the author in order to coordinate all behavioral aspects. This communication is realized by a shared&lt;br /&gt;
memory model which allows an asynchronous non-blocking synchronization of concurrent processes.&lt;br /&gt;
&lt;br /&gt;
[[File:Fork.png|400px|Forking edges and Probability Edges.]] &lt;br /&gt;
&lt;br /&gt;
Thereby, sceneflows enfold two different syntactic features for the synchronization of concurrent processes. First, they allow the synchronization over common shared variables defined in some supernode. The interleaving semantics of&lt;br /&gt;
sceneflows prescribe a mutually exclusive access to those variables to avoid inconsistencies. Second, they enfold a state query condition (Fig. 6) which represents a more intuitive mechanism for process synchronization. This condition&lt;br /&gt;
allows to request weather a certain parallel automaton&#039;s state is currently executed by the sceneflow interpreter.&lt;br /&gt;
&lt;br /&gt;
[[File:Sync.png|400px|Process Synchronization in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
==== Consistent Resumption of Dialogue ====&lt;br /&gt;
The concept of an exhaustive runtime history facilitates modeling reopening strategies and recapitulation phases of dialogues by falling back on automatically gathered information on past states of an interaction. During the execution&lt;br /&gt;
of a sceneflow, the system automatically maintains a history memory to record the runtimes of nodes, the values of local variables, executed system commands and scenes that were played back. It additionally records the last executed&lt;br /&gt;
substates of a supernode at the time of its termination or interruption. The automatical maintainance of this history memory releases the author of the manual collection of such runtime data, thus e�ciently reducing the modeling effort&lt;br /&gt;
while increasing the clarity of the model and providing the author with information about previous interactions and states of execution. The scripting language of sceneflows provides a variety of built-in history expressions and conditions to request the information deposited in the history memory or to delete it. The history concept is syntactically represented in form of a special history node which is an implicit child node of each supernode. When re-executing a supernode, the supernode starts at the history node instead of its default startnodes. Thus, the history node serves as a starting point for the author to model reopening strategies or recapitulation phases. Fig. 7 shows a simple exemplary use of a supernode&#039;s history node and a history condition. At the first execution of the supernode Parent, the supernode starts at its startnode First (Fig. 7(1)). If the supernode Parent is interrupted or terminated at some time and reexecuted afterwards, it starts at the history node History. The history memory is requested (Fig. 7(2)) to find out if the supernode had been interrupted or terminated in the node First or the node Second. As the snaphot of the visualized execution shows, depending on the result, the either the node First (Fig. 7(3)) is executed or the node Second (Fig. 7(4)) is started over the history node.&lt;br /&gt;
&lt;br /&gt;
[[File:History.png|400px|The Runtime History in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15980</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15980"/>
		<updated>2011-12-20T13:21:17Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
==== Modeling Multihreaded Dialogue ====&lt;br /&gt;
Sceneflows exploit the modeling principles of &#039;&#039;modularity&#039;&#039; and &#039;&#039;compositionality&#039;&#039; in the sense of a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;parallel decomposition&#039;&#039;. Multiple virtual characters and their behavior, as well as multiple control processes for event detection or interaction management, can be modeled as concurrent processes in parallel automata. For this purpose, sceneflows allow two syntactical instruments for the creation of concurrent processes. By defining multiple startnodes for a supernode (Fig. 4), each subautomaton which consists of all nodes reachable by a startnode, is executed by a separate process. By defining fork edges (Fig. 5(1)), an author can create multiple concurrent processes without the need for changing the level of the node hierarchy. &lt;br /&gt;
&lt;br /&gt;
[[File:Decomp.png|400px|Hierarchical and Parallel Decomposition.]] &lt;br /&gt;
&lt;br /&gt;
Following this modular approach, an author is able to separate the task of modeling the overall behavior of a virtual character into multiple tasks of modeling individual behavioral aspects, functions and modalities. Behavioral aspects&lt;br /&gt;
can be modified in isolation without knowing details of the other aspects. In addition, previously modeled behavioral patterns can easily be reused and adopted. Furthermore, pre-modeled automata that are controlling the communication&lt;br /&gt;
with external devices or interfaces can be added as plug-in modules that are executed in a parallel process. Individual behavioral functions and modalities that contribute to the behavior of a virtual character are usually not completely independent, but have to be synchronized with each other. For example, speech is usually highly synchronized with non-verbal behavioral modalities such as gestures and body postures. When modeling individual behavioral functions and modalities in separate parallel automata, the processes that concurrently execute these automata have to be synchronized by the author in order to coordinate all behavioral aspects. This communication is realized by a shared&lt;br /&gt;
memory model which allows an asynchronous non-blocking synchronization of concurrent processes.&lt;br /&gt;
&lt;br /&gt;
[[File:Fork.png|400px|Forking edges and Probability Edges.]] &lt;br /&gt;
&lt;br /&gt;
Thereby, sceneflows enfold two different syntactic features for the synchronization of concurrent processes. First, they allow the synchronization over common shared variables defined in some supernode. The interleaving semantics of&lt;br /&gt;
sceneflows prescribe a mutually exclusive access to those variables to avoid inconsistencies. Second, they enfold a state query condition (Fig. 6) which represents a more intuitive mechanism for process synchronization. This condition&lt;br /&gt;
allows to request weather a certain parallel automaton&#039;s state is currently executed by the sceneflow interpreter.&lt;br /&gt;
&lt;br /&gt;
[[File:Sync.png|400px|Process Synchronization in Sceneflows.]] &lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:Decomp.png&amp;diff=15979</id>
		<title>File:Decomp.png</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:Decomp.png&amp;diff=15979"/>
		<updated>2011-12-20T13:19:30Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:Fork.png&amp;diff=15978</id>
		<title>File:Fork.png</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:Fork.png&amp;diff=15978"/>
		<updated>2011-12-20T13:18:59Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:Sync.png&amp;diff=15977</id>
		<title>File:Sync.png</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:Sync.png&amp;diff=15977"/>
		<updated>2011-12-20T13:18:51Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sugarcane_Island_with_Alfred&amp;diff=15976</id>
		<title>Sugarcane Island with Alfred</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sugarcane_Island_with_Alfred&amp;diff=15976"/>
		<updated>2011-12-20T13:02:12Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[IS Systems]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
===Availability===&lt;br /&gt;
Sugarcane Island with Alfred is an IS system which was developed as a research prototype. It is not available for download.&lt;br /&gt;
Nevertheless, you can get most of the technical components used for implementing the system.&lt;br /&gt;
&lt;br /&gt;
===Technical Description===&lt;br /&gt;
Sugarcane Island with Alfred is a two player Interactive Storytelling application that adapts a part of the story of the game book &amp;quot;Sugarcane Island&amp;quot; by Edward Packard.&lt;br /&gt;
The users find themselves stranded on an unknown island and need to find a way to survive.&lt;br /&gt;
The story is narrated by an embodied virtual character named Alfred.&lt;br /&gt;
Decisions between the text parts are realized with a Wizard-of-Oz speech input. Alfred asks for a decision and the users have to speak out their choice.&lt;br /&gt;
Full Body Gestures are added in Quick Time Events, were the users have to perform a specific gesture given a limited amount of time. The recognition of these gestures using Microsoft Kinect is done with the [http://www.hcm-lab.de/FUBI.html FUBI] Full Body Interaction Framework.&lt;br /&gt;
&lt;br /&gt;
[[File:QuickTimeSetup.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
The general application runs on the [http://www.hcm-lab.de/project/GamEngine Horde3D GameEngine]. In Addition, [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/projects/scenemaker/ SceneMaker] was used to model and execute the story as a hierarchical finite state&lt;br /&gt;
machine extended with multimodal scene scripts that consist of the text to be spoken including additional commands like animations or sounds.&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=tUGqmatPQkk Video on Youtube]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Strong Points===&lt;br /&gt;
The potential of this ITS application lies in the interaction interface designed for two players.&lt;br /&gt;
It uses the Microsoft Kinect sensor to recognize full body gestures of the users that do not have to hold or wear any interaction device.&lt;br /&gt;
The story itself is adapted from the game book Sugarcane Island.&lt;br /&gt;
The strength of this approach is, that there is no need for writing a complex story, but the given story can be directly used to investigate the interaction interface.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
The full body gestures are currently applied in so-called Quick Time Events, where the users have to perform a specific gesture during a limited amount of time.&lt;br /&gt;
A next step would be to provide real decisions by offering a choice of different gestures or even some kind of gesture syntax.&lt;br /&gt;
&lt;br /&gt;
===Main Publications===&lt;br /&gt;
&lt;br /&gt;
* Felix Kistler, Dominik Sollfrank, Nikolaus Bee, and Elisabeth André, Full Body Gestures enhancing a Game Book for Interactive Story Telling, Proc. of the 4th Int. Conf. on Interactive Digital Storytelling, 2011&lt;br /&gt;
&lt;br /&gt;
===Supporting Narrative Theories===&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
===Computational Model===&lt;br /&gt;
The story is modeled with [http://www.informatik.uni-augsburg.de/lehrstuehle/hcm/projects/scenemaker/ SceneMaker] as a hierarchical finite state&lt;br /&gt;
machine extended with multimodal scene scripts.&lt;br /&gt;
&lt;br /&gt;
===Type of interaction===&lt;br /&gt;
Interaction using Microsoft Kinect to recognize full body gestures.&lt;br /&gt;
In addition, Wizard-of-Oz speech input for decisions.&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15975</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15975"/>
		<updated>2011-12-20T12:37:05Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
==== Modeling Multihreaded Dialogue ====&lt;br /&gt;
Sceneflows exploit the modeling principles of &#039;&#039;modularity&#039;&#039; and &#039;&#039;compositionality&#039;&#039; in the sense of a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;parallel decomposition&#039;&#039;. Multiple virtual characters and their behavior, as well as multiple control processes for event detection or interaction management, can be modeled as concurrent processes in parallel automata. For this purpose, sceneflows allow two syntactical instruments for the creation of concurrent processes. By defining multiple startnodes for a supernode (Fig. 4), each subautomaton which consists of all nodes reachable by a startnode, is executed by a separate process. By defining fork edges (Fig. 5(1)), an author can create multiple concurrent processes without the need for changing the level of the node hierarchy. &lt;br /&gt;
&lt;br /&gt;
Following this modular approach, an author is able to separate the task of modeling the overall behavior of a virtual character into multiple tasks of modeling individual behavioral aspects, functions and modalities. Behavioral aspects&lt;br /&gt;
can be modified in isolation without knowing details of the other aspects. In addition, previously modeled behavioral patterns can easily be reused and adopted. Furthermore, pre-modeled automata that are controlling the communication&lt;br /&gt;
with external devices or interfaces can be added as plug-in modules that are executed in a parallel process. Individual behavioral functions and modalities that contribute to the behavior of a virtual character are usually not completely independent, but have to be synchronized with each other. For example, speech is usually highly synchronized with non-verbal behavioral modalities such as gestures and body postures. When modeling individual behavioral functions and modalities in separate parallel automata, the processes that concurrently execute these automata have to be synchronized by the author in order to coordinate all behavioral aspects. This communication is realized by a shared&lt;br /&gt;
memory model which allows an asynchronous non-blocking synchronization of concurrent processes.&lt;br /&gt;
&lt;br /&gt;
Thereby, sceneflows enfold two different syntactic features for the synchronization of concurrent processes. First, they allow the synchronization over common shared variables defined in some supernode. The interleaving semantics of&lt;br /&gt;
sceneflows prescribe a mutually exclusive access to those variables to avoid inconsistencies. Second, they enfold a state query condition (Fig. 6) which represents a more intuitive mechanism for process synchronization. This condition&lt;br /&gt;
allows to request weather a certain parallel automaton&#039;s state is currently executed by the sceneflow interpreter.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15974</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15974"/>
		<updated>2011-12-20T12:31:45Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15973</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15973"/>
		<updated>2011-12-20T12:31:31Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|middle|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15972</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15972"/>
		<updated>2011-12-20T12:30:41Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Nodes.png|400px|Node Statements and Supernode Hierarchy.]] &lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:Nodes.png&amp;diff=15971</id>
		<title>File:Nodes.png</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:Nodes.png&amp;diff=15971"/>
		<updated>2011-12-20T12:29:46Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15970</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15970"/>
		<updated>2011-12-20T12:27:55Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
The possibility to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15969</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15969"/>
		<updated>2011-12-20T12:27:21Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. The possibility&lt;br /&gt;
to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from&lt;br /&gt;
knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15968</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15968"/>
		<updated>2011-12-20T12:27:08Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. The possibility&lt;br /&gt;
to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from&lt;br /&gt;
knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|500px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:Scenes.png&amp;diff=15967</id>
		<title>File:Scenes.png</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:Scenes.png&amp;diff=15967"/>
		<updated>2011-12-20T12:26:43Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15966</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15966"/>
		<updated>2011-12-20T12:26:33Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. The possibility&lt;br /&gt;
to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from&lt;br /&gt;
knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
[[File:Scenes.png|400px|Parameterizable Scenes of a Scenegroup.]] &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges.]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15965</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15965"/>
		<updated>2011-12-20T12:24:22Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. &lt;br /&gt;
&lt;br /&gt;
==== Creating Multimodal Dialogue Content ====&lt;br /&gt;
As shown in Fig. 1, a scene resembles the part of a movie script consisting of the virtual characters&#039; utterances containing stage directions for controlling gestures, postures, gaze and facial expressions as well as control commands for&lt;br /&gt;
arbitrary actions realizable by the respective character animation engine or by other external modules. Scenescript content can be created both manually by an author and automatically by external generation modules. The possibility&lt;br /&gt;
to parameterize scenes may be exploited to create scenes in a hybrid way between fixed authored scene content and variable content (Fig. 1(1)), such as retrieved information from user interactions, sensor input or generated content from&lt;br /&gt;
knowledge bases. A scenescript may provide a number of variations for each scene that are subsumed in a &#039;&#039;scenegroup&#039;&#039;, consisting of the scenes sharing the same name or signature (Fig. 1(2), 1(3)). Different &#039;&#039;blacklisting strategies&#039;&#039; can be used to choose one of the scenes from a scenegroup for execution. &lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15964</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15964"/>
		<updated>2011-12-20T12:22:12Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
Central concept of the modeling approach with &#039;&#039;scenes&#039;&#039; and &#039;&#039;sceneflows&#039;&#039; is the separation of dialogue content and structure. Multi-modal dialogue content is specified in a set of scenes that are organized in a &#039;&#039;scenescript&#039;&#039;. The narrative structure of an interactive performance and the interactive behavior of the virtual characters is controlled by a &#039;&#039;sceneflow&#039;&#039;, which is a &#039;&#039;state chart&#039;&#039; variant specifying the logic according to which scenes are played back and commands are executed. Sceneflows have concepts for the &#039;&#039;hierarchical refinement&#039;&#039; and the &#039;&#039;parallel decomposition&#039;&#039; of the model as well as an exhaustive &#039;&#039;runtime history&#039;&#039; and multiple &#039;&#039;interaction policies&#039;&#039;. Thus, sceneflows adopt and extend concepts that can be found in similar state chart variants. These features facilitate and accelerate the modeling process and, thus, allow the creation of interactive virtual character performances in a rapid-prototyping style.&lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15963</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15963"/>
		<updated>2011-12-20T12:18:49Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
&lt;br /&gt;
==== Modeling Dialogue Logic and Context ====&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15962</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15962"/>
		<updated>2011-12-20T12:17:52Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges]] &lt;br /&gt;
&lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15961</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15961"/>
		<updated>2011-12-20T12:17:32Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|Interruptive and Non-Interruptive Conditional Edges]] &lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15960</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15960"/>
		<updated>2011-12-20T12:17:12Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. &lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|left|Interruptive and Non-Interruptive Conditional Edges]] &lt;br /&gt;
These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15959</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15959"/>
		<updated>2011-12-20T12:16:21Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|400px|left|Interruptive and Non-Interruptive Conditional Edges]] &lt;br /&gt;
&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15958</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15958"/>
		<updated>2011-12-20T12:15:31Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
&lt;br /&gt;
[[File:InteractionHandlingPolicies.png|200px|thumb|left|alt text]] &lt;br /&gt;
&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:InteractionHandlingPolicies.png&amp;diff=15957</id>
		<title>File:InteractionHandlingPolicies.png</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=File:InteractionHandlingPolicies.png&amp;diff=15957"/>
		<updated>2011-12-20T12:15:04Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15956</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15956"/>
		<updated>2011-12-20T12:06:00Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* &#039;&#039;Interruptive conditional edges&#039;&#039; (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
* &#039;&#039;Non-interruptive conditional edges&#039;&#039; (Fig. 3(2), 3(4)) are inherited with a non-interruptive policy, which means that a non-interruptive conditional edge of a certain node or supernode can be taken after the execution of the node&#039;s program and after all descendant nodes have terminated. This policy is implicitly giving higher priority to any conditional edge of nodes that are farther from the root.&lt;br /&gt;
&lt;br /&gt;
Fig. 3 shows a supernode hierarchy with different conditional edges. If the condition stop becomes true during the execution of the two innermost scene playback commands, then the scene within the supernodes with the non-interruptive&lt;br /&gt;
conditions (Fig. 3(2), 3(4) ) will be executed to its end. However, the scene within the supernodes with the interruptive conditions (Fig. 3(1), 3(3)) will be interrupted as fast as possible. In the non-interruptive case the execution&lt;br /&gt;
of the scene ow continues with the inner end node (Fig. 3(4)) before the outer end node is executed (Fig. 3(2)). In the interruptive case the execution of the sceneflow immediately continues with the outer end node (Fig. 3(1)) because the&lt;br /&gt;
outer interruptive edge has priority over the inner interruptive edge (Fig. 3(3)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15955</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15955"/>
		<updated>2011-12-20T12:02:43Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Interaction Handling Policies ====&lt;br /&gt;
User interactions as well as other internally or externally triggered events within the application environment can rise at any time during the execution of a model. Some of these events need to be processed as fast as possible to assert certain &#039;&#039;realtime requirements&#039;&#039;. There may, for example, be the need to &#039;&#039;contemporarily&#039;&#039; interrupt a currently running dialogue during a scene playback in order to give the user the impression of presence or impact. However, there can also exist events that may be processed at some later point in time allowing currently executed scenes or commands to be regularly terminated before reacting to the event. These two different interaction paradigms imply two different interaction handling policies that find their syntactical realization in two different types of interruptibility or inheritance of conditional edges:&lt;br /&gt;
* Interruptive conditional edges (Fig. 3(1), 3(3)) are inherited with an interruptive policy and are used for handling of events and user interactions requiring a fast reaction. Whenever an interruptive conditional edge of a node can be taken, this node and all descendant nodes may not take any other edges or execute any further command. These semantics imply, that interruptive edges that are closer to the root have priority over interruptive edges farther from the root.&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15954</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15954"/>
		<updated>2011-12-20T12:00:10Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
	<entry>
		<id>https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15953</id>
		<title>Sceneflows</title>
		<link rel="alternate" type="text/html" href="https://tecfalabs.unige.ch/mediawiki-narrative/index.php?title=Sceneflows&amp;diff=15953"/>
		<updated>2011-12-20T11:59:49Z</updated>

		<summary type="html">&lt;p&gt;Birgit Endrass: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[IRIS Wiki]] - [[Computational Models]] - &#039;&#039;&#039;{{PAGENAME}}&#039;&#039;&#039;&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
A sceneflow is a &#039;&#039;hierarchical&#039;&#039; and &#039;&#039;concurrent statechart&#039;&#039; that consists of different types of nodes and edges. A &#039;&#039;scenenode&#039;&#039; can be linked to one or more scenegroup playback or system commands and can be annotated with statements and expressions from a simple scripting language, such as type- and variable definitions as well as variable assignments and function calls to predefined functions of the underlying implementation language (Fig. 2(1)). A &#039;&#039;supernode&#039;&#039; extends the functionality of scenenodes by creating a hierarchical structure. A supernode may contain scenenodes and supernodes that constitute its subautomata. One of these subnodes has to be declared the &#039;&#039;startnode&#039;&#039; of that supernode (Fig. 2(2)). The supernode hierarchy can be used for type- and variable &#039;&#039;scoping&#039;&#039;. Type definitions and variable definitions are inherited to all subnodes of a supernode. The supernode hierarchy and the variable scoping mechanism imply a hierarchy of local contexts that can be used for context-sensitive reaction to user interactions, external events or the change of environmental conditions. Different &#039;&#039;branching strategies&#039;&#039; within the sceneflow, such as &#039;&#039;logical&#039;&#039; and &#039;&#039;temporal&#039;&#039; conditions or randomization, as well as different interaction policies, can be modeled by connecting nodes with different types of edges. An &#039;&#039;epsilon edge&#039;&#039; represents an unconditional transition (Fig. 2(3)). They are used for the specification of the order in which computation steps are performed and scenes are played back. A timeout edge represents a timed or scheduled transition and is labeled with a timeout value (Fig. 2(4)). &#039;&#039;Timeout edges&#039;&#039; are used to regulate the temporal flow of a sceneflow&#039;s execution and to schedule the playback of scenes and computation steps. A &#039;&#039;probabilistic edge&#039;&#039; represents a transition that is taken with a certain probability and is labeled with a probability value (Fig. 5(2)). &#039;&#039;Probabilistic edges&#039;&#039; are used to create some degree of randomness and desired non-determinism during the execution of a sceneflow. A &#039;&#039;conditional edge&#039;&#039; represents a conditional transition and is labeled with a conditional expression (Fig. 3). Conditional edges are used to create a branching structure in the sceneflow which describes different reactions to changes of environmental conditions, external events or user interactions.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;/div&gt;</summary>
		<author><name>Birgit Endrass</name></author>
	</entry>
</feed>