design plan of the communication language

From: Shuji Morita (morita@octopus.cs.kobe-u.ac.jp)
Date: Sun 10 Dec 2000 - 18:48:46 GMT


hi

This is the design plan of the communication language between the
agents.

Shuji Morita
Kobe University
morita@octopus.cs.kobe-u.ac.jp

----
Contents

1 Scope 2 The classification of the conversation 3 The outline of FIPA ACL 3.1 The expression which transmits information 3.2 The expression of the question of the truth 3.3 The expression of the question of the reference 3.4 The expression of the order 4 The outline of SL 4.1 The grammar of SL 5 The design of the language 5.1 Grammar 5.2 Addition AtomicFomula 5.3 Component 5.4 Example 6 Reference literature

1 Scope The purpose of this sentence is to express the conversation of the inhabitant in the disaster with the outline of FIP ACL and SL.

2 The classification of the conversation The conversation which an inhabitant talks about can be classified as follows.

The conversation of transmitting information

The conversation that truth is asked to it

The conversation which it is referred to for

The conversation of the order

Though there is a conversation which doesn't apply to the upper classification, it is limited at the time of the disaster, and it applies to this classification mostly by the actual conversation.

3 The outline of FIPA ACL This classified conversation can be expressed as follows with FIPA ACL.

3.1 The expression which transmits information

An agent i transmits a proposition A to the agent j.There is the following thing in the communicative act of FIPA ACL in this case.

inform confirm disconfirm

This expression becomes the following when a communication act is inform.

(inform :sender i :receiver j :content A )

3.2 The expression of the question of the truth An agent i asks an agent j the truth of the proposition A.There is the following thing in the communication act of FIPA ACL in this case.

query-if

This expression becomes the following.

(query-if :sender i :receiver j :content A )

It answers as follows if a proposition A is truth.

(inform :sender i :receiver j :content A )

It answers as follows if a proposition A is truth.

(inform :sender i :receiver j :content (not A) )

3.3 The expression of the question of the reference "Where is the house of S?" It thinks in the question.This is expressed temporarily with (home-position S T).It is expressed as follows with SL in the place of the house of S.

(itoa ?x (home-position S ?x))

The question of "Where is the house of S?" can be expressed by asking about this.There is the following thing in the communication act of FIPA ACL in this case. query-ref

This expression becomes the following.

(query-ref :sender i :receiver j :content (itoa ?x (home-position S ?X) )

This answer becomes the following.

(inform :sender i :receiver j :content (= (itoa ?x (home-position S ?X)) T ) )

Or, this answer becomes the following.

(inform :sender i :receiver j :content (home-position S T) ) )

3.4 The expression of the order A movement is expressed with ActionExpression, and the practice is required.There is the following thing in the communication act of FIPA ACL in this case.

request request-when reqwest-whenever

A proposition A is made the condition of the order.This expression becomes the following.

(request :sender i :receiver j :content ActionExpression )

(request-when :sender i :receiver j :content (ActionExpression A) )

