SlideShare a Scribd company logo
GoalSPEC:
a Goal Specification Language
supporting
Adaptivity and Evolution
L. Sabatucci, P. Ribino, C. Lodato,
S. Lopes, and M. Cossentino
Outline
 Motivation
 The Proposed Approach
 A Goal Specification Language: GoalSPEC

 Examples

EMAS'13 - GoalSPEC - M. Cossentino

2
Motivation
 Introducing adaptation in workflow designed using BPMN

 Conventional (rigid) workflow does not satisfy the needs in many
scenarios
 What changes
 Scenarios change continously
 Way people work changes
 People change
 Workload is often unpredictable
 What is constant
 Skills
 The business analysist knows BPMN and does not want to study a new
language/paradigm (agents)
 Each worker is able to perform some duties and not some others

EMAS'13 - GoalSPEC - M. Cossentino

3
The Proposed Approach

EMAS'13 - GoalSPEC - M. Cossentino

4
The proposed approach
 Focussing on goals pursued by the workflow
 The workflow specification in BPMN has to be translated into a goal
oriented specification
 Assumptions:
 Each workflow pursues a goal
 Each task in the workflow pursues a subgoal of the workflow goal

 Letting agents find the best way to achieve goals when changes
occur
 Agents are someway generic
 They have some capacities
 the knowledge they can achieve some state of the world by using capacity
implementations available in the execution environment
 They are able to access and control available implementations of their
capacities

 They commit to goal of the workflow (that means they carry on related
tasks) if the goal outcome correspond to the state of the world
achieved by one of the capacities owned by the agent
EMAS'13 - GoalSPEC - M. Cossentino

5
Self-Adapting Workflows:
our Receipt
 Distributed system with decentralized control
 Software Agents
 able to reason on the expected behavior
 aware of their capacities and consequences
 dynamic commitment to system goals

 Business Goals and Rules may be injected into the system
at run-time

 The system (re-)organizes itself according to the published
business goals
For these aims, we NEED a goal specification language
EMAS'13 - GoalSPEC - M. Cossentino

6
Impact: Revisiting the lifecycle of Business
Process Evolution
models

revises

Business
Analyst

Busine
ss
Expert

automatic
translates into

GoalSPEC
injection

worker

injection

interacts
commits to
analyzes

Running MAS

EMAS'13 - GoalSPEC - M. Cossentino

analyzes

analyzes

commits to
analyzes

7
The Adopted Agent Architecture
GOALS

Goal 3

Goal 2

Goal 1

Goal n

(design time
and
runtime)

Agents
Agent1

Agent2

Agent2
(GUI)
(GUI)

Environment

Resources
(databases, …)

Web Service

Web Service

Business
Analyst

Workflow
User
8
GoalSPEC
GoalSPEC
 Many Human-Oriented Languages exist to specify Goals
(i*, Tropos, Kaos)
 Responding to the need for “modeling” goals at design time
 KAOS may also support runtime interpretation of goals but
it is too complex for non-skilled workflow analysts

 GoalSPEC is a communication language between
humans and agents:
 Can be automatically generated from a BPMN workflow
representation
 But also manually revised by business experts
 It can be automatically interpreted by Software Agents
EMAS'13 - GoalSPEC - M. Cossentino

10
Key Features of GoalSPEC
 It allows to express functional requirements
 It is grounded on an ontological description of the problem
domain
 Ontology elements are used to specify the expected results of
a goal

 It allows to introduce points of flexibility in the specification of
goals

EMAS'13 - GoalSPEC - M. Cossentino

11
Anatomy of a Goal in GoalSPEC
 The goal specification sentence in GoalSPEC:
When: Triggering
Condition

Who: the actor
e.g. The System,
agentA,…

WHEN <something happens> <actor>
SHALL ADDRESS <a desired state>
What: Desired
State

 GoalSPEC considers two categories of actors:
 The SYSTEM considered as a whole (the goal will be
pursued by an agent or a group of agents)
 Human ROLES that participate to the workflow
EMAS'13 - GoalSPEC - M. Cossentino

