problem

2 views
Skip to first unread message

Arda Goknil

unread,
Oct 31, 2007, 10:18:19 AM10/31/07
to tef...@googlegroups.com
Hi,
I have a transformation code written in Tefkat.
 
Rule AgentServiceInteraction
FORALL Agent ag1 {
    type: "Semantic Web Agent";
    plays: Role role1 {
           type: "Domain Role";
    };
    applies: Plan pln {
           type: "Semantic Service Executor Plan";
    }; 
  },
 
  Agent ag2 {
    type: "Semantic Service Matchmaker Agent";
    plays: Role role2 {
          type: "Registry Role";
    };
    applies: Plan pln;
  }

 },
 
MAKE JClass agJ1 FROM op1(ag1) {
      name: ag1.type;
      associatedClass: plnJ1;
      associatedClass: plnJ2;
  },
  JClass plnJ1 FROM op2(pln) {
      name: join("_", pln.name, pln.type);
  },
  JClass plnJ2 FROM op2(pln) {
      name: join("_", pln.name, "Semantic Helper Plan");
  },
  JClass agJ2 FROM op2(pln) {
      associatedClass: plnJ1;
      associatedClass: plnJ2;
  };
;
 
In this rule I want to match one Sementic Web Agent and one Semantic Service Matchmaker Agent which reference the same Plan instances (Semantic Service Executor Class). I am not sure the code line (applies: Plan pln) in "Agent ag1" and the code line (applies: Plan pln) in "Agent ag2" matche the same Plan instances. Is it possible to match the Plan instances for Semantic Service Matchmaker Agent which do not reference to Semantic Web Agent?
Regards,
 
Arda

David

unread,
Nov 1, 2007, 4:01:51 AM11/1/07
to Tefkat
Hi Arda,

You are right; as written, this rule will match (Semantic Web and
Semantic Service Executor) Agents, ag1 and ag2, whose "applies"
features reference a common Plan, pln, which is what you want.

If you want to match the other plans of ag2 that are not referred to
by ag1, then you could use:

RULE AgentServiceInteraction
FORALL Agent ag1 { ... },
Agent ag2 { ... }
WHERE ag2.applies = otherPlan AND NOT (ag1.applies = otherPlan)
MAKE ...
;

However, I'm not completely sure what you mean by "the Plan instances


for Semantic Service Matchmaker Agent which do not reference to

Semantic Web Agent". Do you mean:
* Plan instances of the particular Semantic Service Matchmaker Agent
(ag2) that are not referred to by the particular Semantic Web Agent
(ag1), or
* Plan instances of the particular Semantic Service Matchmaker Agent
(ag2) that are not referred to by any Semantic Web Agent, or
* Plan instances of any Semantic Service Matchmaker Agent that are not
referred to by the particular Semantic Web Agent (ag1), or
* Plan instances of any Semantic Service Matchmaker Agent that are not
referred to by any Semantic Web Agent ?
All of these options are possible.

hope that helps,

-David

ardag...@gmail.com

unread,
Nov 4, 2007, 12:33:45 PM11/4/07
to Tefkat
Hi David,
Thank you. That helps a lot.

Arda

> > Arda- Hide quoted text -
>
> - Show quoted text -

Reply all
Reply to author
Forward
0 new messages