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 |
- |
- |
- |