SlideShare a Scribd company logo
From	
  Means-­‐End	
  Analysis	
  to	
  
Proac5ve	
  Means-­‐End	
  Reasoning	
  
Luca	
  Sabatucci	
  and	
  Massimo	
  Cossen5no	
  
SEAMS	
  2015,	
  Florence,	
  May	
  18-­‐19	
  	
  
The	
  Vision	
  
service
provider
MUSA RUNNING SYSTEM
GOALS
user analyst
ACTIVE GOALS
CAPABILITIES
dev team
TASKS
REAL SERVICES
goal injection
capability
deploy and
maintenance
service
provider
service
provider
bridge
WHAT HOW
POD
ontology
commitment
ontology
commitment
Goal	
  Oriented	
  Requirements	
  
•  A	
  goal	
  is	
  a	
  state	
  of	
  affair	
  that	
  an	
  actor	
  wants	
  
to	
  achieve	
  
1 2 n
(1)
t believes all facts
) sj 62 Wt
t
) si 62 Wt (2)
nt subset of facts
everything that is
alse. An example
r instance the set
ate of world since
ion.
ration at time t.
a logic formula
h the standard set
on may be tested
unification.
ineering methods
state of affair that
Definition 3 (Goal Model). A goal model is a directed
graph, (G,R) where G is a set of goals (nodes) and R is
the set of Refinement and Influence relationships (edges). In
a goal model there is exactly one root goal, and there are no
refinement cycles.
Figure 2 is the partial goal model, represented with the i*
notation, for the meeting scheduling case study. This example,
redesigned from [15], includes functional (hard) goals only,
and AND/OR refinements. The root goal is to provide meeting
scheduling services that is decomposed in schedule meet-
ings, send reminders, cancel meetings and running a website.
Therefore meetings are scheduled by collecting participant
timetables, choosing a schedule and choosing a location. Such
a model is useful for analysts to explore alternative ways for
fulfilling the root goal.
OR
To Call
Participants
To Check
Calendars
To Mail
Participants
AND
To Provide
Meeting
Scheduling
To
Schedule
Meetings
To Sent
Reminders
To Cancel
Meetings
To Run
Website
AND
To Collect
Timetables
To
Choose
Schedule
To
Choose
Location
[…] […]
[…] […]
[…]
Fig. 2. Portion of Goal Model taken from [15] for the Meeting Scheduling
case study. For reasons of space, the tree has been truncated (with respect to
the original one) where the symbol [...] appears.
C. Capability Definition
In many goal-oriented approaches, a Task is the operational-
ization of a Goal. This means that each task, in a goal model,
GOAL	
  MODEL	
  
To Mail
Participants
Mail
Questio
nnaire
Sender
MEANS-­‐END	
  ANALYSIS	
  
The	
  State	
  of	
  the	
  World	
  
•  A	
  state	
  of	
  the	
  world	
  (Wt)	
  is	
  a	
  dynamic	
  object	
  
that	
  describes	
  the	
  current	
  “state	
  of	
  affair”	
  
– or	
  beXer:	
  what	
  the	
  system	
  knows	
  about	
  
•  We	
  implement	
  Wt	
  by	
  employing	
  a	
  set	
  of	
  
seman5cally	
  coherent	
  first	
  order	
  logic	
  facts.	
  
•  Wt	
  describes	
  a	
  closed-­‐world	
  in	
  which	
  
everything	
  is	
  not	
  explicitly	
  declared	
  is	
  
assumed	
  to	
  be	
  false.	
  
Opera5ve	
  Implementa5on	
  of	
  Goal	
  
•  Goal's	
  TC	
  is	
  the	
  Condi5on	
  that	
  must	
  hold	
  in	
  Wt	
  in	
  order	
  the	
  agent	
  
can	
  ac5vely	
  pursue	
  that	
  goal.	
  
•  Goal's	
  FS	
  is	
  the	
  Condi5on	
  that	
  must	
  hold	
  in	
  Wt	
  in	
  order	
  the	
  goal	
  can	
  
be	
  marked	
  as	
  addressed.	
  
•  GOALSpec	
  is	
  a	
  language	
  conceived	
  to	
  inject	
  goal	
  specifica5ons	
  in	
  a	
  
human-­‐friendly	
  format	
  
