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:

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

4.2.2 Performative Track

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