31
Requirements Engineering in the Days of Social Computing Computing John Mylopoulos University of Trento ICWE’10 Vi ICWE’10, Vienna July 7-9, 2010 ICWE’10 -- 1

Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

Requirements Engineering in the Days of Social ComputingComputing

John MylopoulosUniversity of Trento

ICWE’10 ViICWE’10, ViennaJuly 7-9, 2010

ICWE’10 -- 1

Page 2: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

AbstractAbstractThanks largely to Web and other technologies, we are experiencing the rise of a new paradigmfor computing that often goes under the label of "social computing". In this paradigm,computing is conducted through services offered by one agent (the server) to another (thecomputing is conducted through services offered by one agent (the server) to another (theclient). These services are assembled dynamically and adapt, depending on circumstances.Moreover, the notion of "system" is extended to include software as well as human andorganizational agents working together towards the fulfillment of stakeholder requirements.Most importantly, social computing leverages knowledge of human/organizational agents toconduct "computations" that go beyond traditional notions. Early examples of this kind ofcomputing include collaborative filtering, online auctions, prediction markets, reputationsystems etcsystems, etc.

The advent of this paradigm has changed drastically the nature of software requirements. Wereview traditional and goal-oriented approaches to requirements engineering and argue forthe need to extend such approaches (i) to accommodate the modeling and analysis ofthe need to extend such approaches (i) to accommodate the modeling and analysis ofrequirements preferences and priorities, (ii) to accommodate the notion of social commitmentas the basic building block for specifying solutions to social problems, (iii) to include a new classof requirements we call awareness requirements. Such requirements impose constraints on

d i h i d d k h ld dadaptation mechanisms needed to meet stakeholder needs.

The research reported in this presentation is based on on-going work between the author andAlex Borgida, Amit Chopra, Fabiano Dalpiaz, Neil Ernst, Paolo Giorgini, Ivan Jureta, AlexeiLapouchnian and Vitor Souza

ICWE’10 -- 2

Lapouchnian, and Vitor Souza.

Page 3: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

i l iSocial Computing(Weak sense) Refers to systems that support social(Weak sense) Refers to systems that support social

behaviour, e.g., blogs, social network services, wikis, socialbookmarking, …

(Strong sense) Refers to “computations” that are carriedout by groups of human and organizational agents in

ll b i i h f l i l d ll b icollaboration with software; examples include collaborativefiltering, online auctions, prediction markets, reputationsystems Wikipediasystems, Wikipedia, …

Has become popular/fashionable because of itsrelationship to a number of recent trends: (i) social softwarerelationship to a number of recent trends: (i) social softwareand Web 2.0, (ii) social networks, (iii) open source as aviable method of software production.

ICWE’10 -- 3

Page 4: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

Socio Technical Systems+ (STSs)Socio-Technical Systems (STSs)These are the systems that conduct social computations.

They consist of human, software and organizational agentswho work together to fulfill stakeholder requirements.

They are founded on Web and other technologies.

Agents are inherently autonomous and heterogeneous, andi i di bloperating environments are unpredictable.

In order to survive and succeed within such settings, STSsha e to be open d namic and adapti ehave to be open, dynamic and adaptive.

[+ The term ‘socio-technical system’ has been used since the 50s inManagement Science [Trist51] to refer to systems where human/socialManagement Science [Trist51] to refer to systems where human/socialconcerns are given equal status to technical ones; however, the nature ofSTSs has changed dramatically since the advent of the Web and ubiquitous

ti it ]

ICWE’10 -- 4

connectivity]

Page 5: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

d d i h ?STSs: How do we design them?There have been proposals since the ‘80s [Baxter10] thatThere have been proposals since the 80s [Baxter10] that

view the problem as one of work design [Mumford83], vsinformation system design [Taylor82].

We focus here on requirements engineering (RE) for STSs,as opposed to design (architectural and/or detailed).

ICWE’10 -- 5

Page 6: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