GOAL LIFECYCLE
Injected ActiveReadycommit
FS=true
FS=false
TC=true
state failurecommitment failure
[maintain-goal]
[achieve-goal]
Addressed
goal retreat
goal injection
GOAL
SUBJECT
TRIGGER
CONDITION
FINAL
STATE
EVENT STATE OF
THE WORLD
wants
is active when
is addressed
when
generated by composed of
Fig. 7. The Core Metamodel of the Goal Specification Language.
a Trigger Condition and a Final State. The subject is a noun
that describes the name of the involved person, role or group
of persons that owns the responsibility to address the goal. The
trigger condition is an event that must occur in order to start
acting for addressing the goal. The final state is the desired
state of the world that must be addressed.
It is worth underlining that both Trigger Conditions and
Final States must be expressed by using a State of the World,
that in turn is expressed through domain ontology predicates.
For a complete specification of the syntax of GoalSPEC
see [32]. Some examples of GoalSPEC productions for the
domain of the Meeting Scheduling are listed below:
1) WHEN schedule(Usr,Meeting) THE system SHALL
PRODUCE canceled(Meeting) OR confirmed(Meeting)
2) WHEN pending(Meeting) AND meeting datetime(DT) AND
attendee(Meeting,A) THE system SHALL PRODUCE
is able to achieve a goal by doing an action if i) the agen
knows what the action is and ii) knows that doing the action
would result in the goal being satisfied [21]. This topic ha
become even more current because the amount of service
deployed in the web is exponentially growing and researcher
are looking for ways for automatically searching, selecting and
composing them [35].
We use Capability as an internal representation of an atomi
unit of work that a software agent may use for addressing
changes in the state of the world. A Capability is made o
two components: an abstract description (a set of beliefs tha
makes an agent aware of owning the capability and able to
reason on its use), and a concrete body implementation (a se
of plans for executing the job).
Whereas we define a template for providing the abstrac
description of a capability, we do not provide any language fo
the body, leaving the choice of the specific technology to th
developer. The proposed template (Table I) is a refinement o
that presented in [35] for LARKS (language for advertisemen
and request for knowledge sharing).
TABLE I
TEMPLATE FOR DOCUMENTING A CAPABILITY DESCRIPTION.
Name Unique label used to refer to the capability
InputParams Definition of the input variables necessary for
the execution.
OutputParams Definition of the output variables produced by
the execution.
Constraints Optional (logical or structural) constraints on
input/output variables.
Pre-Condition Condition that must hold in the current state of
GOAL
SUBJECT
TRIGGER
CONDITION
FINAL
STATE
EVENT STATE OF
THE WORLD
wants
is active when
is addressed
when
generated by composed of
Fig. 7. The Core Metamodel of the Goal Specification Language.
a Trigger Condition and a Final State. The subject is a noun
that describes the name of the involved person, role or group
of persons that owns the responsibility to address the goal. The
trigger condition is an event that must occur in order to start
acting for addressing the goal. The final state is the desired
state of the world that must be addressed.
It is worth underlining that both Trigger Conditions and
Final States must be expressed by using a State of the World,
that in turn is expressed through domain ontology predicates.
For a complete specification of the syntax of GoalSPEC
see [32]. Some examples of GoalSPEC productions for the
domain of the Meeting Scheduling are listed below:
1) WHEN schedule(Usr,Meeting) THE system SHALL
PRODUCE canceled(Meeting) OR confirmed(Meeting)
2) WHEN pending(Meeting) AND meeting datetime(DT) AND
attendee(Meeting,A) THE system SHALL PRODUCE
notified(A,Meeting,DT)
3) AFTER 2 days SINCE WHEN notified(Usr,Meeting,DT)
is able to
knows wha
would resu
become ev
deployed i
are looking
composing
We use C
unit of wo
changes in
two compo
makes an
reason on
of plans fo
Whereas
description
the body, l
developer.
that presen
and reques
TEMPL
Name
InputPara
OutputPa
Constrain
Pre-Cond
Post-Con
USER-­‐GOAL_01	
   USER-­‐GOAL_02	
  
AI-­‐Style	
  CAPABILITIES	
  
•  The	
  system	
  owns	
  a	
  set	
  of	
  capabili5es,	
  i.e.	
  atomic	
  
and	
  self-­‐contained	
  ac5ons	
  
•  The	
  effect	
  of	
  a	
  capability	
  is	
  an	
  endogenous	
  
evolu5on	
  of	
  Wt	
  	
  
•  The	
  system	
  is	
  aware	
  of	
  its	
  capabili5es	
  
•  and	
  it	
  is	
  aware	
  of	
  ‘when’	
  and	
  ‘how’	
  to	
  use	
  a	
  
capability	
  in	
  order	
  to	
  address	
  a	
  desired	
  result	
  TABLE II
ABSTRACT SPECIFICATION OF THE PROPOSAL MAIL SENDER CAPABILITY.
Name PROPOSAL MAIL SENDER
InputParams QUESTION : TEXT,
RESPONSEID: STRING
USERMAIL : STRING
OutputParams NONE
Constraints format(UserMail,
RFC 5322 Address Specification)
Pre-Condition email(Usr, UserMail)
Post-Condition notified(Question, Usr)
Evolution evo = {add(notified(Msg, Usr)),
add(mailed(UserMail, Question))
add(questioned(Usr, ResponseId))}
TABLE III
TABLE IV
ABSTRACT SPECIFICATION OF THE GOOGLE CALENDAR CHECK
CAPABILITY.
Name GOOGLE CALENDAR CHECK
InputParams SLOT : TIMESLOT, USERCALENDAR : CAL-
ENDAR
OutputParams RESPONSEARRAY : ARRAYOF(
SLOT(USR,{free | busy}))
Constraints format(Slot,
slot(dt(year, month, day, hour, minute),
dt(year, month, day, hour, minute)))
Pre-Condition calendar(Usr, UserCalendar)
Post-Condition free(Usr, Timeslot)_
busy(Usr, Timeslot)
Evolution evo = {add(notified(Msg, Usr)),
add(free(Usr, Timeslot))
add(busy(Usr, Timeslot))}
ABSTRACT	
  DESCRIPTION	
  	
  
OF	
  A	
  CAPABILITY	
  
Bridging	
  WHAT	
  and	
  HOW	
  
user analyst dev team
CALENDAR
goal injection capability
deploy and
maintenance
bridge
WHAT (goal spec)
HOW (capabilities)WHEN pending(Meeting)
AND meeting datetime(DT)
AND attendee(Meeting,A)
THE system SHALL
PRODUCE
notified(A,Meeting,DT)
PROPOSAL MAIL SENDER
COLLECT_MAIL_RESPONSES
GOOGLE_CALENDAR_CHECK
MAILER
OR
To Call
Participants
To Check
Calendars
To Mail
Participants
AND
To Provide
Meeting
Scheduling
To
Schedule
Meetings
To Sent
Reminders
To Cancel
Meetings
To Run
Website
AND
To Collect
Timetables
To
Choose
Schedule
To
Choose
Location
[…] […]
[…] […]
[…]
MUSA RUNNING
SYSTEM
google
The	
  PROACTIVE	
  MEANS-­‐END	
  REASONING	
  	
  