12
WHEN <something happens> THE SYSTEM
SHALL ADDRESS <a desired state>

 This Goal is assigned to the software system
 The clause „WHEN <something happens>‟ requires the
candidate agent will activate some perceptions
 The clause „ADDRESS <a desired state>‟ requires the
candidate agent will (generally speaking) need both
actuators and monitors (perception capabilities)
 The Actuator to achieve the desired state
 The Monitor to check if actuator has been successful

 Otherwise, when a goal is assigned to a human
role, system is only responsible for:
 Interacting with the human to verify goal satisfaction
or

 Autonomously monitoring satisfaction
EMAS'13 - GoalSPEC - M. Cossentino

13
WHEN available(document) THE SYSTEM
SHALL ADDRESS classified(document,Category)

 We use descriptive logics for triggering conditions and desired
states.

 The agent can commit to a specific goal only if
 It owns a capacity to check if the belief is true:

“is available(document) true?”
 It owns the capacity to lead the world to the desired state:
“classified(document,Category)”
 where Category is grounded
 (for instance Category==invoice)

EMAS'13 - GoalSPEC - M. Cossentino

14
Work in Progress:
Degrees of freedom
 Adaptation demands some degree of freedom
 Agents can exploit this degree of freedom in their decision
process, according to the current context they are facing

 GoalSPEC proposes FUZZY modifiers to relax requirements
constraints
WHEN available(document) THE SYSTEM
SHALL ADDRESS classified(document,Category)
AS SOON AS POSSIBLE
WHEN cassified(document,invoice) and delay(document,Delay)
and Delay IS CLOSE TO 1 week THE SYSTEM SHALL ADDRESS
*In place of “IS CLOSE TO 1 week” it is also possible to use
“AFTER/BEFORE 1 week”
EMAS'13 - GoalSPEC - M. Cossentino

15
Examples
Example: BPMN

EMAS'13 - GoalSPEC - M. Cossentino

17
BPMN  XML  GoalSPEC

<serviceTask completionQuantity="1" id="_9” name="Classify”>
<incoming>_10</incoming>
<outgoing>_17</outgoing>
<ioSpecification>
<dataInput id="Din_9_7" isCollection="false"/>
<dataOutput id="Dout_9_12" isCollection="false"/>
<inputSet>
<dataInputRefs>Din_9_7</dataInputRefs>
</inputSet>
<outputSet>
<dataOutputRefs>Dout_9_12</dataOutputRefs>
</outputSet>
</ioSpecification>
<dataInputAssociation id="_14">
<sourceRef>_7</sourceRef>
<targetRef>Din_9_7</targetRef>
</dataInputAssociation>
<dataOutputAssociation id="_4">
<sourceRef>Dout_9_12</sourceRef>
<targetRef>_12</targetRef>
</dataOutputAssociation>
</serviceTask>

WHEN received(Doc) and WHEN unclassified(Doc) THE SYSTEM SHALL ADDRESS clas
EMAS'13 - GoalSPEC - M. Cossentino

18
A more sophisticated example
WHEN refined(Doc) THE SYSTEM SHALL
ADDRESS
( accepted(Doc) and approved(Doc) )
or rejected(Doc)
or incomplete(Doc)

EMAS'13 - GoalSPEC - M. Cossentino

19
Conclusions
 GoalSPEC supports adaptation
 GoalSPEC syntax aims at increasing the agent freedom of degree in
choosing how/when to address the desired state
 GOALs defines only the desired state,
 it is up to the agent intelligence to find the best plan to achieve the
desired state, according to the current execution context

 GoalSPEC supports evolution
 GOALs are defined at design time but also at run-time and then
injected into the system
 agents will change their behavior according to the current set of
available goals

 This mechanism makes the whole system highly configurable and
able to follow evolving users‟ needs.

EMAS'13 - GoalSPEC - M. Cossentino

20
Thanks for your
attention
Any question?

cossentino@pa.icar.cnr.it

More Related Content