i i i ( ) fRequirements Engineering (RE) for STSsThere are new types of “typical” functional requirements,There are new types of typical functional requirements,

e.g., recommendation functions.

There are also new types of “typical” non-functionalyp yprequirements, e.g., transparency ( trust), adaptivity (criticality)

But, is this all?

Basic thesis of this talk: We need new concepts to conduct requirements engineering for STSs.

ICWE’10 -- 6

Page 7: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

h f h i h dRE: The State-of-the-art in three IdeasRequirements are stakeholder goals [KAOS93].Requirements are stakeholder goals [KAOS93].

Non-functional requirements are undefinable goals(softgoals) [NFR92]( g ) [ ]

Social settings can be modelled in terms of agents andsocial dependencies among them (social dependencymodels) [iStar97].

ICWE’10 -- 7

Page 8: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

i lRequirements as GoalsRequirements define what stakeholders want (e.g.,Requirements define what stakeholders want (e.g.,

“schedule meetings”), not what functions the system oughtto support (e.g., “request timetables”).

Goals are refined through AND/OR decompositions untilthey can be operationalized through a function/task.

Goals may be synergistic or contradictory.

A solution (specification) to a given set of goals consists ofa bunch of tasks which, if carried out in some order fulfillthe goals.

A l d l d fi f lt ti d i fA goal model defines a space of alternative designs forfulfilling a goal.

ICWE’10 -- 8

Page 9: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

Domainassumption

A Goal modelSchedulemeeting

Rooms availableAND

ChooseCollect

timetables

AND AND

available

Chooseschedule

OR OR

By --By Person

OR ORBy

System

OR OR

--

AutomaticallyManuallyCollect from

usersCollect from agents

Tasks

ReceiveSend t

AND AND

Collect Schedule

ICWE’10 -- 9

responserequest

Page 10: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

f lSoftgoals(Functional) Goals, such as “Schedule meeting” are well(Functional) Goals, such as Schedule meeting are well

defined; non-functional goals, such “higher profits”, “highercustomer satisfaction” or “easily maintainable system”specify qualities a socio-technical system should adhere toand are not definable.

S h li i d f lf l h bSuch qualities are represented as softgoalssoftgoals; they can bethought as “fuzzy goals” with no clear-cut criteria forsatisfaction; hence softgoals are satisficedsatisficed rather thansatisfaction; hence softgoals are satisficedsatisficed, rather thansatisfied.

Softgoals can be used as criteria for selecting amongSoftgoals can be used as criteria for selecting amongalternative designs.

ICWE’10 -- 10

Page 11: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

A S f l M d lA Softgoal ModelUsability

Information

User Tailorability

UsabilityAND

AND ANDAND

ErrorAvoidance

SharingEase of Learning

User ANDAND

Programmability+

Flexibility

Allow Change ofSettings +

AND

+++SupportChange of

Colours Support

SupportChange ofLanguage

Modularityg

++

+Colours Support

Change ofState

Language

Allow User-Defined Writing Tool

UseComponentsChange

l h Change

ICWE’10 -- 11

colour Change state

Change language

Page 12: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

Minimal effort

Good quality schedule

G dAND

Schedule meeting

effort

Matching effort

Minimal conflicts

Good participation

ANDAND

AND

CollectChoose

h d l

Collection effort

effort ANDAND

-

-Collect timetables

schedule

OROR

OROR

++ ++ -

Evaluating Alt ti ithBy Person By System

OROR

Alternatives with Softgoals

Manually AutomaticallyCollect from

Users

Collect from Agents

+ -

Send Receive

AND AND

MinimalDisturbances

+-

ICWE’10 -- 12

Request ResponseAccurateConstraints

Page 13: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

Stakeholders and Their Goals

In KAOS, goals are global objectives for the system-to-be.

In i* [iStar97], goals are desired by actors (agents, for ourpurposes) and are delegated to other actors for fulfillment.

In this framework then, early requirements involveid if i k h ld d h i l l i hidentifying stakeholders and their goals, analyzing thesegoals, delegating them to other actors etc.

The result of this process consists of actor dependency andThe result of this process consists of actor dependency andactor rationale models.

ICWE’10 -- 13

Page 14: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

An Actor Dependency ModelAn Actor Dependency Model

ContributeToMtg InitiatorCo t bute o tg

t

Initiator

UsefulMtg

CalendarInfoScheduleMtg

actor

SchedulerParticipant

AttendMtg

SuitableTime

resourcetask

ICWE’10 -- 14

Page 15: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

h i i i ?So, what is missing? …Social commitments as primitive building blocks for STSSocial commitments as primitive building blocks for STS

specifications [Chopra10].

Optional requirements and prioritizations amongp q p grequirements [Jureta10] (also [Ernst10], [Liaskos10]).

Awareness requirements for adaptive STSs[Lapouchnian10].

ICWE’10 -- 15

Page 16: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

( i l) i(Social) Commitments[Bratman87] and [Cohen90] formalized the notion of an[Bratman87] and [Cohen90] formalized the notion of an

agent’s (psychological) commitment to her intentions.

[Singh91] stressed instead the notion of social[ g ]commitment C(a, b, φ, ψ) whereby “agent a commits tofulfill φ for agent b in return for ψ”.

Think of social commitment as the basic molecule out ofwhich social structures and norms are defined, e.g.,obligations to others allegiance to one’s co ntr to one’sobligations to others, allegiance to one’s country, to one’semployer, to family and friends, …

ICWE’10 -- 16

Page 17: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

i d ifi iCommitments and SpecificationsIn a social setting, it seems useful to replace the notion ofIn a social setting, it seems useful to replace the notion of

task with that of commitment; after all, designers need toknow not only what tasks have to be performed, but alsowho does what.

Commitments seem a perfect fit for specifying compositei i h h fl h i i l i l fservices in that they reflect the intentional+social nature of

a service.

Commitments also offer less operational lang age forCommitments also offer less operational language forbusiness processes that BP modeling languages.

ICWE’10 -- 17

Page 18: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

i d iCommitments vs Actor DependenciesActor dependencies in i* have the same flavour asActor dependencies in i have the same flavour ascommitments, but there are important differences:

i* only assumes one-way commitments, i.e., actor ay ycommits to actor b to fulfill φ; social commitments are bi-directional: actor a commits to do something for actor b if b

i d hi f ”commits to do something for a”.

There is a logic of commitments worked out throughentailment or inference For e ampleentailment or inference. For example,

C(a, b, φ1, ψ), C(a, b, φ2, ψ) |= C(a, b, φ1∧ φ2,ψ)ψ)

