from software models to social models

36
2011 John Mylopoulos NTUA -- 1 From Software Models To Social Models John Mylopoulos John Mylopoulos University of Trento University of Trento NTUA, Athens April 11, 2011

Upload: maxime

Post on 14-Jan-2016

42 views

Category:

Documents


0 download

DESCRIPTION

From Software Models To Social Models. John Mylopoulos University of Trento. NTUA, Athens April 11, 2011. Abstract. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 1

From Software Models To Social Models

John MylopoulosJohn MylopoulosUniversity of TrentoUniversity of Trento

NTUA, AthensApril 11, 2011

Page 2: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 2

Abstract Conceptual Modeling (CM) was a marginal research area at

the very fringes of Computer Science (CS) in the 60s and 70s, when the discipline was dominated by topics focusing on programs, systems and hardware architectures. This has changed over the past three decades, with CM now playing a central role in CS research and practice in diverse areas, such as Software Engineering (SE), Databases (DB), Information Systems (IS), the Semantic Web (SW), Business Process Management (BPM), Service-Oriented Computing, Knowledge Management (KM), and more. The transformation was greatly aided by the adoption of standards for modeling languages (e.g., UML), and model-based methodologies (e.g., Model-Driven Architectures) by the Object Management Group (OMG), W3C, and other standards organizations. 

We briefly review the history of the field over the past 40 years, focusing on the evolution of key ideas. We then focus on the evolution of modelling concepts in SE, specifically requirements engineering.

Page 3: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 3

Acknowledgements I am grateful to my colleagues and students

whose ideas are represented (… modelled!) in these slides.

I’m particularly grateful to three long-time collaborators and friends: Alex Borgida who showed me the way on a formal grounding for conceptual modelling languages; Nicola Guarino who taught me the basics of ontological analysis; and Joachim Schmidt, who pointed me to a future for Conceptual Modelling.

Page 4: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 4

Consider studying in

Page 5: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 5

Conceptual Models

Use domain-oriented concepts (e.g., entity, relationship, goal, actor, …) and are structured according to cognitive principles (e.g., generalization, aggregation, classification, …).

Adopt an associationist viewpoint: models consist of nodes that represent concepts and associations/links that represent semantic/episodic/other relationships between concepts.

Associationism has a long (and illustrious!) history in Philosophy and Psychology that goes back to Plato and Aristotle.

Page 6: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 6

Origins in Computer Science

➥Ross Quillian proposed semantic networkssemantic networks as a model of the structure of human memory (1966).

➥Ole-Johan Dahl proposed in 1967 SimulaSimula, an extension of the programming language ALGOL 60, for simulation applications which require some “world modelling”

➥Jean-Raymond Abrial proposed a semantic modelsemantic model in 1974, shortly followed by Peter Chen’s Entity-Entity-Relationship modelRelationship model (1975) as advances over logical data models, such as Codd’s Relational Model.

➥Doug Ross proposed in the mid-70s the Structured Structured Analysis and Design TechniqueAnalysis and Design Technique (SADTSADT) as a “language for communicating ideas”. The technique was used to specify requirements for software systems.

Page 7: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 7

Conceptual

Models

AnimalAnimal

Bird Bird - can fly- can fly Fish Fish - can swim- can swimMammalMammal

Penguin Penguin - can’t fly- can’t fly SharkShark

HumanHuman

eats

FeatherFeather

has

isa

isa

isa

isa

isa

CustomerCustomerCustomerCustomerMM11

Places/Places/PlacedByPlacedByPlaces/Places/PlacedByPlacedBy

MM

MMContains/Contains/isContainedisContainedContains/Contains/isContainedisContained

BookBookBookBook

OrderOrderOrderOrder

BuySupplies

Cultivate

ExtractSeeds

Seed & Vegie Prices

Plan & Budget Weather

PlanBudget

Fertilizer

Seeds

Plants

Vegetables

PickProduce

Vegetables

Grow Vegetables

Money

Page 8: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 8

Defining Moment for Conceptual Modelling (CM)

"...The entity-relationship model adopts ... the natural view that the real world

consists of entities and relationships... (The entity-relationship model)

incorporates some of the important semantic information about the real

world...” [Chen75],

VLDB’75

Page 9: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 9

1975-1997 – Exploring the Frontier

➥Many applicationsDesign models for databases and

software (DB, IS, SE)Knowledge-based systems (AI, IS)Knowledge management (AI, IS)

➥Many modelling languagesDozens of proposals for semantic

network- and frame-based languages, description logics, …

More dozens for semantic data models …

Box-and-arrow notations in SE

Page 10: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 10

