Presentation on theme: " 2011 John Mylopoulos NTUA -- 1 From Software Models To Social Models John Mylopoulos University of Trento NTUA, Athens April 11, 2011."— Presentation transcript:
2011 John Mylopoulos NTUA -- 1 From Software Models To Social Models John Mylopoulos University of Trento NTUA, Athens April 11, 2011
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.
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.
2011 John Mylopoulos NTUA -- 4 Consider studying in
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.
2011 John Mylopoulos NTUA -- 6 Origins in Computer Science semantic networks ➥ Ross Quillian proposed semantic networks as a model of the structure of human memory (1966). Simula ➥ Ole-Johan Dahl proposed in 1967 Simula, an extension of the programming language ALGOL 60, for simulation applications which require some “world modelling” semantic model Entity-Relationship model ➥ 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. Structured Analysis and Design Technique SADT ➥ 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 -- 7 Conceptual ModelsAnimal Bird - can fly Fish - can swim Mammal Penguin - can’t fly Shark Human eats Feather has isa CustomerCustomer M M 1 1Places/PlacedByPlaces/PlacedBy M M M M Contains/isContainedContains/isContained BookBook OrderOrder Buy Supplies Cultivate Extract Seeds Seed & Vegie Prices Plan & Budget Weather Plan Budget Fertilizer Seeds Plants Vegetables Pick Produce Vegetables Grow Vegetables Money
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
2011 John Mylopoulos NTUA -- 9 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 -- 10 Basic Ontologies ➥ Static EntityAttribute RelationshipResource ➥ Static -- encompass static aspects of an application, described in terms of concepts such as Entity, Attribute, Relationship, Resource,... ➥ Dynamic Process ActivityActionPlanProcedureEventState Transition ➥ Dynamic -- encompass dynamic aspects within an application, described in terms of concepts such as Process, Activity, Action, Plan, Procedure, Event,... or State, Transition,... ➥ Intentional IssueGoalSoftgoal SupportsDeniesSubgoalOf ➥ 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 Actor PositionRole ➥ 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 -- 11 Research Methodology I … The meaning triangle Sign Concept Referent Tulips 1,2,3,4,5,6 Flower
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 Forever lives ?
2011 John Mylopoulos NTUA -- 13 Pitfalls of Informal Models “Far Side” by Gary Larson
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 …”
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, … Paolo Buono lives in Trento and works at the University of Trento
2011 John Mylopoulos NTUA -- 16 “Far Side” take on the Semantic Web
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]
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
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!
2011 John Mylopoulos NTUA -- 20 Requirements Engineering Requirements 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
2011 John Mylopoulos NTUA -- 21 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 Machine Domain
2011 John Mylopoulos NTUA -- 22
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. Buy Supplies Cultivate Extract Seeds Seed & Vegie Prices Plan & Budget Weather Plan Budget Fertilizer Seeds Plants Vegetables Pick Produce Vegetables Grow Vegetables Money
2011 John Mylopoulos NTUA -- 24 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 -- 25 A Goal model Schedule meeting Choose schedule By Person Collect timetables AutomaticallyManuallyCollect from users Collect from agents Receive response Send request AND OR By System OR Collect Schedule Tasks -- Rooms available Domain assumption AND
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. softgoals satisficed 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 -- 27 A softgoal model Programmability + + ++ Support Change of Colours Support Change of State Support Change of Language Error Avoidance Information Sharing Ease of Learning User Tailorability Usability Allow User-Defined Writing Tool Modularity Use Components User Flexibility Allow Change of Settings + + + AND Change colour Change state Change language
2011 John Mylopoulos NTUA -- 28 Evaluating alternatives with softgoals
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
2011 John Mylopoulos NTUA -- 30 Stakeholders and their goals ContributeToMtg AttendMtg UsefulMtg CalendarInfo SuitableTime Scheduler Participant ScheduleMtg resource task actor Initiator
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, …
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 worlds Cultural worlds Legal worlds
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 …
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
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
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.htmhttp://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)