(request-whenever :sender i :receiver j :content (ActionExpression A )

4 The outline of SL SL is the language to express content of FIPA ACL.

4.1 The grammar of SL Content = "(" ContentExpression+ ")".

ContentExpression = IdentifyingExpression | ActionExpression | Proposition.

Proposition = Wff.

Wff = AtomicFormula | "(" UnaryLogicalOp Wff ")" | "(" BinaryLogicalOp Wff Wff ")" | "(" Quantifier Variable Wff ")" | "(" ModalOp Agent Wff ")" | "(" ActionOp ActionExpression ")" | "(" ActionOp ActionExpression Wff ")".

UnaryLogicalOp = "not".

BinaryLogicalOp = "and" | "or" | "implies" | "equiv".

AtomicFormula = PropositionSymbol | "(" BinaryTermOp Term Term ")" | "(" PredicateSymbol Term+ ")" | "true" | "false".

BinaryTermOp = "=" | "\=" | ">" | ">=" | "<" | "=<" | "member" | "contains" | "result".

Quantifier = "forall" | "exists".

ModalOp = "B" | "U" | "PG" | "I".

ActionOp = "feasible" | "done".

Term = Variable | FunctionalTerm | ActionExpression | IdentifyingExpression | Constant | Sequence | Set.

IdentifyingExpression = "(" ReferentialOperator Term Wff ")".

ReferentialOperator = "iota" | "any" | "all". FunctionalTerm = "(" "cons" Term Term ")" | "(" "first" Term ")" | "(" "rest" Term ")" | "(" "nth" Term Term ")" | "(" "append" Term Term ")" | "(" "union" Term Term ")" | "(" "intersection" Term Term ")" | "(" "difference" Term Term ")" | "(" ArithmeticOp Term Term ")" | "(" FunctionSymbol Term* ")" | "(" FunctionSymbol Parameter* ")".

Constant = NumericalConstant | String | DateTime.

NumericalConstant = Integer | Float.

Variable = VariableIdentifier.

ActionExpression = "(" "action" Agent Term ")" | "(" "|" ActionExpression ActionExpression ")" | "(" ";" ActionExpression ActionExpression ")".

PropositionSymbol = String.

PredicateSymbol = String.

FunctionSymbol = String.

Agent = Term.

Sequence = "(" "sequence" Term* ")".

Set = "(" "set" Term* ")".

Parameter = ParameterName ParameterValue.

ParameterValue = Term.

ArithmeticOp = "+" | "-" | "*" | "/" | "%".

String = Word | StringLiteral.

Word = [~ "\0x00" - "\0x20", "(", ")", "#", "0" - "9", ":", "-", "?"] [~ "\0x00" - "\0x20", "(", ")"]*.

ParameterName = ":" String.

VariableIdentifier = "?" String.

Sign = [ "+" , "-" ].

Integer = Sign? DecimalLiteral+ | Sign? "0" ["x", "X"] HexLiteral+.

Dot = ".".

Float = Sign? FloatMantissa FloatExponent? | Sign? DecimalLiteral+ FloatExponent.

FloatMantissa = DecimalLiteral+ Dot DecimalLiteral* | DecimalLiteral* Dot DecimalLiteral+.

FloatExponent = Exponent Sign? DecimalLiteral+.

Exponent = ["e","E"].

DecimalLiteral = ["0" - "9"].

HexLiteral = ["0" - "9", "A" - "F", "a" - "f"].

StringLiteral = "\""( [~ "\""] | "\\\"" )*"\"".

DateTime = Year Month Day "T" Hour Minute Second MilliSecond TypeDesignator?.

Year = DecimalLiteral DecimalLiteral DecimalLiteral DecimalLiteral.

Month = DecimalLiteral DecimalLiteral.

Day = DecimalLiteral DecimalLiteral.

Hour = DecimalLiteral DecimalLiteral.

Minute = DecimalLiteral DecimalLiteral.

Second = DecimalLiteral DecimalLiteral.

MilliSecond = DecimalLiteral DecimalLiteral DecimalLiteral.

TypeDesignator = ["a" - "z", "A" - "Z"].

5 The design of the language AtomicFomula of SL is added so that it can express a conversation in the disaster.

5.1 Grammar AtomicFomula = "(" Property Object Value [Time] ")" | "(" ObjectRelation Object Object [Time] ")" | "(" EventRelation Wff Wff ")" | "(" "state" Object State ")" | "(" ConjectureOp Wff ")"

ActionExpression = "(" "action" Object Action ")"

Object = "(" ObjectKind DecimalLiteral ")" | "(" ObjectKind "t" DecimalLiteral ")" | "(" "set" Object* ")" | "(" Object Modify ")"

Modify = Wff

Value = Constant | "(" UnitWord Constant ")"

Time = "(" "time" DateTime [TimeOp]")" | "(" "time" TimeWord [TimeOp]")" | "(" "time" Duration ")" | "(" "time" Wff ")"

Duration = "(" "duration" Value ")"

ConjectureOp = "certainly" | "guess" | "hearsay" | "appearance" | "likeliness"

State = "(" StateName [ Source ] [ Goal ] [ Time ] [ Place ] [ Implement ] [ Manner ] [ Degree ] [ Frequency ] [ Obligation ] ")"

Action = "(" ActionName [ ActionObject ] [ Source ] [ Goal ] [ Time ] [ Place ] [ Implement ] [ Manner ] [ Degree ] [ Frequency ] [ Obligation ] ")"

ActionObject = "(" "object" Object ")" | "(" "object" ACLComunicativeAct ")"

Source = "(" "source" Object ")" | "(" "source" Place ")"

Goal = "(" "goal" Object ")" | "(" "goal" Place ")"

Place = "(" "Place" [PlaceOp] Object ")" | "(" "Place" "(" "position" X Y ")" | "(" "Place" Wff ")"

X = NumericalConstant Y = NumericalConstant

Implement = "(" "implement" Object ")"

0Manner = "(" "manner" MannerWord ")"

Degree = "(" "degree" Value ")" | "(" "degree" DegreeWord ")"

Frequency = "(" "frequency" Value ")" | "(" "frequency" FrequencyWord ")"

Obligation = "(" "obligation" ObligationOp ")"

ObligationOp = "must" | "should" | "necessity" | "inevitability" | "recommendation" | "permission"

5.2 Addition AtomicFomula

5.2.1 ( Property Object Value [Time] ) The construction that the characteristics of Object, size, width, a color, sex, the element which is the target which isn't strange comparatively are expressed.It has Property, Object, Value and Time as a component.Time can be omitted.It is put in this construction, and the following sentence fits.

The color of the building is red. The person is a man. The highest speed per hour of the car is 200km per hour. A P building is built seven floors.

5.2.2 ( ObjectRelation Object Object [Time] ) The construction that relations between Object and Object are described. It has ObjectRelation, Object, Object and Time as a component. Time can be omitted.It is put in this construction, and the following sentence fits.

i is father of j. i and j were friends. This building is mine. The neighbor of the hospital is school. That road is connected with this road.

5.2.3 ( "state" Object State ) It consists of Object and State as a component.The construction that the condition of Object is described.It is put in this construction, and the following sentence fits.

I was in the hospital at 10 o'clock. He has severe injury. My house burns. A person is buried with this building. All the buildings of the A area collapsed.

5.2.4 ( EventRelation Wff Wff ) The construction that relations between the sentence and the sentence are described.It has EventRelation, Wff and Wff as a component.It is put in this construction, and the following sentence fits.

Because he got hurt, he told a hospital. If a house burns, I go to the refuge.

5.2.5 ( ConjectureOp Wff ) The construction that the sentence of the guess is expressed. It has ConjectureOp and Wff as a component.The kind of the guess is specified with ConjectureOp.

5.2.5.1 ConjectureOp = "expected" It means an expected guess.It is put in this construction, and the following sentence fits.

He must be safe. This must be safe. He is supposed to be all right.

5.2.5.2 ConjectureOp = "guess" It means a guess.It is put in this construction, and the following sentence fits. That building is probably fire. That way will be blocked.

5.2.5.3 ConjectureOp = "hearsay" It means a hearsay.It is put in this construction, and the following sentence fits.

It is said that he is not here. It is said that he is sick.

5.2.5.4 ConjectureOp = "appearance" It is put in this construction, and the following sentence fits.

It seems that he is severe illness. This car seems to break.

5.2.5.5 ConjectureOp = "likeliness" It is put in this construction, and the following sentence fits.

Fire may spread out here. An expressway may crumble.

5.3 Component

5.3.1 Object Object is the component of the world.When it says concretely, a person, a building, a road point at the simple substance of the thing or a meeting.There is the following method as the way of expressing Object.

5.3.1.1 ID expression The kind of Object is specified and expressed with ID assigned to Object.

(Example) The building where ID is p The way where ID is q

5.3.1.2 Pronoun expression The thing that ID isn't understood in the moment is expressed by the kind of Object and temporary ID (to put "T" in front of ID to distinguish it from the expression with 5.3.1.1). (Example) A person is hurt.

(state (agent T 0) (injury))

The way where ID is q

5.3.1.3 modification expression A red building A.The car which my father owns.Object that it is modified like this is expressed by the form of (Object Modify).

(Example) A red building p is the house of i.

(own (agent i) ((building p) (color * red)))

Like this, a part to limit is described with "*".This is the same as the following.

(and (own (agenti) (building p)) (color (agent p) red))

5.3.1.4 Plural expression Plural Object is expressed.

(Example) i and j were said to the hospital p.

(done (action (set (agent i) (agent j)) (move (goal ((building p) (type hospital))))))

5.3.2 Value

5.3.2.1 Constant expression It is expressed with the numerical value or the word.

(Example) 100, 0x045, red, hospital

5.3.2.2 Unit expression A unit is given to the numerical value and expressed.

(Example) (meter 5) (yen 8)

5.3.3 Time

5.3.3.1 Date It is expressed with the date.The expression of the progress of the time is added with TimeOp.

5.3.3.2 The word of the time It is expressed with the word which expresses time, now and past, and so on. The expression of the progress of the time is added with TimeOp.

5.3.3.3 The expression of the amount of time.

(Example) Five hours (time (duration (hour 5))) Three days (time (duration (day 3)))

5.3.3.4. The expression of the sentence (Example) When i got hurt.

(time (state (agent i) (injury)))

When the house of i is fire.

(time (state ((building T 0) (own (agent i) *)) (fire)))

5.3.4 State It is the component to express state.It has Source, Goal, Space, Implement, Manner and Frequency as an argument.All arguments can be omitted.It has the possibility that meaning becomes imperfect by omitting it.

5.3.5 Action It is the component to express action.It has ActionObject, Source, Goal, Space, Implement, Manner and Frequency as an argument.All arguments can be omitted.It has the possibility that meaning becomes imperfect by omitting it.

5.3.6 ActionObject The object of the action is expressed.Object or ACLCommunicativeAct is made a component.

(Example) When it has Object as a component. j was treated with i.

(done (action (agent i) (treat (object (agent j)))))

When it has ACLCommunicativeAct as a component. i said "A building p burns." to j.

(done (action (agent i) (say (object (inform :sender i :receiver j :content (state (building p) (fire)))))))

5.3.7 Source The start point of the change. It has Object or Place as a component. (Example) When it has Object as a component. i bought a car from j.

(done (action (agent i) (buy (goal (agent j)))))

When it has Space as a component. i was moved from the building p.

(done (action (agent i) (move (goal (place (building p))))))

5.3.8 Goal The end of the change. It has Object or Place as a component.

(Example) When it has Object as a component. i bought j a car.

(done (action (agent i) (buy (goal (agent j)))))

When it has Place as a component. i was moved to the building p.

(done (action (agent i) (move (goal (place ())))))

5.3.9 Place The place where a movement is done. Or, a place to be state.

5.3.9.1 The expression of Object A place is expressed with Object.The one related to the position with Object is expressed with PlaceOp.PlaceOp can be omitted.

(Example)

In the building p (place in (building p)) On the road q (place on (road q))

5.3.9.2 The expression of a degree of particulars A position is expressed by the X coordinate, the Y coordinate.

(Example) X coordinate 10, Y coordinate 40

(place (position 10 40))

5.3.9.3 The expression of the sentence. (Example) where there is i

(place (state (agent i) (be)))

where i extinguished the fire

(place (done (action (agent i) (extinguish))))

5.3.10 Implement The thing used when a movement was done is expressed. (Example) i was moved by car to school.

(done (action (agent i) (move (goal ((building T 0) (type * school))) implement (car T 1))))

5.3.11 Manner The aspect of the movement and the aspect of the condition are expressed. (Example) A building p crumbled suddenly.

(state (building p) (collapse (manner suddenly)))

5.3.12 Degree

5.3.12.1 The expression of Value (Example) i was moved 5km.

(done (action (agent i) (move (degree (kilometer 5)))))

5.3.12.2 The expression of DegreeWord (Example) A building p burns violently.

(state (building p) (fire (degree hard)))

5.3.13 Frequency

5.3.13.1 The expression of Value (Example) i was said twice.

(done (action (agent i) (say (frequency (time 2)))))

5.3.13.2 The expression of DegreeWord (Example) i often gets hurt.

(state (agent i) (injury (frequency often)))

5.4 Example An agent i tells an agent j in all the sentences.

(1) Call a rescue team (request :sender i :receiver j :content (action (agent j) (call ((agent T 0) (job * ambulance-team)))) :language sl )

(2) Carry me to the p hospital. (request :sender i :receiver j :content (action (agent j) (carry (object (agent i)) (goal ((building p) (type hospital))))) :language sl )

(3)It remove rubble at me (request :sender i :receiver j :content (action (agent j) (remove (object rubble) (place on (agent i)))) :language sl )

(4) Help me. (request :sender i :receiver j :content (action (agent j) (help)) :language sl )

(5) Treatment me. (request :sender i :receiver j :content (action (agent j) (treatment (object (agent i)))) :language sl )

(6) Go to the refuge (request :sender i :receiver j :content (action (agent j) (move (goal ((building T 0) (type * refuge))))) :language sl )

(7) Carry A to the hospital. (request :sender i :receiver j :content (action (agent j) (carry (object A) (goal ((building 0) (type * hospital))))) :language sl )

(8) Extinguish fire of my house. (request :sender i :receiver j :content (action (agen j) (extinguish ((building T 0) (own (agent i) *)))) :language sl )

(9) Transmit that I am safe to A. (request :sender i :receiver j :content (action (agent j) (say (object (inform :sender j :receiver a :content (state (agent i) (safety)) :language sl)))) :language sl )

(10) I am to transmit that you are in the refuge p if going to A. (request-when :sender i :receiver j :content ((action (agent j) (say (object (inform :sender j :receiver a :content (state i (be (place ((building p) (type * refuge))))) :language sl)))) (state ((agent j) (meet (goal (agent a))))) )

(11) It can be done to me with the telephone if seeing a son. (request-when :sender i :receiver j :content ((action (agent j) (tell (object (inform :sender j :receiver a :content (done (action (agent j) (look (object ((agent T 0) (son (agent i) *))))))) :language sl)))) (done (action (agent j) (look (object ((agent T 0) (son (agent i) *))))))) )

(12) Run away if seeing household chores. (request-whenever :sender i :receiver j :content ((action (agent j) (escape)) (done (action (agent j) (look (object ((building T 0) (state * (fire)))))))) )

(13) My house burns. (inform :sender i :receiver j :content (state (building T 0) own((agent i) *)) (fire)) )

(14) The right building of p burns. (inform :sender i :receiver j :content (state (building T 0) right(building p) *)) (fire)) )

(15) I am in the p hospital now. (inform :sender i :receiver j :content (state (agent i) (be (place (building p) (type * hospital)) (time now))) )

(16) A person may be buried with the building. (inform :sender i :receiver j :content (likeliness (state (agent T 0) (buried (placuilding T 0))))) )

(17) A must be in school now (inform :sender i :receiver j :content (certainly (state (agent A) (be (place ((building T 0) (type * school))) (time now)))))) )

6 Reference literature

FIPA HOME http://www.fipa.org/

Agent Communication Language Specification http://www.fipa.org/specs/fipa00003/

FIPA SL Content Language Specification http://www.fipa.org/specs/fipa00008/



This archive was generated by hypermail 2.1.4 : Sun 22 Sep 2002 - 18:52:57 GMT