There is also a basic set of speech acts forcreating/canceling commitments

ICWE’10 -- 18

creating/canceling commitments.

Page 19: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

f d i i iPreferences and PrioritiesIn a social setting, taking into account preferencesIn a social setting, taking into account preferences

(optional requirements) and priorities makes the differencebetween a good solution and a non-solution.

Think of a meeting scheduling service that takes intoaccount preferences such as “Would be nice to also book a

” “C ll i i bl ll i b hroom”, “Collecting timetables manually is better thanhaving the system do it”.

Tro ble is the goal modeling frame ork presented so farTrouble is: the goal modeling framework presented so fardoesn’t allow for representing either preferences orpriorities …priorities …

ICWE’10 -- 19

Page 20: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

A goal model with preferences andA goal model, with preferences and priorities

Schedule Optionalmeeting

CollectAND ANDAND

Chooseschedule

timetables

OR ORBookroom

By Person OR OR

By System

OR

-->>

AutomaticallyManuallyCollect from

usersCollect from agents

OR OR

Priorityagents

R iS d

AND AND

ICWE’10 -- 20

Receiveresponse

Send request

Page 21: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

R i ith P f & P i itiReasoning with Preferences & PrioritiesFinding a solution to a goal model is now harder: We are

looking for solutions that satisfy all mandatory goals, and aremaximal wrt preferences and priorities, i.e., satisfy a maximal