is	
  the	
  problem	
  of	
  	
  
finding	
  the	
  minimal	
  set	
  of	
  capabili5es	
  (called	
  PMR	
  
Solu5on)	
  that	
  can	
  fully	
  address	
  a	
  goal	
  model,	
  given	
  the	
  
current	
  Wt.	
  	
  
The	
  PMR	
  Solu5on	
  
•  The	
  Proac5ve	
  Means-­‐End	
  Reasoning	
  is	
  different	
  
from	
  
–  A	
  scheduling	
  problem:	
  it	
  does	
  not	
  require	
  an	
  exact	
  
5ming	
  of	
  the	
  ac5vi5es	
  
–  A	
  planning	
  problem:	
  it	
  does	
  not	
  require	
  to	
  create	
  a	
  
plan	
  for	
  execu5ng	
  the	
  ac5vi5es	
  
•  The	
  system	
  will	
  contextually	
  evaluate	
  which	
  
capability	
  to	
  use,	
  when,	
  and	
  how.	
  
–  The	
  same	
  capability	
  in	
  the	
  PMR_Solu5on	
  will	
  
eventually	
  used	
  0..n	
  5mes	
  
The	
  proposed	
  algorithm	
  
•  It	
  is	
  based	
  on	
  the	
  ability	
  to	
  discover	
  if	
  a	
  
capability	
  can	
  be	
  used	
  for	
  addressing	
  a	
  goal	
  
(or	
  contribu5ng	
  to)	
  
•  The	
  principle	
  is	
  that	
  of	
  matching	
  Goal’s	
  TC/FS	
  
and	
  Capability’s	
  Pre/Post/Evolu5on	
  	
  
•  This	
  is	
  possible	
  if	
  goals	
  and	
  capabili5es	
  share	
  
– The	
  same	
  formalism	
  
– The	
  same	
  background	
  ontology	
  
The	
  State	
  of	
  World	
  as	
  	
  
Common	
  Formalism	
  
GOAL
SUBJECT
TRIGGER
CONDITION
FINAL
STATE
CONDITION
STATE OF
THE WORLD
wants
is active when
is addressed
when
CAPABILITY
is executable when
is correctly executed
when
PRE
CONDITION
POST
CONDITION
EVOLUTION
to test over
generates
modifies
The	
  Ontology	
  as	
  	
  
Common	
  Background	
  
usrmsg
Meeting
<<position>>
Attendee
<<position>>
Initiator
Calendar
Timeslot
<<predicate>>
Confirmed
<<predicate>>
Canceled
<<predicate>>
Pending
<<action>>
Schedule
<<action>>
Accepted
<<action>>
Rejected
<<predicate>>
MinAttendees
Meeting
DateTime
<<predicate>>
Notified
<<position>>
User
is-a
is-a
Contact Info
Email Skype Id
<<predicate>>
Busy
ISO 8601
DateTime
is-a
is-a is-a
<<predicate>>
Free
Common	
  Background	
  (II)	
  
usrmsg
Meeting
<<position>>
Attendee
<<position>>
Initiator
Calendar
Timeslot
<<predicate>>
Confirmed
<<predicate>>
Canceled
<<predicate>>
Pending
<<action>>
Schedule
<<action>>
Accepted
<<action>>
Rejected
<<predicate>>
MinAttendees
Meeting
DateTime
<<predicate>>
Notified
<<position>>
User
is-a
is-a
Contact Info
Email Skype Id
<<predicate>>
Busy
ISO 8601
DateTime
is-a
is-a is-a
<<predicate>>
Free
WHEN	
  pending(Mee5ng)	
  AND	
  mee5ng	
  date5me(DT)	
  AND	
  
aXendee(Mee5ng,A)	
  THE	
  system	
  SHALL	
  PRODUCE	
  
no5fied(Mee5ng,	
  A)	
  
USER-­‐GOAL_01	
  
TABLE II
ABSTRACT SPECIFICATION OF THE PROPOSAL MAIL SENDER CAPABILITY.
Name PROPOSAL MAIL SENDER
InputParams QUESTION : TEXT,
RESPONSEID: STRING
USERMAIL : STRING
OutputParams NONE
Constraints format(UserMail,
RFC 5322 Address Specification)
Pre-Condition email(Usr, UserMail)
Post-Condition notified(Question, Usr)
Evolution evo = {add(notified(Msg, Usr)),
add(mailed(UserMail, Question))
add(questioned(Usr, ResponseId))}
TABLE III
ABSTRAC
Name
InputParam
OutputPara
Constraints
Pre-Conditi
Post-Condi
Evolution
Planning-­‐Like	
  Space	
  Explora5on	
  
Name	
   Calendar_Timeslot_Check	
  
Pre-­‐condi5on	
   calendar(Usr,UserAccount)	
  
Post-­‐condi5on	
   free(Usr,TimeSlot)	
  OR	
  busy(Usr,TimeSlot)	
  
Evolu5on	
   evo={	
  add(verified_ts(Usr,TimeSlot))	
  }	
  
Name	
   Append_Mee7ng	
  
Pre-­‐condi5on	
   free(Usr,TimeSlot)	
  	
  
Post-­‐condi5on	
   busy(Usr,TimeSlot)	
  
Evolu5on	
   evo={	
  add(no5fied(Usr,Mee5ng))	
  }	
  