PPTX
Ahab’s Leg
PDF
MUSA: A Middleware for User-driven Service Adaptation
PPTX
Ahab's Leg Dilemma
PPT
Overview of a Self-Adaptive Workflow System
PPTX
Coupling Tropos with User-Centered Design
PDF
SlidesSeams15
PPT
Requirements engineering from system goals to uml models to software specif...
PDF
SocioTechnical-systems-sim
Ahab’s Leg
MUSA: A Middleware for User-driven Service Adaptation
Ahab's Leg Dilemma
Overview of a Self-Adaptive Workflow System
Coupling Tropos with User-Centered Design
SlidesSeams15
Requirements engineering from system goals to uml models to software specif...
SocioTechnical-systems-sim

Similar to GoalSPEC - An Introduction (20)

PDF
Making Better Decisions Using IBM WebSphere Operational Decision Management
PDF
BPM Solution Implementation Guide
PPTX
18 Apr 2015 NWFSC PMI presentation v7
PDF
BA_Approaches_to_change_spec_by_SR
PDF
Parlay OSA From Standards to Reality 1st Edition Musa Unmehopa
PDF
Processes and organizations - a look behind the paper wall
PPTX
Keynote for EEWC2015
PDF
Ppm7.5 demand cg
PDF
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
PPTX
LOW CODE NO CODE PLATFORM Agile Developm
PPTX
Spec by-example
PDF
Parlay OSA From Standards to Reality 1st Edition Musa Unmehopa
PDF
Developing workflows and automation packages for ibm tivoli intelligent orche...
PPTX
Self-adaptation Driven by goals in SysML Models
PDF
Pragmatic requirements for adaptive systems a goal driven modeling and analys...
PPT
Ch 1-Non-functional Requirements.ppt
PDF
Requirements Are Optional, Right?
PDF
Not your grandfathers BPM
PPT
CMMi for Services lecture
Making Better Decisions Using IBM WebSphere Operational Decision Management
BPM Solution Implementation Guide
18 Apr 2015 NWFSC PMI presentation v7
BA_Approaches_to_change_spec_by_SR
Parlay OSA From Standards to Reality 1st Edition Musa Unmehopa
Processes and organizations - a look behind the paper wall
Keynote for EEWC2015
Ppm7.5 demand cg
Enabling Ad-hoc Business Process Adaptations through Event-driven Task Decoup...
LOW CODE NO CODE PLATFORM Agile Developm
Spec by-example
Parlay OSA From Standards to Reality 1st Edition Musa Unmehopa
Developing workflows and automation packages for ibm tivoli intelligent orche...
Self-adaptation Driven by goals in SysML Models
Pragmatic requirements for adaptive systems a goal driven modeling and analys...
Ch 1-Non-functional Requirements.ppt
Requirements Are Optional, Right?
Not your grandfathers BPM
CMMi for Services lecture
Ad

Recently uploaded (20)

PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
1. Introduction to Computer Programming.pptx
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
A Presentation on Touch Screen Technology
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Mushroom cultivation and it's methods.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Tartificialntelligence_presentation.pptx
PPTX
TLE Review Electricity (Electricity).pptx
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Programs and apps: productivity, graphics, security and other tools
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
1 - Historical Antecedents, Social Consideration.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
1. Introduction to Computer Programming.pptx
A novel scalable deep ensemble learning framework for big data classification...
A Presentation on Touch Screen Technology
DP Operators-handbook-extract for the Mautical Institute
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25-Week II
WOOl fibre morphology and structure.pdf for textiles
Mushroom cultivation and it's methods.pdf
Group 1 Presentation -Planning and Decision Making .pptx
Zenith AI: Advanced Artificial Intelligence
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Unlocking AI with Model Context Protocol (MCP)
Building Integrated photovoltaic BIPV_UPV.pdf
Tartificialntelligence_presentation.pptx
TLE Review Electricity (Electricity).pptx
Ad