Basic Ontologies

➥StaticStatic -- encompass static aspects of an application, described in terms of concepts such as EntityEntity, AttributeAttribute, RelationshipRelationship, ResourceResource,...

➥DynamicDynamic -- encompass dynamic aspects within an application, described in terms of concepts such as ProcessProcess, ActivityActivity, ActionAction, PlanPlan, ProcedureProcedure, EventEvent, ... or StateState, TransitionTransition,...

➥IntentionalIntentional -- encompass the world of things agents (human or otherwise) believe in, want, prove, argue about; covered by concepts such as IssueIssue, GoalGoal, SoftgoalSoftgoal, SupportsSupports, DeniesDenies, SubgoalOfSubgoalOf, ...

➥SocialSocial -- encompass social settings described in terms of social activities and dependencies among actors, e.g., ActorActor, PositionPosition, RoleRole, Commitment of A to Β for φ, ...

[Mylopoulos97]

Page 11: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 11

Research Methodology I … The meaning triangle

Sign

Concept

ReferentTulips

1,2,3,4,5,6

Flower

Page 12: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 12

Research Methodology II New concepts for modelling applications;

e.g., the use of the concept of goal to model software requirements in SE.

Formal semantics for modelling languages, and automated reasoning support for models.

Note: Throughout the ‘70s and ‘80s CM was a fringe research area in Computer Science.

Freedom Foreverlives?

Page 13: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 13

Pitfalls of Informal Models

““Far Side” by Far Side” by Gary LarsonGary Larson

Page 14: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 14

What Happened Next? The Semantic Web (Tim Berners-Lee et al) – web

data need to be encapsulated with their semantics, so that they can be processed automatically.

Model-Driven Software Engineering (OMG) – Software development consists of processes that create and manipulate chains of models ranging from problem-oriented, platform-independent ones to machine-oriented, platform-dependent ones.

Model Management (Phil Bernstein et al) – to cope with data complexity we need models (schemas, ontologies, …)

Ontological Analysis (Nicola Guarino et al) – “… content must be analyzed independently of the way it is represented …”

Page 15: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 15

The Semantic Web Use semantically rich ontologies to capture the

semantics of concepts and roles/relationships. This is accomplished by adopting Description Logics as

ontology modelling languages. Annotate web data with the concepts they instantiate,

eg,

Some concerns: Capturing semantics through more expressive languages vs capturing semantics through a richer collection of primitive concepts [Borgida04].

More concerns: There is a lot more to making web data “machine processable” than semantic annotations, see data integration frameworks (DBs).

Even more concerns: Usability, scalability, …

<person> Paolo Buono <residence> lives in Trento </residence> and works at the <work> University of Trento </work> </person>

Page 16: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 16

“Far Side” take on the Semantic

Web

Page 17: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 17

Ontological Analysis (OA)

Consider 2000 US presidential election: Was there a

hole? 2001 World Trade Centre catastrophe: How

many events?Ontological analysis can answer these questions

Book by Roberto Casati and Achille C. Varzi (MIT Press):

• Holes and other superficialities

• Parts and places

[Guarino09]

Page 18: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 18

The Formal Tools of OA Theory of Essence and Identity Theory of Parts (Mereology) Theory of Unity and Plurality Theory of Dependence Theory of Composition and Constitution Theory of Properties and Qualities …

OA is to CM what Sub-atomic Physics is to Physics

Page 19: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 19

The State-of-the-Art in CM A large collection of modelling languages,

ranging from Description Logics, to the EER model and UML class diagrams (cum OCL).

Specialized languages for requirements, software architectures, various domains, …

Ontological Analysis. A growing number of relevant communities:

ER, KRR, FOIS, SemWeb, Models, CAiSE, RE, AAMAS, …

No longer a fringe research area within CS!

Page 20: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 20

Requirements EngineeringRequirements Engineering (RE) consists of activities intended to identify and communicate the purpose of a software-intensive system, and the contexts in which it will be used. Hence, RE acts as the bridge between real world needs of stakeholders (e.g., users, customers, …) affected by a software system, and the capabilities and opportunities afforded by software-intensive technologies

Application Domain Machine Domain

Page 21: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 21

Criticality of RECauses of project success/failure: Survey of US

software projects (1999, Standish Group): Top 3 success factors:

User involvement Executive management support Clear statement of requirements

Top 3 factors leading to failure: Lack of user input Incomplete requirements and specs Changing requirements and specs

Application Domain Machine Domain

Page 22: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 22

Page 23: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 23

Origins of RE -- SADT (~1975)

Novel Ideas Modeling

the operating environment of a software system.