pending(meet_673)
meeting_datetime(dt(12,04,2015))
attendee(meet_673,luca)
calendar(luca,lucas76)
goal
fulfillment
WHEN%pending(Mee.ng)%AND%mee.ng%date.me(DT)%AND%
a6endee(Mee.ng,A)%THE%system%SHALL%PRODUCE%
no.fied(A,Mee.ng)%
USERCGOAL_01%
pending(meet_673)
meeting_datetime(dt(12,04,2015))
attendee(meet_673,luca)
verified_ts(luca,dt(12,04,2015))
CALENDAR
APPEND
MEETING
pending(meet_673)
meeting_datetime(dt(12,04,2015))
attendee(meet_673,luca)
verified_ts(luca,meet_673)
notified(luca,meet_673)
Space	
  Explora5on	
  (II)	
  
Name	
   Proposal	
  Mail	
  Sender	
  
Pre-­‐condi5on	
   email(Usr,MailAddress)	
  
Post-­‐condi5on	
   ques5oned(Usr,Mee5ng)	
  
Evolu5on	
   evo={	
  add(ques5oned(Usr,Mee5ng)	
  )	
  }	
  
Name	
   Collect	
  Mail	
  Response	
  
Pre-­‐condi5on	
   email(Usr,MailAddress)	
  
Post-­‐condi5on	
   accepted(Usr,Mee5ng)	
  OR	
  
rejected(Usr,Mee5ng)	
  	
  
Evolu5on	
   evo={	
  add(no5fied(Usr,Mee5ng)	
  )	
  }	
  
pending(meet_673)
meeting_datetime(dt(12,04,2015))
attendee(meet_673,john)
calendar(john, john.castel)
email(john, john@gmail.com)
WHEN%pending(Mee.ng)%AND%mee.ng%date.me(DT)%AND%
a6endee(Mee.ng,A)%THE%system%SHALL%PRODUCE%
no.fied(A,Mee.ng)%
USERCGOAL_01%
pending(meet_673)
meeting_datetime(dt(12,04,2015))
attendee(meet_673,john)
calendar(john, john.castel)
email(john, john@gmail.com)
verified_ts(john,dt(12,04,2015))
CALENDAR
APPEND
MEETING
APPEND
MEETING
pending(meet_673)
meeting_datetime(dt(12,04,2015))
attendee(meet_673,john)
calendar(john, john.castel)
email(john, john@gmail.com)
verified_ts(john,dt(12,04,2015))
notified(john,meet_673)
pending(meet_673)
meeting_datetime(dt(12,04,2015))
attendee(meet_673,john)
calendar(john, john.castel)
email(john, john@gmail.com)
questioned(john,meet_673,dt(12,04,2015))
PROPOSAL
MAIL SENDER
pending(meet_673)
meeting_datetime(dt(12,04,2015))
attendee(meet_673,john)
calendar(john, john.castel)
email(john, john@gmail.com)
questioned(john,meet_673,dt(12,04,2015))
notified(john,meet_673)
COLLECT MAIL
RESPONSE
Final	
  Remarks	
  –	
  Self	
  Adapta5on	
  
•  Self	
  Adapta5on	
  is	
  the	
  result	
  of	
  a	
  loop	
  in	
  which	
  
the	
  Proac5ve	
  Means-­‐End	
  Reasoning	
  is	
  executed	
  
every	
  5me	
  (with	
  different	
  WI)	
  
– New	
  goal-­‐model	
  is	
  injected	
  
– An	
  exis5ng	
  goal	
  changes	
  
– A	
  capability	
  fails:	
  	
  
•  sokware	
  failure	
  and	
  excep5ons	
  
•  the	
  generated	
  W	
  is	
  different	
  from	
  the	
  expected	
  one	
  
•  the	
  connected	
  resource	
  is	
  no	
  more	
  available	
  
– New	
  capability	
  is	
  injected	
  
monitor
goal injection
proactive
means-end
reasoning
goal
commitment
environment
monitoring
capability
execution
failure
unexpected
state
Future	
  Works	
  
•  The	
  planning	
  algorithm	
  is	
  inefficient	
  
–  In	
  some	
  circumstances	
  it	
  requires	
  an	
  exponen5al	
  5me	
  to	
  
complete.	
  
–  We	
  are	
  planning	
  to	
  explore	
  many	
  strategies	
  for	
  improving	
  it	
  
•  SAT	
  solvers,	
  op5mized	
  planning	
  and	
  case	
  base	
  reasoning	
  
•  Scalability	
  is	
  limited	
  	
  
–  We	
  are	
  studying	
  a	
  beXer	
  integra5on	
  with	
  a	
  Cloud	
  architecture	
  
(Open-­‐Stack)	
  
•  To	
  date	
  the	
  use	
  of	
  a	
  sta5c	
  ontology	
  enables	
  the	
  agent's	
  	
  
–  it	
  is	
  also	
  a	
  limit	
  when	
  capabili5es/goals	
  evolve	
  one	
  independently	
  
from	
  the	
  others.	
  	
  
–  In	
  order	
  to	
  enable	
  distributed	
  development-­‐teams,	
  we	
  are	
  
integra5ng	
  linguis5c	
  techniques	
  for	
  dealing	
  with	
  
•  conceptual	
  ambigui5es	
  and	
  linguis5cs	
  flaws,	
  similari5es	
  and	
  synonyms.	
  
Ques5ons?	
  
sabatucci@pa.icar.cnr.it	
  
hXps://github.com/icar-­‐aose/MUSA	
  

More Related Content

What's hot

A review of automatic differentiationand its efficient implementation
A review of automatic differentiationand its efficient implementationA review of automatic differentiationand its efficient implementation
A review of automatic differentiationand its efficient implementation
ssuserfa7e73
 

What's hot (6)

Oop(object oriented programming)
Oop(object oriented programming)Oop(object oriented programming)
Oop(object oriented programming)
 