t f f d d b t t i itiset of preferences and do best wrt priorities.

Naive algorithms for finding solutions here are clearly(doubly) intractable We are exploring heuristic algorithms(doubly) intractable. We are exploring heuristic algorithmsthat come up with good approximations to optimal solutions[Ernst10].[ ]

ICWE’10 -- 21

Page 22: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

Ad ti t f i l tiAdaptive systems for social computingAny system – biological, physical, social or computational --

that operates within an uncertain environment needsadaptation mechanisms to survive.

Adaptation means that the system monitors its operationand the environment and changes configuration/behaviourwhen things are not working out as plannedwhen things are not working out as planned.

But, what is to be monitored and what to adapt to? Weneed a class of requirements that can be operationalized intoneed a class of requirements that can be operationalized intomonitor-diagnose-reconcile-compensate functions.

ICWE’10 -- 22

Page 23: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

Requirements for adaptive systemsRequirements for adaptive systems

Schedule

Schedule

Schedulemeetings + ??

meetings

FeedbackFeedback

Specification Specification

ICWE’10 -- 23

Page 24: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

AwarenessAwareness: Consciousness, sentience, ability to sense andAwareness: Consciousness, sentience, ability to sense and

respond to the environment.

Many types of awareness play a role in the design ofy yp p y gsoftware systems (security/process/context/location … )

Our perspective: (i) Awareness gives rise to the need forfeedback; (ii) Model awareness requirements; (iii) Propose anew operationalizion for requirements, specifically tailoredto a arenessto awareness.

ICWE’10 -- 24

Page 25: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

