360 likes | 490 Views
From Software Models To Social Models. John Mylopoulos University of Trento. NTUA, Athens April 11, 2011. Abstract.
E N D
From Software Models To Social Models John Mylopoulos University of Trento NTUA, Athens April 11, 2011
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.
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.
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.
Origins in Computer Science • Ross Quillian proposed semantic networksas 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 modelin 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.
Plan & Seed & Vegie Weather Budget Animal Prices Places/ PlacedBy Plan isa isa Budget Order Customer isa 1 M Money Fertilizer has Bird - can fly Fish - can swim M Buy Mammal Contains/ isContained Supplies isa Feather M isa Seeds Cultivate Penguin - can’t fly eats Shark Book Human Plants Pick Vegetables Produce Vegetables Extract Seeds Grow Vegetables Conceptual Models
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
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
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]
Research Methodology I • … The meaning triangle Concept Flower Sign Referent Tulips 1,2,3,4,5,6
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 lives Forever
Pitfalls of Informal Models “Far Side” by Gary Larson
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 …”
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>
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]
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
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!
Requirements Engineering Requirements Engineering (RE) consists ofactivities intended to identify and communicatethe 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 specification domain properties programs requirements computers
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 specification domain properties programs Machine Domain Application Domain requirements computers
Plan & Seed & Vegie Weather Budget Prices Plan Budget Money Fertilizer Buy Supplies Seeds Cultivate Plants Pick Vegetables Produce Vegetables Extract Seeds Grow Vegetables Origins of RE -- SADT (~1975) Novel Ideas • Modeling the operating environment of a software system. • Models represented in terms of box-and-arrow notation.
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.
Collect timetables Schedule meeting Choose schedule By Person Automatically Manually Collect from users Collect from agents Receive response Send request By System Collect Domain assumption A Goal model Rooms available AND AND AND OR OR -- OR OR OR OR Tasks AND AND Schedule
Softgoals • (Functional) Goals, such as “Schedule meeting” are well defined; non-functional goals, such “higher profits”, “higher customer satisfaction” or “easily maintainable system” specify qualitiesthe 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.
A softgoal model • Usability AND AND AND AND User Tailorability Information Sharing Error Avoidance Ease of Learning AND User Flexibility AND Programmability Allow Change of Settings + + Modularity + + + + Support Change of Language Support Change of Colours + Support Change of State Allow User-Defined Writing Tool Use Components Change colour Change language Change state
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
Stakeholders and their goals ContributeToMtg Initiator actor UsefulMtg ScheduleMtg CalendarInfo Participant Scheduler AttendMtg resource task SuitableTime
(Social) Commitments • [Bratman87] and [Cohen90] formalized the notion of an agent’s (psychological) commitmentto 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, …
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
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 …
“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
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.
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 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.