Certified global minima
Certified global minimaCertified global minima
Certified global minima
 
A review of automatic differentiationand its efficient implementation
A review of automatic differentiationand its efficient implementationA review of automatic differentiationand its efficient implementation
A review of automatic differentiationand its efficient implementation
 
State Representation Learning for control: an overview
State Representation Learning for control: an overviewState Representation Learning for control: an overview
State Representation Learning for control: an overview
 
CS8592 Object Oriented Analysis & Design - UNIT III
CS8592 Object Oriented Analysis & Design - UNIT III CS8592 Object Oriented Analysis & Design - UNIT III
CS8592 Object Oriented Analysis & Design - UNIT III
 
Lecture 9 access modifiers and packages
Lecture   9 access modifiers and packagesLecture   9 access modifiers and packages
Lecture 9 access modifiers and packages
 

Similar to SlidesSeams15

CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
pkaviya
 

Similar to SlidesSeams15 (20)

MUSA: A Middleware for User-driven Service Adaptation
MUSA: A Middleware for User-driven Service AdaptationMUSA: A Middleware for User-driven Service Adaptation
MUSA: A Middleware for User-driven Service Adaptation
 
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWSAN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
 
An ai planning approach for generating
An ai planning approach for generatingAn ai planning approach for generating
An ai planning approach for generating
 
Introduction to Data structure and algorithm.pptx
Introduction to Data structure and algorithm.pptxIntroduction to Data structure and algorithm.pptx
Introduction to Data structure and algorithm.pptx
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Object oriented design-UNIT V
Object oriented design-UNIT VObject oriented design-UNIT V
Object oriented design-UNIT V
 
Introduction to Data Structure and algorithm.pptx
Introduction to Data Structure and algorithm.pptxIntroduction to Data Structure and algorithm.pptx
Introduction to Data Structure and algorithm.pptx
 
Comparison of the Formal Specification Languages Based Upon Various Parameters
Comparison of the Formal Specification Languages Based Upon Various ParametersComparison of the Formal Specification Languages Based Upon Various Parameters
Comparison of the Formal Specification Languages Based Upon Various Parameters
 
Prisoner Management System
Prisoner Management SystemPrisoner Management System
Prisoner Management System
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
 
Object Oriented Program Class 12 Computer Science
Object Oriented Program Class 12 Computer ScienceObject Oriented Program Class 12 Computer Science
Object Oriented Program Class 12 Computer Science
 
System Modelling.ppt
System Modelling.pptSystem Modelling.ppt
System Modelling.ppt
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT I
 
Introducing Uml And Development Process
Introducing Uml And Development ProcessIntroducing Uml And Development Process
Introducing Uml And Development Process
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 
Techpaper
TechpaperTechpaper
Techpaper
 
Unit 5 Introduction to Planning and ANN.pptx
Unit 5 Introduction to Planning and ANN.pptxUnit 5 Introduction to Planning and ANN.pptx
Unit 5 Introduction to Planning and ANN.pptx
 

More from Luca Sabatucci (8)

GoalSPEC - An Introduction
GoalSPEC - An IntroductionGoalSPEC - An Introduction
GoalSPEC - An Introduction
 
Overview of a Self-Adaptive Workflow System
Overview of a Self-Adaptive Workflow SystemOverview of a Self-Adaptive Workflow System
Overview of a Self-Adaptive Workflow System
 
Ahab's Leg Dilemma
Ahab's Leg DilemmaAhab's Leg Dilemma
Ahab's Leg Dilemma
 
Ahab’s Leg
Ahab’s LegAhab’s Leg
Ahab’s Leg
 
Coupling Tropos with User-Centered Design
Coupling Tropos with User-Centered DesignCoupling Tropos with User-Centered Design
Coupling Tropos with User-Centered Design
 
Design as Intercultural Dialogue
Design as Intercultural DialogueDesign as Intercultural Dialogue
Design as Intercultural Dialogue
 
The ACube Experience
The ACube ExperienceThe ACube Experience
The ACube Experience
 
Socio-Technical Systems
Socio-Technical SystemsSocio-Technical Systems
Socio-Technical Systems
 

Recently uploaded

Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
Kamal Acharya
 
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
Hall booking system project report .pdf
Hall booking system project report  .pdfHall booking system project report  .pdf
Hall booking system project report .pdf
Kamal Acharya
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 

Recently uploaded (20)

WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Natalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in KrakówNatalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in Kraków
 
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projection
 
2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
 
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docxThe Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
 
KIT-601 Lecture Notes-UNIT-5.pdf Frame Works and Visualization
KIT-601 Lecture Notes-UNIT-5.pdf Frame Works and VisualizationKIT-601 Lecture Notes-UNIT-5.pdf Frame Works and Visualization
KIT-601 Lecture Notes-UNIT-5.pdf Frame Works and Visualization
 
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and ClusteringKIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
 
Hall booking system project report .pdf
Hall booking system project report  .pdfHall booking system project report  .pdf
Hall booking system project report .pdf
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
 
Scaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageScaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltage
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 