Models represented in terms of box-and-arrow notation.

BuySupplies

Cultivate

ExtractSeeds

Seed & Vegie Prices

Plan & Budget Weather

PlanBudget

Fertilizer

Seeds

Plants

Vegetables

PickProduce

Vegetables

Grow Vegetables

Money

Page 24: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 24

Requirements as GoalsRequirements define what stakeholders want

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

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

Goals may be synergistic or contradictory.

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

A goal model defines a space of alternative designs for fulfilling a goal.

Page 25: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 25

A Goal modelSchedulemeeting

Chooseschedule

By Person

Collecttimetables

AutomaticallyManuallyCollect from

usersCollect from agents

Receiveresponse

Send request

AND AND

AND AND

OR OR

OR ORBy

System

OR OR

Collect Schedule

Tasks

--

Rooms available

Domainassumption

AND

Page 26: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 26

Softgoals(Functional) Goals, such as “Schedule meeting” are

well defined; non-functional goals, such “higher profits”, “higher customer satisfaction” or “easily maintainable system” specify qualities the system-to-be should adhere to and are not definable.

Such qualities are represented as softgoalssoftgoals; they can be thought as “fuzzy goals” with no clear-cut criteria for satisfaction; hence softgoals are satisficedsatisficed, rather than satisfied.

Softgoals can be used as criteria for selecting among alternative designs.

Page 27: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 27

A softgoal model

Programmability

+

+

++SupportChange of

Colours Support Change of

State

SupportChange ofLanguage

ErrorAvoidance

InformationSharing

Ease of Learning

User Tailorability

Usability

Allow User-Defined Writing Tool

Modularity

UseComponents

UserFlexibility

Allow Change ofSettings

++

+

ANDAND ANDAND

ANDAND

Change colour Change

stateChange language

Page 28: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 28

Evaluating alternatives

with softgoals

Page 29: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 29

What are we Designing? (70s) … Software systems (90s) … Socio-technical systems: Systems

consisting of software and hardware components, but also people and organizations

Consistently with this shift, software models are increasingly adopting ideas from multi-agent systems

Page 30: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 30

Stakeholders and their goals

ContributeToMtg

AttendMtg

UsefulMtg

CalendarInfo

SuitableTime

SchedulerParticipant

ScheduleMtg

resourcetask

actor

Initiator

Page 31: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 31

(Social) Commitments[Bratman87] and [Cohen90] formalized the

notion of an agent’s (psychological) commitment to her intentions. [Singh91] stressed instead the notion of

social commitment C(a,b,φ,ψ) whereby “agent a commits to fulfill ψ for agent b, on condition that φ holds”.Think of social commitment as the basic

molecule for modelling social structures and norms, including obligations to others, allegiance to one’s country, to one’s employer, to family and friends, …

Page 32: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 32

Looking Forward We understand very well static and

dynamic ontologies, pretty well intentional and social ones.

There are many applications out there that aren’t being served well with what we have so far …Business worldsCultural worldsLegal worlds

Page 33: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 33

Summary

Conceptual models are useful artifacts for understanding, communication, design, management, and more.

There has been much progress in spelling out the principles that underlie models and modelling …

… but much remains to be done …

Page 34: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 34

“Move away from any narrow interpretation

of databases and expand its focus to the hard problems faced by broad visions of data,

information, and knowledge

management”

Motto 12th International Joint

Conference on Extending Database

Technology and Database Theory,

Saint-Petersburg, 2009

Page 35: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 35

[Borgida04] Borgida, A., Mylopoulos, J., “Data Semantics Revisited”, VLDB Workshop on the Semantic Web and Databases (SWDB’04), August 2004, Springer LNCS, 9-26.[Bratman87] Bratman M., Intention, Plans, and Practical Reason, Harvard University Press, Cambridge, MA., 1987.[Chen76] Chen, P., “The Entity-Relationship Model – Towards a Unified View of Data”, ACM Transactions on Database Systems 1(1), 1976.

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

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

[Guarino09] Guarino, N. “Introduction to Ontological Analysis”, Lecture notes for a PhD course given at the University of Trento, May 2009.

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

References

Page 36: From Software Models  To Social Models

2011 John Mylopoulos NTUA -- 36

[KAOS93] Dardenne A., van Lamsweerde A., Fickas S., “Goal-directed Requirements Acquisition”, Science of Computer Programming 20, 1993, 3-50.

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

[Mylopoulos97] Mylopoulos, J., “Information Modeling in the Time of the Revolution”, Information Systems 23(3-4), June 1998, 127-156.

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

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

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

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

References (cont’d)