iAwareness requirementsRefer to other requirements (Goals/Tasks/DomainRefer to other requirements (Goals/Tasks/Domain

Assumptions) and their success/failure.

Consider

r = ‘schedule meeting’, da = ‘always rooms available’

r1 = ‘r will be completed within 2hrs’ (delta)p ( )

r2 = ‘r won’t fail >3 times per year’ (aggregate)

r3 = ‘avg r time won’t increase between months’r3 avg r time won t increase between months(trend)

r4 = ‘da won’t fail >3 times per year’p y

ICWE’10 -- 25

Page 26: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

Wh d f ?Where do awareness reqs come from?The need for adaptivity comes from criticality and riskconsiderations. Criticality, in turn, can have its origins insafety, dependability, reliability, etc.

S h f ti l i t tit t th i i fSuch non-functional requirements constitute the origins ofawareness requirements.

Consider: Meeting scheduling (MS) is a critical requirementConsider: Meeting scheduling (MS) is a critical requirementfor our organization; hence we allocate more resources toMS, we do more V&V for our MS system, AND we impose, y , psome awareness requirements for it as well …

Critical MSCritical MS

MoreV&VAwarenessReqs

F MS

AND ANDAND

ICWE’10 -- 26

MoreResourcesfor MS

MoreV&Vfor MSSys

For MS

Page 27: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

l iConclusionsWe have argued that the design of socio-technical systemsWe have argued that the design of socio technical systems

calls for new concepts in terms of which one expressesrequirements and new algorithms for findingoperationalizations.

We have noted three areas where extensions to traditionald d h hRE concepts are needed. For sure, there are others …

We are currently exploring these extensions; also workingith colleag es from the Uni ersit of Alicante (Irenewith colleagues from the University of Alicante (Irene

Garrigós, Jose-Norberto Mazón and Juan Carlos TrujilloMondéjar) on the development of an RE frameworkMondéjar) on the development of an RE frameworkspecifically designed for web engineering.

ICWE’10 -- 27

Page 28: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

ilEpilogueThe Web has opened the gates to meaningful socialThe Web has opened the gates to meaningful social

interaction for billions of humans.

But technology is not sufficient on its own for building usefulgy gsystems for individuals, groups, communities and the wideworld.

To build the STSs of the future, we need to adopt conceptsfrom other disciplines -- notably Philosophy, CogSci,Management Science and Economics and integrate theseManagement Science and Economics – and integrate theseinto the concepts, tools and techniques that we use for webengineering.engineering.

ICWE’10 -- 28

Page 29: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

ICWE’10 -- 29

Page 30: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

fReferences[Baxter10] Baxter G., Sommerville I., “Socio-technical systems: From design methods tosystems engineering”, (draft report).

[Bratman87] Bratman M., Intention, Plans, and Practical Reason, Harvard University Press,Cambridge, MA., 1987.

[Chopra10] Chopra, A., Mylopoulos, J., Dalpiaz, F., Giorgini, P., Singh, M., “Requirements asGoals and Commitments too”, in Salinesi, C., Souveyet, C., Ralyte, J. (eds.) IntentionalPerspectives on Information Systems Engineering, Studies in Computational Intelligencebook series Springer-Verlag June 2010book series, Springer-Verlag, June 2010.

[Cohen90] Cohen P., Levesque H., “Intention is choice with commitment”, ArtificialIntelligence 42, 1990, 213–261.

[Ernst10] Ernst N Borgida A Jureta I Mylopoulos J “Reasoning with Optional and[Ernst10] Ernst N., Borgida A., Jureta I., Mylopoulos J., Reasoning with Optional andPreferred Requirements”, 29th International Conference on Conceptual Modeling (ER’10),November 2010.

[iStar97] Yu E “Towards Modeling and Reasoning Support for Early-Phase Requirements[iStar97] Yu E., Towards Modeling and Reasoning Support for Early Phase Requirements Engineering”, 3rd IEEE Int. Conference on Requirements, Engineering, 1997, 226-235.

[Jureta10] Jureta, I., Borgida, A., Ernst, N., Mylopoulos, J., “Techne: Towards a NewGeneration of Requirements Modeling Languages with Goals, Preferences and

ICWE’10 -- 30

q g g g ,Inconsistency Handling”, 19th Int. IEEE Conference on Requirements Engineering (RE’10),September 2010.

Page 31: Requirements Engineering in the Days of Social Computingicwe2010.webengineering.org/presentation/download/keynotes/k3.pdf · review traditional and goal-oriented approaches to requirements

fReferences (cont’d)

[KAOS93] Dardenne A., van Lamsweerde A., Fickas S., “Goal-directed RequirementsAcquisition” Science of Computer Programming 20 1993 3 50Acquisition , Science of Computer Programming 20, 1993, 3-50.[Lapouchnian10] Lapouchnian A., Souza V., Mylopoulos J., “Awareness Requirements forAdaptive Systems”, (unpublished document).

[Liaskos10] Liaskos S McIlraith S Mylopoulos J “Integrating Preferences into Goal[Liaskos10] Liaskos, S., McIlraith, S., Mylopoulos, J., Integrating Preferences into GoalModels for Requirements Engineering”, 19th International IEEE Conference onRequirements Engineering (RE’10), September 2010.

[Mumford83] Mumford, E. “Designing human systems for new technology - The ETHICS[ ] , g g y gymethod”, retrieved from http://www.enid.eu-net.com/C1book1.htm

[NFR92] Mylopoulos, J., Chung, L. and Nixon, B., "Representing and Using Non-FunctionalRequirements: A Process-Oriented Approach," IEEE Transactions on Software Engineering18(6), June 1992, 483-497.

[Singh91] Singh, M., “Social and psychological commitments in multi-agent systems”, AAAIFall Symp. on Knowledge and Action at Social and Organizational Levels, 1991,104–106.

[Taylor82] Taylor, J., “Designing an Organization and an Information-System for CentralStores – a Study in Participative Socio-Technical Analysis and Design”, Systems ObjectivesSolutions 2(2), 1982, 67-76.

ICWE’10 -- 31

[Trist51] Trist, E., Bamforth, K., “Some social and psychological consequences of the long-wall method of coal-getting”, Human Relations 4, 1951, 3-38.