From Software Models To Social Models John Mylopoulos University of Trento NTUA, Athens April 11, 2011 2011 John Mylopoulos NTUA -- 1 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. 2011 John Mylopoulos NTUA -- 2 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. 2011 John Mylopoulos NTUA -- 3 Consider studying in T 2011 John Mylopoulos NTO NTUA -- 4 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. 2011 John Mylopoulos NTUA -- 5 Origins in Computer Science ➥ Ross Quillian proposed semantic networks as a model of the structure of human memory (1966). ➥ Ole-Johan Dahl proposed in 1967 Simula, an extension of the programming language ALGOL 60, for simulation applications which require some “world modelling” ➥ Jean-Raymond Abrial proposed a semantic model in 1974, shortly followed by Peter Chen’s Entity-Relationship model (1975) as advances over logical data models, such as Codd’s Relational Model. ➥ Doug Ross proposed in the mid-70s the Structured Analysis and Design Technique (SADT) as a “language for communicating ideas”. The technique was used to specify requirements for software systems. 2011 John Mylopoulos NTUA -- 6 Animal isa isa isa has Bird - can fly Fish - can swim Mammal Feather isa isa Penguin - can’t fly eats Conceptual Models Shark Places/ PlacedBy Human Customer 1 M Order M Seed & Vegie Prices Plan & Budget Weather M Plan Budget Book Fertilizer Money Contains/ isContained Buy Supplies Seeds Cultivate Plants Pick Produce Vegetables Vegetables Extract Seeds Grow Vegetables 2011 John Mylopoulos NTUA -- 7 Defining Moment for Conceptual Modelling (CM) "...The entity-relationship model adopts ... the natural view that the real world consists of entities and relationships... (The entityrelationship model) incorporates some of the important semantic information about the real world...” [Chen75], VLDB’75 2011 John Mylopoulos NTUA -- 8 1975-1997 – Exploring the Frontier ➥ Many applications Design models for databases and software (DB, IS, SE) Knowledge-based systems (AI, IS) Knowledge management (AI, IS) ➥ Many modelling languages Dozens of proposals for semantic network- and frame-based languages, description logics, … More dozens for semantic data models … Box-and-arrow notations in SE 2011 John Mylopoulos NTUA -- 9 Basic Ontologies ➥ Static -- encompass static aspects of an application, described in terms of concepts such as Entity, Attribute, Relationship, Resource,... ➥ Dynamic -- encompass dynamic aspects within an application, described in terms of concepts such as Process, Activity, Action, Plan, Procedure, Event, ... or State, Transition,... ➥ Intentional -- encompass the world of things agents (human or otherwise) believe in, want, prove, argue about; covered by concepts such as Issue, Goal, Softgoal, Supports, Denies, SubgoalOf, ... ➥ Social -- encompass social settings described in terms of social activities and dependencies among actors, e.g., Actor, Position, Role, Commitment of A to Β for φ, ... [Mylopoulos97] 2011 John Mylopoulos NTUA -- 10 Research Methodology I … The meaning triangle Concept Flower Sign Tulips 1,2,3,4,5,6 2011 John Mylopoulos Referent NTUA -- 11 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. ? 2011 John Mylopoulos Freedom lives Forever NTUA -- 12 Pitfalls of Informal Models “Far Side” by Gary Larson 2011 John Mylopoulos NTUA -- 13 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 problemoriented, 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 …” 2011 John Mylopoulos NTUA -- 14 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, <person> Paolo Buono <residence> lives in Trento </residence> and works at the <work> University of Trento </work> </person> 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, … 2011 John Mylopoulos NTUA -- 15 “Far Side” take on the Semantic Web 2011 John Mylopoulos NTUA -- 16 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] 2011 John Mylopoulos NTUA -- 17 The Formal Tools of OA Theory Theory Theory Theory Theory Theory … of of of of of of Essence and Identity Parts (Mereology) Unity and Plurality Dependence Composition and Constitution Properties and Qualities OA is to CM what Sub-atomic Physics is to Physics 2011 John Mylopoulos NTUA -- 18 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! 2011 John Mylopoulos NTUA -- 19 Requirements Engineering Requirements Engineering (RE) consists of activities intended to identify and communicate the purpose of a softwareintensive 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 2011 John Mylopoulos Machine Domain NTUA -- 20 Criticality of RE Causes 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 2011 John Mylopoulos Machine Domain NTUA -- 21 2011 John Mylopoulos NTUA -- 22 Origins of RE -- SADT (~1975) Novel Ideas Modeling the operating environment of a software system. Money Models represented in terms of boxand-arrow notation. & Seed & Vegie Plan Budget Prices Weather Plan Budget Fertilizer Buy Supplies Seeds Cultivate Plants Pick Produce Vegetables Vegetables Extract Seeds Grow Vegetables 2011 John Mylopoulos NTUA -- 23 Requirements as Goals Requirements 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. 2011 John Mylopoulos NTUA -- 24 Domain assumption A Goal model Schedule meeting AND Collect timetables OR OR By System OR Collect from agents OR 2011 John Mylopoulos -- OR OR Manually Collect from users AND Collect AND Choose schedule By Person Tasks Rooms available AND Send request Automatically AND Receive response Schedule NTUA -- 25 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 softgoals; they can be thought as “ fuzzy goals ” with no clear-cut criteria for satisfaction; hence softgoals are satisficed, rather than satisfied. Softgoals can be used as criteria for selecting among alternative designs. 2011 John Mylopoulos NTUA -- 26 A softgoal model Usability AND Error Avoidance AND Information Sharing AND AND Ease of Learning User Flexibility Allow Change of Settings Support Change of Colours Change colour 2011 John Mylopoulos User Tailorability + + + + Support Change of State Change state AND AND Programmability + Modularity Support Change of Language + Use Components + Allow User-Defined Writing Tool Change language NTUA -- 27 Good quality schedule Minimal effort AND AND AND AND Good participation Minimal conflicts Matching effort AND Collection effort - AND Collect timetables + Evaluating alternatives By Person with softgoals + + + OR Choose schedule OR OR By System OR OR Collect from Users Manually Automatically Accurate Constraints 2011 John Mylopoulos + - OR Collect from Agents Minimal Disturbances Schedule meeting + AND Send Request AND Receive Response NTUA -- 28 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 2011 John Mylopoulos NTUA -- 29 Stakeholders and their goals ContributeToMtg actor UsefulMtg Initiator ScheduleMtg CalendarInfo Participant Scheduler AttendMtg resource task SuitableTime 2011 John Mylopoulos NTUA -- 30 (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, … 2011 John Mylopoulos NTUA -- 31 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 worlds Cultural worlds Legal worlds 2011 John Mylopoulos NTUA -- 32 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 … 2011 John Mylopoulos NTUA -- 33 “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 2011 John Mylopoulos NTUA -- 34 References [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. 2011 John Mylopoulos NTUA -- 35 References (cont’d) [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 NonFunctional 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. 2011 John Mylopoulos NTUA -- 36