SlidesSeams15

  • 1. From  Means-­‐End  Analysis  to   Proac5ve  Means-­‐End  Reasoning   Luca  Sabatucci  and  Massimo  Cossen5no   SEAMS  2015,  Florence,  May  18-­‐19    
  • 2. The  Vision   service provider MUSA RUNNING SYSTEM GOALS user analyst ACTIVE GOALS CAPABILITIES dev team TASKS REAL SERVICES goal injection capability deploy and maintenance service provider service provider bridge WHAT HOW POD ontology commitment ontology commitment
  • 3. Goal  Oriented  Requirements   •  A  goal  is  a  state  of  affair  that  an  actor  wants   to  achieve   1 2 n (1) t believes all facts ) sj 62 Wt t ) si 62 Wt (2) nt subset of facts everything that is alse. An example r instance the set ate of world since ion. ration at time t. a logic formula h the standard set on may be tested unification. ineering methods state of affair that Definition 3 (Goal Model). A goal model is a directed graph, (G,R) where G is a set of goals (nodes) and R is the set of Refinement and Influence relationships (edges). In a goal model there is exactly one root goal, and there are no refinement cycles. Figure 2 is the partial goal model, represented with the i* notation, for the meeting scheduling case study. This example, redesigned from [15], includes functional (hard) goals only, and AND/OR refinements. The root goal is to provide meeting scheduling services that is decomposed in schedule meet- ings, send reminders, cancel meetings and running a website. Therefore meetings are scheduled by collecting participant timetables, choosing a schedule and choosing a location. Such a model is useful for analysts to explore alternative ways for fulfilling the root goal. OR To Call Participants To Check Calendars To Mail Participants AND To Provide Meeting Scheduling To Schedule Meetings To Sent Reminders To Cancel Meetings To Run Website AND To Collect Timetables To Choose Schedule To Choose Location […] […] […] […] […] Fig. 2. Portion of Goal Model taken from [15] for the Meeting Scheduling case study. For reasons of space, the tree has been truncated (with respect to the original one) where the symbol [...] appears. C. Capability Definition In many goal-oriented approaches, a Task is the operational- ization of a Goal. This means that each task, in a goal model, GOAL  MODEL   To Mail Participants Mail Questio nnaire Sender MEANS-­‐END  ANALYSIS  
  • 4. The  State  of  the  World   •  A  state  of  the  world  (Wt)  is  a  dynamic  object   that  describes  the  current  “state  of  affair”   – or  beXer:  what  the  system  knows  about   •  We  implement  Wt  by  employing  a  set  of   seman5cally  coherent  first  order  logic  facts.   •  Wt  describes  a  closed-­‐world  in  which   everything  is  not  explicitly  declared  is   assumed  to  be  false.  
  • 5. Opera5ve  Implementa5on  of  Goal   •  Goal's  TC  is  the  Condi5on  that  must  hold  in  Wt  in  order  the  agent   can  ac5vely  pursue  that  goal.   •  Goal's  FS  is  the  Condi5on  that  must  hold  in  Wt  in  order  the  goal  can   be  marked  as  addressed.   •  GOALSpec  is  a  language  conceived  to  inject  goal  specifica5ons  in  a   human-­‐friendly  format   GOAL LIFECYCLE Injected ActiveReadycommit FS=true FS=false TC=true state failurecommitment failure [maintain-goal] [achieve-goal] Addressed goal retreat goal injection GOAL SUBJECT TRIGGER CONDITION FINAL STATE EVENT STATE OF THE WORLD wants is active when is addressed when generated by composed of Fig. 7. The Core Metamodel of the Goal Specification Language. a Trigger Condition and a Final State. The subject is a noun that describes the name of the involved person, role or group of persons that owns the responsibility to address the goal. The trigger condition is an event that must occur in order to start acting for addressing the goal. The final state is the desired state of the world that must be addressed. It is worth underlining that both Trigger Conditions and Final States must be expressed by using a State of the World, that in turn is expressed through domain ontology predicates. For a complete specification of the syntax of GoalSPEC see [32]. Some examples of GoalSPEC productions for the domain of the Meeting Scheduling are listed below: 1) WHEN schedule(Usr,Meeting) THE system SHALL PRODUCE canceled(Meeting) OR confirmed(Meeting) 2) WHEN pending(Meeting) AND meeting datetime(DT) AND attendee(Meeting,A) THE system SHALL PRODUCE is able to achieve a goal by doing an action if i) the agen knows what the action is and ii) knows that doing the action would result in the goal being satisfied [21]. This topic ha become even more current because the amount of service deployed in the web is exponentially growing and researcher are looking for ways for automatically searching, selecting and composing them [35]. We use Capability as an internal representation of an atomi unit of work that a software agent may use for addressing changes in the state of the world. A Capability is made o two components: an abstract description (a set of beliefs tha makes an agent aware of owning the capability and able to reason on its use), and a concrete body implementation (a se of plans for executing the job). Whereas we define a template for providing the abstrac description of a capability, we do not provide any language fo the body, leaving the choice of the specific technology to th developer. The proposed template (Table I) is a refinement o that presented in [35] for LARKS (language for advertisemen and request for knowledge sharing). TABLE I TEMPLATE FOR DOCUMENTING A CAPABILITY DESCRIPTION. Name Unique label used to refer to the capability InputParams Definition of the input variables necessary for the execution. OutputParams Definition of the output variables produced by the execution. Constraints Optional (logical or structural) constraints on input/output variables. Pre-Condition Condition that must hold in the current state of GOAL SUBJECT TRIGGER CONDITION FINAL STATE EVENT STATE OF THE WORLD wants is active when is addressed when generated by composed of Fig. 7. The Core Metamodel of the Goal Specification Language. a Trigger Condition and a Final State. The subject is a noun that describes the name of the involved person, role or group of persons that owns the responsibility to address the goal. The trigger condition is an event that must occur in order to start acting for addressing the goal. The final state is the desired state of the world that must be addressed. It is worth underlining that both Trigger Conditions and Final States must be expressed by using a State of the World, that in turn is expressed through domain ontology predicates. For a complete specification of the syntax of GoalSPEC see [32]. Some examples of GoalSPEC productions for the domain of the Meeting Scheduling are listed below: 1) WHEN schedule(Usr,Meeting) THE system SHALL PRODUCE canceled(Meeting) OR confirmed(Meeting) 2) WHEN pending(Meeting) AND meeting datetime(DT) AND attendee(Meeting,A) THE system SHALL PRODUCE notified(A,Meeting,DT) 3) AFTER 2 days SINCE WHEN notified(Usr,Meeting,DT) is able to knows wha would resu become ev deployed i are looking composing We use C unit of wo changes in two compo makes an reason on of plans fo Whereas description the body, l developer. that presen and reques TEMPL Name InputPara OutputPa Constrain Pre-Cond Post-Con USER-­‐GOAL_01   USER-­‐GOAL_02  
  • 6. AI-­‐Style  CAPABILITIES   •  The  system  owns  a  set  of  capabili5es,  i.e.  atomic   and  self-­‐contained  ac5ons   •  The  effect  of  a  capability  is  an  endogenous   evolu5on  of  Wt     •  The  system  is  aware  of  its  capabili5es   •  and  it  is  aware  of  ‘when’  and  ‘how’  to  use  a   capability  in  order  to  address  a  desired  result  TABLE II ABSTRACT SPECIFICATION OF THE PROPOSAL MAIL SENDER CAPABILITY. Name PROPOSAL MAIL SENDER InputParams QUESTION : TEXT, RESPONSEID: STRING USERMAIL : STRING OutputParams NONE Constraints format(UserMail, RFC 5322 Address Specification) Pre-Condition email(Usr, UserMail) Post-Condition notified(Question, Usr) Evolution evo = {add(notified(Msg, Usr)), add(mailed(UserMail, Question)) add(questioned(Usr, ResponseId))} TABLE III TABLE IV ABSTRACT SPECIFICATION OF THE GOOGLE CALENDAR CHECK CAPABILITY. Name GOOGLE CALENDAR CHECK InputParams SLOT : TIMESLOT, USERCALENDAR : CAL- ENDAR OutputParams RESPONSEARRAY : ARRAYOF( SLOT(USR,{free | busy})) Constraints format(Slot, slot(dt(year, month, day, hour, minute), dt(year, month, day, hour, minute))) Pre-Condition calendar(Usr, UserCalendar) Post-Condition free(Usr, Timeslot)_ busy(Usr, Timeslot) Evolution evo = {add(notified(Msg, Usr)), add(free(Usr, Timeslot)) add(busy(Usr, Timeslot))} ABSTRACT  DESCRIPTION     OF  A  CAPABILITY  
  • 7. Bridging  WHAT  and  HOW   user analyst dev team CALENDAR goal injection capability deploy and maintenance bridge WHAT (goal spec) HOW (capabilities)WHEN pending(Meeting) AND meeting datetime(DT) AND attendee(Meeting,A) THE system SHALL PRODUCE notified(A,Meeting,DT) PROPOSAL MAIL SENDER COLLECT_MAIL_RESPONSES GOOGLE_CALENDAR_CHECK MAILER OR To Call Participants To Check Calendars To Mail Participants AND To Provide Meeting Scheduling To Schedule Meetings To Sent Reminders To Cancel Meetings To Run Website AND To Collect Timetables To Choose Schedule To Choose Location […] […] […] […] […] MUSA RUNNING SYSTEM google The  PROACTIVE  MEANS-­‐END  REASONING     is  the  problem  of     finding  the  minimal  set  of  capabili5es  (called  PMR   Solu5on)  that  can  fully  address  a  goal  model,  given  the   current  Wt.    
  • 8. The  PMR  Solu5on   •  The  Proac5ve  Means-­‐End  Reasoning  is  different   from   –  A  scheduling  problem:  it  does  not  require  an  exact   5ming  of  the  ac5vi5es   –  A  planning  problem:  it  does  not  require  to  create  a   plan  for  execu5ng  the  ac5vi5es   •  The  system  will  contextually  evaluate  which   capability  to  use,  when,  and  how.   –  The  same  capability  in  the  PMR_Solu5on  will   eventually  used  0..n  5mes  
  • 9. The  proposed  algorithm   •  It  is  based  on  the  ability  to  discover  if  a   capability  can  be  used  for  addressing  a  goal   (or  contribu5ng  to)   •  The  principle  is  that  of  matching  Goal’s  TC/FS   and  Capability’s  Pre/Post/Evolu5on     •  This  is  possible  if  goals  and  capabili5es  share   – The  same  formalism   – The  same  background  ontology  
  • 10. The  State  of  World  as     Common  Formalism   GOAL SUBJECT TRIGGER CONDITION FINAL STATE CONDITION STATE OF THE WORLD wants is active when is addressed when CAPABILITY is executable when is correctly executed when PRE CONDITION POST CONDITION EVOLUTION to test over generates modifies
  • 11. The  Ontology  as     Common  Background   usrmsg Meeting <<position>> Attendee <<position>> Initiator Calendar Timeslot <<predicate>> Confirmed <<predicate>> Canceled <<predicate>> Pending <<action>> Schedule <<action>> Accepted <<action>> Rejected <<predicate>> MinAttendees Meeting DateTime <<predicate>> Notified <<position>> User is-a is-a Contact Info Email Skype Id <<predicate>> Busy ISO 8601 DateTime is-a is-a is-a <<predicate>> Free
  • 12. Common  Background  (II)   usrmsg Meeting <<position>> Attendee <<position>> Initiator Calendar Timeslot <<predicate>> Confirmed <<predicate>> Canceled <<predicate>> Pending <<action>> Schedule <<action>> Accepted <<action>> Rejected <<predicate>> MinAttendees Meeting DateTime <<predicate>> Notified <<position>> User is-a is-a Contact Info Email Skype Id <<predicate>> Busy ISO 8601 DateTime is-a is-a is-a <<predicate>> Free WHEN  pending(Mee5ng)  AND  mee5ng  date5me(DT)  AND   aXendee(Mee5ng,A)  THE  system  SHALL  PRODUCE   no5fied(Mee5ng,  A)   USER-­‐GOAL_01   TABLE II ABSTRACT SPECIFICATION OF THE PROPOSAL MAIL SENDER CAPABILITY. Name PROPOSAL MAIL SENDER InputParams QUESTION : TEXT, RESPONSEID: STRING USERMAIL : STRING OutputParams NONE Constraints format(UserMail, RFC 5322 Address Specification) Pre-Condition email(Usr, UserMail) Post-Condition notified(Question, Usr) Evolution evo = {add(notified(Msg, Usr)), add(mailed(UserMail, Question)) add(questioned(Usr, ResponseId))} TABLE III ABSTRAC Name InputParam OutputPara Constraints Pre-Conditi Post-Condi Evolution
  • 13. Planning-­‐Like  Space  Explora5on   Name   Calendar_Timeslot_Check   Pre-­‐condi5on   calendar(Usr,UserAccount)   Post-­‐condi5on   free(Usr,TimeSlot)  OR  busy(Usr,TimeSlot)   Evolu5on   evo={  add(verified_ts(Usr,TimeSlot))  }   Name   Append_Mee7ng   Pre-­‐condi5on   free(Usr,TimeSlot)     Post-­‐condi5on   busy(Usr,TimeSlot)   Evolu5on   evo={  add(no5fied(Usr,Mee5ng))  }   pending(meet_673) meeting_datetime(dt(12,04,2015)) attendee(meet_673,luca) calendar(luca,lucas76) goal fulfillment WHEN%pending(Mee.ng)%AND%mee.ng%date.me(DT)%AND% a6endee(Mee.ng,A)%THE%system%SHALL%PRODUCE% no.fied(A,Mee.ng)% USERCGOAL_01% pending(meet_673) meeting_datetime(dt(12,04,2015)) attendee(meet_673,luca) verified_ts(luca,dt(12,04,2015)) CALENDAR APPEND MEETING pending(meet_673) meeting_datetime(dt(12,04,2015)) attendee(meet_673,luca) verified_ts(luca,meet_673) notified(luca,meet_673)
  • 14. Space  Explora5on  (II)   Name   Proposal  Mail  Sender   Pre-­‐condi5on   email(Usr,MailAddress)   Post-­‐condi5on   ques5oned(Usr,Mee5ng)   Evolu5on   evo={  add(ques5oned(Usr,Mee5ng)  )  }   Name   Collect  Mail  Response   Pre-­‐condi5on   email(Usr,MailAddress)   Post-­‐condi5on   accepted(Usr,Mee5ng)  OR   rejected(Usr,Mee5ng)     Evolu5on   evo={  add(no5fied(Usr,Mee5ng)  )  }   pending(meet_673) meeting_datetime(dt(12,04,2015)) attendee(meet_673,john) calendar(john, john.castel) email(john, john@gmail.com) WHEN%pending(Mee.ng)%AND%mee.ng%date.me(DT)%AND% a6endee(Mee.ng,A)%THE%system%SHALL%PRODUCE% no.fied(A,Mee.ng)% USERCGOAL_01% pending(meet_673) meeting_datetime(dt(12,04,2015)) attendee(meet_673,john) calendar(john, john.castel) email(john, john@gmail.com) verified_ts(john,dt(12,04,2015)) CALENDAR APPEND MEETING APPEND MEETING pending(meet_673) meeting_datetime(dt(12,04,2015)) attendee(meet_673,john) calendar(john, john.castel) email(john, john@gmail.com) verified_ts(john,dt(12,04,2015)) notified(john,meet_673) pending(meet_673) meeting_datetime(dt(12,04,2015)) attendee(meet_673,john) calendar(john, john.castel) email(john, john@gmail.com) questioned(john,meet_673,dt(12,04,2015)) PROPOSAL MAIL SENDER pending(meet_673) meeting_datetime(dt(12,04,2015)) attendee(meet_673,john) calendar(john, john.castel) email(john, john@gmail.com) questioned(john,meet_673,dt(12,04,2015)) notified(john,meet_673) COLLECT MAIL RESPONSE
  • 15. Final  Remarks  –  Self  Adapta5on   •  Self  Adapta5on  is  the  result  of  a  loop  in  which   the  Proac5ve  Means-­‐End  Reasoning  is  executed   every  5me  (with  different  WI)   – New  goal-­‐model  is  injected   – An  exis5ng  goal  changes   – A  capability  fails:     •  sokware  failure  and  excep5ons   •  the  generated  W  is  different  from  the  expected  one   •  the  connected  resource  is  no  more  available   – New  capability  is  injected   monitor goal injection proactive means-end reasoning goal commitment environment monitoring capability execution failure unexpected state
  • 16. Future  Works   •  The  planning  algorithm  is  inefficient   –  In  some  circumstances  it  requires  an  exponen5al  5me  to   complete.   –  We  are  planning  to  explore  many  strategies  for  improving  it   •  SAT  solvers,  op5mized  planning  and  case  base  reasoning   •  Scalability  is  limited     –  We  are  studying  a  beXer  integra5on  with  a  Cloud  architecture   (Open-­‐Stack)   •  To  date  the  use  of  a  sta5c  ontology  enables  the  agent's     –  it  is  also  a  limit  when  capabili5es/goals  evolve  one  independently   from  the  others.     –  In  order  to  enable  distributed  development-­‐teams,  we  are   integra5ng  linguis5c  techniques  for  dealing  with   •  conceptual  ambigui5es  and  linguis5cs  flaws,  similari5es  and  synonyms.