GoalSPEC - An Introduction

  • 1. GoalSPEC: a Goal Specification Language supporting Adaptivity and Evolution L. Sabatucci, P. Ribino, C. Lodato, S. Lopes, and M. Cossentino
  • 2. Outline  Motivation  The Proposed Approach  A Goal Specification Language: GoalSPEC  Examples EMAS'13 - GoalSPEC - M. Cossentino 2
  • 3. Motivation  Introducing adaptation in workflow designed using BPMN  Conventional (rigid) workflow does not satisfy the needs in many scenarios  What changes  Scenarios change continously  Way people work changes  People change  Workload is often unpredictable  What is constant  Skills  The business analysist knows BPMN and does not want to study a new language/paradigm (agents)  Each worker is able to perform some duties and not some others EMAS'13 - GoalSPEC - M. Cossentino 3
  • 4. The Proposed Approach EMAS'13 - GoalSPEC - M. Cossentino 4
  • 5. The proposed approach  Focussing on goals pursued by the workflow  The workflow specification in BPMN has to be translated into a goal oriented specification  Assumptions:  Each workflow pursues a goal  Each task in the workflow pursues a subgoal of the workflow goal  Letting agents find the best way to achieve goals when changes occur  Agents are someway generic  They have some capacities  the knowledge they can achieve some state of the world by using capacity implementations available in the execution environment  They are able to access and control available implementations of their capacities  They commit to goal of the workflow (that means they carry on related tasks) if the goal outcome correspond to the state of the world achieved by one of the capacities owned by the agent EMAS'13 - GoalSPEC - M. Cossentino 5
  • 6. Self-Adapting Workflows: our Receipt  Distributed system with decentralized control  Software Agents  able to reason on the expected behavior  aware of their capacities and consequences  dynamic commitment to system goals  Business Goals and Rules may be injected into the system at run-time  The system (re-)organizes itself according to the published business goals For these aims, we NEED a goal specification language EMAS'13 - GoalSPEC - M. Cossentino 6
  • 7. Impact: Revisiting the lifecycle of Business Process Evolution models revises Business Analyst Busine ss Expert automatic translates into GoalSPEC injection worker injection interacts commits to analyzes Running MAS EMAS'13 - GoalSPEC - M. Cossentino analyzes analyzes commits to analyzes 7
  • 8. The Adopted Agent Architecture GOALS Goal 3 Goal 2 Goal 1 Goal n (design time and runtime) Agents Agent1 Agent2 Agent2 (GUI) (GUI) Environment Resources (databases, …) Web Service Web Service Business Analyst Workflow User 8
  • 10. GoalSPEC  Many Human-Oriented Languages exist to specify Goals (i*, Tropos, Kaos)  Responding to the need for “modeling” goals at design time  KAOS may also support runtime interpretation of goals but it is too complex for non-skilled workflow analysts  GoalSPEC is a communication language between humans and agents:  Can be automatically generated from a BPMN workflow representation  But also manually revised by business experts  It can be automatically interpreted by Software Agents EMAS'13 - GoalSPEC - M. Cossentino 10
  • 11. Key Features of GoalSPEC  It allows to express functional requirements  It is grounded on an ontological description of the problem domain  Ontology elements are used to specify the expected results of a goal  It allows to introduce points of flexibility in the specification of goals EMAS'13 - GoalSPEC - M. Cossentino 11
  • 12. Anatomy of a Goal in GoalSPEC  The goal specification sentence in GoalSPEC: When: Triggering Condition Who: the actor e.g. The System, agentA,… WHEN <something happens> <actor> SHALL ADDRESS <a desired state> What: Desired State  GoalSPEC considers two categories of actors:  The SYSTEM considered as a whole (the goal will be pursued by an agent or a group of agents)  Human ROLES that participate to the workflow EMAS'13 - GoalSPEC - M. Cossentino 12
  • 13. WHEN <something happens> THE SYSTEM SHALL ADDRESS <a desired state>  This Goal is assigned to the software system  The clause „WHEN <something happens>‟ requires the candidate agent will activate some perceptions  The clause „ADDRESS <a desired state>‟ requires the candidate agent will (generally speaking) need both actuators and monitors (perception capabilities)  The Actuator to achieve the desired state  The Monitor to check if actuator has been successful  Otherwise, when a goal is assigned to a human role, system is only responsible for:  Interacting with the human to verify goal satisfaction or  Autonomously monitoring satisfaction EMAS'13 - GoalSPEC - M. Cossentino 13
  • 14. WHEN available(document) THE SYSTEM SHALL ADDRESS classified(document,Category)  We use descriptive logics for triggering conditions and desired states.  The agent can commit to a specific goal only if  It owns a capacity to check if the belief is true: “is available(document) true?”  It owns the capacity to lead the world to the desired state: “classified(document,Category)”  where Category is grounded  (for instance Category==invoice) EMAS'13 - GoalSPEC - M. Cossentino 14
  • 15. Work in Progress: Degrees of freedom  Adaptation demands some degree of freedom  Agents can exploit this degree of freedom in their decision process, according to the current context they are facing  GoalSPEC proposes FUZZY modifiers to relax requirements constraints WHEN available(document) THE SYSTEM SHALL ADDRESS classified(document,Category) AS SOON AS POSSIBLE WHEN cassified(document,invoice) and delay(document,Delay) and Delay IS CLOSE TO 1 week THE SYSTEM SHALL ADDRESS *In place of “IS CLOSE TO 1 week” it is also possible to use “AFTER/BEFORE 1 week” EMAS'13 - GoalSPEC - M. Cossentino 15
  • 17. Example: BPMN EMAS'13 - GoalSPEC - M. Cossentino 17
  • 18. BPMN  XML  GoalSPEC <serviceTask completionQuantity="1" id="_9” name="Classify”> <incoming>_10</incoming> <outgoing>_17</outgoing> <ioSpecification> <dataInput id="Din_9_7" isCollection="false"/> <dataOutput id="Dout_9_12" isCollection="false"/> <inputSet> <dataInputRefs>Din_9_7</dataInputRefs> </inputSet> <outputSet> <dataOutputRefs>Dout_9_12</dataOutputRefs> </outputSet> </ioSpecification> <dataInputAssociation id="_14"> <sourceRef>_7</sourceRef> <targetRef>Din_9_7</targetRef> </dataInputAssociation> <dataOutputAssociation id="_4"> <sourceRef>Dout_9_12</sourceRef> <targetRef>_12</targetRef> </dataOutputAssociation> </serviceTask> WHEN received(Doc) and WHEN unclassified(Doc) THE SYSTEM SHALL ADDRESS clas EMAS'13 - GoalSPEC - M. Cossentino 18
  • 19. A more sophisticated example WHEN refined(Doc) THE SYSTEM SHALL ADDRESS ( accepted(Doc) and approved(Doc) ) or rejected(Doc) or incomplete(Doc) EMAS'13 - GoalSPEC - M. Cossentino 19
  • 20. Conclusions  GoalSPEC supports adaptation  GoalSPEC syntax aims at increasing the agent freedom of degree in choosing how/when to address the desired state  GOALs defines only the desired state,  it is up to the agent intelligence to find the best plan to achieve the desired state, according to the current execution context  GoalSPEC supports evolution  GOALs are defined at design time but also at run-time and then injected into the system  agents will change their behavior according to the current set of available goals  This mechanism makes the whole system highly configurable and able to follow evolving users‟ needs. EMAS'13 - GoalSPEC - M. Cossentino 20
  • 21. Thanks for your attention Any question? cossentino@pa.icar.cnr.it

Editor's Notes

  • #18: NOTE LUCA:BPMN èunanotazionegrafica per la definizione di flussi di lavoro. OMG ha definito un meta-modello per la sintassi del linguaggio e di conseguenzauno schema XML per la rappresentazionesia del modellochedeidettagligrafici.In questoesempioabbiamo TASK (in verde e contrassegnati da unostereotipografico: bustabianca = task per la ricezione di messaggi, Bustanera = task per l’invio dimessaggi,ingranaggi = task per attivare un Service, tabella = task che segue delleregole definite dall’utenteomino = task eseguitomanualmentePoi ci sonoi DATAOBJECT (con ilsimbolo del documento, cherappresentanooggetti con unostatomessotraparentesiquadre)
  • #19: La porzione di XML riportatamostra la descrizione di un TASK&lt;incoming&gt; e &lt;outcoming&gt; contengono un riferimentoai “sequence-flow” (freccie) in ingresso e in uscita&lt;ioSpecificaion&gt; eplicitaidatichevengonoconsumati e prodotti dal task&lt;dataInputAssociation&gt; definiscequaliDATAOBJECT sonoassociati al task