FML 1.0 Standard
1. Overview
This document describes a proposed standard specification for the Function Markup Language (FML).
It contains general information and the syntactic and semantic details of the XML format of the proposed FML.
The specification describes an FML representation instance divided in two main sections. The first section is named
declarations. It is used to identify the participants referred by the functions in the
body section and to specify contextual information such as the floors configuration.
The second section is named body. It is used to specify the functions that each
participant needs to accomplish and it is divided into three separate tracks (sub-sections) named:
interactional, performative and mental-state.
Each track hosts different elements that
describe functions meaningful for the track they belong to. The elements in each
track are organized in FML Chunks and timed with relative temporal constraints.
The root element of an FML instance is the <saiba-act> tag with the following
namespace: "http://secom.ru.is/fml". This element allows the
inclusion of a <declarations> and a <body> element.
2. Definitions
- Participant
- This refers to an entity (e.g. virtual agent or user) described in a FML
instance participating in an interaction and, therefore, referred to by the
communicative functions as the entity that wants to accomplish it.
- Floor
- A participant can be engaged in several interactions with other participants
that we name floors. This can be seen as a metaphor for the social contract
that binds participants together in the common purpose of interacting.
- FML Chunk
- The smallest unit of FML intents associated with a single participant
that is ready to be turned into supporting BML-specified behavior.
Top
3. Declaration Section
element DECLARATIONS
| Description |
Stores contextual information. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| - |
- |
- |
- |
- |
| Elements |
Name |
Occurs |
Description |
| IDENTIKITS |
1..1 |
Contains an <identikit> for each participant. |
| FLOORS |
1..1 |
Contains a <floor> for each active floor that is described by the FML instance. |
Top
3.1 Participants Information
element IDENTIKITS
| Description |
Stores participants' identikits. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| - |
- |
- |
- |
- |
| Elements |
Name |
Occurs |
Description |
| IDENTIKIT |
1..* |
An <identikit> for each participant. |
element IDENTIKIT
| Description |
A participant's identikit. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| ID |
ID |
required |
- |
Unique identifier. |
| NAME |
string |
required |
- |
Participant's name. |
| GENDER |
enum |
optional |
- |
Participant's gender. Values [male | female] |
| Elements |
Name |
Occurs |
Description |
| PERSONALITY |
0..1 |
Participant's personality. |
| RELATIONSHIPS |
0..1 |
Contains information about the participant's relationship levels with others. |
element PERSONALITY
| Description |
The participant's personality traits. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| EXTRAVERSION |
enum |
optional |
- |
Values [LOW | NEUTRAL | HIGH] |
| AGREEABLENESS |
enum |
optional |
- |
" |
| NEUROTICISM |
enum |
optional |
- |
" |
| CONSCIENTIOUSNESS |
enum |
optional |
- |
" |
| OPENNESS |
enum |
optional |
- |
" |
| Elements |
Name |
Occurs |
Description |
| - |
- |
- |
element RELATIONSHIPS
| Description |
The participant's relationship levels with other participants. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| - |
- |
- |
- |
- |
| Elements |
Name |
Occurs |
Description |
| RELATIONSHIP |
1..* |
A series of <relationship> elements. |
element RELATIONSHIP
| Description |
A participant's relationship level. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| LEVEL |
enum |
required |
- |
Relationship level. Values [STRANGER | ACQUAINTANCE | FRIEND] |
| WITH |
IDREF |
required |
- |
Reference to other participant's <identikit>. |
| Elements |
Name |
Occurs |
Description |
| - |
- |
- |
Top
3.2 Floors Information
element FLOORS
| Description |
Stores floors' information. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| - |
- |
- |
- |
- |
| Elements |
Name |
Occurs |
Description |
| FLOOR |
1..* |
A <floor> element for each active floor described in the instance. |
element FLOOR
| Description |
A floor's configuration. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| FLOOR-ID |
ID |
required |
- |
Unique identifier. |
| FLOOR-CFG |
enum |
required |
- |
Floor's configuration. Values [individual | unicast | broadcast | multicast] |
| Elements |
Name |
Occurs |
Description |
| PARTICIPANT |
1..* |
Participant's contextual information. |
element PARTICIPANT
| Description |
Participant's contextual information. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| IDENTIKIT-REF |
IDREF |
required |
- |
Reference to participant's identikit. |
| ENTITY |
enum |
required |
- |
Participant's entity type. Values [individual | group] |
| ROLE |
enum |
required |
- |
Participant's role. Values [speaker | addressed-hearer | unaddressed-hearer | eavesdropper | overhearer] |
| Elements |
Name |
Occurs |
Description |
| ATTITUDE |
0..* |
Participant's attitude towards others. |
element ATTITUDE
| Description |
A participant's attitude towards another participant. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| AFFILIATION |
enum |
required |
- |
Affiliation level. Values [HOSTILE | NEUTRAL | FRIENDLY] |
| STATUS |
enum |
required |
- |
Status level. Values [DOMINANT | NEUTRAL | SUBMISSIVE] |
| TOWARDS |
IDREF |
required |
- |
Reference to another participant's ID. |
| Elements |
Name |
Occurs |
Description |
| - |
- |
- |
Top
4. Body Section
element BODY
| Description |
Stores contextual information. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| - |
- |
- |
- |
- |
| Elements |
Name |
Occurs |
Description |
| INTERACTIONAL |
1..1 |
Contains interactional functions. |
| PERFORMATIVE |
1..1 |
Contains performative functions. |
| MENTAL-STATE |
1..1 |
Contains mental state and emotion functions. |
Top
4.1 Common Elements and Attributes
The functions featured in each track of the body section are organized in FML chunks and timed with relative temporal constraints.
Each track (interactional,performative or mental-state) can include zero or more occurrences of
<fml-chunk> elements.
Prior to describing all the FML elements relative to the functions that each track can host, we list the specifications for FML chunk and temporal constraint elements.
element FML-CHUNK
| Description |
FML chunk elements that can be included in the 3 body tracks. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| ACT-ID |
ID |
required |
- |
Unique identifier. |
| PARTICIPANT-REF |
IDREF |
required |
- |
Reference to participant's <identikit>. |
| Elements |
Name |
Occurs |
Description |
| TIMING |
0..1 |
Temporal constraint applied to the current chunk. |
| function element |
1..* |
Track specific functions. |
element TIMING
| Description |
Temporal constraint descriptor. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| PRIMITIVE |
enum |
required |
- |
The temporal constraint. Values [immediately | must_end_before | execute_anytime_during | start_immediately_after | start_sometime_after | start_together] |
| ACT-REF |
IDREF |
optional |
- |
Reference to another FML chunk when required by the timing primitive chosen. |
| Elements |
Name |
Occurs |
Description |
| - |
- |
- |
Top
4.2 Body Tracks
This section lists the function elements that are allowed in each separate body track. These elements have two common attributes that we describe here
and omit in the remainder of this document.
The two common attributes of function elements are:
- floorID:A reference to the floor in which the function described by the element is meant to be accomplished;
- ID:A unique identifier associated with the function.
Top
4.2.1 Interactional Track
element INITIATION
| Description |
Functions describing the initiation phase of interaction. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| TYPE |
enum |
required |
- |
The function type. Values [react | recognize | salute-distant | salute-close | initiate] |
| ADDRESSEE |
IDREF |
required |
- |
Reference to the addressee (i.e. PARTICIPANT-REF) of this function. |
| Elements |
Name |
Occurs |
Description |
| - |
- |
- |
element CLOSING
| Description |
Functions describing the closing phase of interaction. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| TYPE |
enum |
required |
- |
The function type. Values [break-away | farewell] |
| ADDRESSEE |
IDREF |
required |
- |
Reference to the addressee (i.e. PARTICIPANT-REF) of this function. |
| Elements |
Name |
Occurs |
Description |
| - |
- |
- |
element TURN-TAKING
| Description |
Functions describing turn taking. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| TYPE |
enum |
required |
- |
The function type. Values [take | give | keep | request | accept] |
| ADDRESSEE |
IDREF |
required |
- |
Reference to the addressee (i.e. PARTICIPANT-REF) of this function. |
| Elements |
Name |
Occurs |
Description |
| - |
- |
- |
element SPEECH-ACT
| Description |
Functions describing speech acts. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| TYPE |
enum |
required |
- |
The function type. Values [inform | ask | request] |
| Elements |
Name |
Occurs |
Description |
| - |
- |
- |
element GROUNDING
| Description |
Functions describing grounding. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| TYPE |
enum |
required |
- |
The function type. Values [request-ack | ack | repair | cancel] |
| Elements |
Name |
Occurs |
Description |
| - |
- |
- |
Top
Every FMLchunk in this track can include zero or more <performative-extension>
elements that currently encapsulate mixed content (i.e. open text or performative functions). This is a place holder for future extensions of the performative track, perhaps with more detailed
ad-hoc standard representation languages.
In the following description of the functions that a <performative-extension> can include,
we limit to suggests for possible type of functions.
element PERFORMATIVE-EXTENSION
| Description |
Functions describing grounding. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| ADDRESSEE |
IDREF |
optional |
- |
Reference to the addressee (i.e. PARTICIPANT-REF) of this function(s). |
| Elements |
Name |
Occurs |
Description |
| DISCOURSE-STRUCTURE |
0..* |
E.g.: topic, segment, etc... |
| RHETORICAL-STRUCTURE |
0..* |
E.g.: elaborate, summarize, clarify, contrast, emphasize, etc... |
| INFORMATION-STRUCTURE |
0..* |
E.g.: rheme, theme, given, new, etc... |
| PROPOSITION |
0..* |
E.g.: Any formal notation (e.g. "own(A,B)"). |
Top
4.2.3 Mental State Track
element COGNITIVE-PROCESS
| Description |
A participant's cognitive process. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| WEIGHT-FACTOR |
decimal |
required |
- |
Weight of the cognitive process specified by the type attribute in the range [0..1]. |
| TYPE |
enum |
required |
- |
The type of cognitive process. Values [think | remember | infer | decide | idle] |
| Elements |
Name |
Occurs |
Description |
| - |
- |
- |
element EMOTION
| Description |
A participant's emotion. |
| Attributes |
Name |
Type |
Use |
Default |
Description |
| WEIGHT-FACTOR |
decimal |
required |
- |
Weight of the emotion specified by the type attribute in the range [0..1]. |
| TYPE |
enum |
required |
- |
The type of emotion. Values [anger | disgust | embarrassment | fear | happiness | sadness | surprise | shame] |
| REGULATION |
enum |
optional |
- |
The regulation of the emotion. Values [felt | fake | inhibit] |
| INTENSITY |
decimal |
optional |
0.5 |
The intensity of the emotion in the range [0..1]. |
| Elements |
Name |
Occurs |
Description |
| - |
- |
- |