Agile Design of SocialApplications    Professor Kuldar Taveter   Department of InformaticsTallinn University of Technology
Part IINTRODUCTION
Who am I? Name: Kuldar Taveter Position: Professor, Chair of Software Engineering Education:       Dip.Eng., TUT, 1988...
Who are you?
Why agile? We need to design a product fast We need to develop a prototype fast
Why social? Products that perceive their environment and  interact Products that support people in their  everyday activ...
Socio-technical system A software intensive system that has defined  operational processes followed by human  operators a...
Where are we? We have a business model   Customer segments   Value propositions   Channels   Customer relationships  ...
Different kinds of products Physical Digital Hybrid
Agent-oriented modelling
The book’s mission To address how computing can support  individuals and social organizations in the  environment where t...
Examples Tourist advisor Smart parking Fair grocery shopping Personal medical assistant
Tourist advisor
Smart parking
Fair grocery shopping Customers post the prices they paid for their  groceries and QoS information A prospective shopper...
Pr   od        uc             t in                    fo                       rm                            at           ...
Pr  i ce         inf            or              m                  at                    ionPrice information             ...
Personal medical assistant
Revisiting Busines Model Canvas
The Viewpoint Framework                Viewpoint aspect  Abstraction   Interaction     Information   Behavior  layer  Anal...
What is model? A hypothetical, simplified description of a  complex entity or process “A model should be as complex as i...
Examples of models A model of the solar system The model of a gold mine The model of a chemical plant Air traffic simu...
Part IIIGOAL MODELLING
The Viewpoint Framework                Viewpoint aspect  Abstraction   Interaction     Information   Behavior  layer  Anal...
Concepts for goal models Goal     Functional goal     Quality goal Role
What is goal? Dream with a deadline  A particular state of affairs intended by one or  more agents
Two kinds of goals Functional goal: a goal that captures one or  more desired scenarios. Example: attend the  lecture Qu...
What is role? Some capacity or position that the system  requires in order to achieve its goals Examples
Goal model Hierarchy of goals Roles associated with goals Quality goals attached to goals
Goal model for tourist advisor                                                                        Value               ...
Goal model for smart parking                                                                                              ...
Goal model for fair grocery        shopping                                      Societally         Customer     Advantage...
Goal model for personal medicalassistant (1)                              Maximal                              well-being ...
Goal model for personal medicalassistant (2) Up-to-date                                  Monitor health                   ...
Goal model for personal medicalassistant (3)                                 Diagnose health                              ...
Goal model for Asperger’s Game                      Value                   proposition
Notation for goal models        Symbol                 Meaning                          (Functional) Goal:                ...
Goal model asa project management tool
Teamwork Create a goal model for the product idea of  your team Include relevant quality goals and roles Use an A1 pape...
Part IVROLE AND ORGANIZATIONMODELLING
The Viewpoint Framework                Viewpoint aspect  Abstraction   Interaction     Information   Behavior  layer  Anal...
Role model Role models are orthogonal to goal models A role model consists of the following four  elements to describe t...
Role model for Parking Assistantin smart parking   Role name        Parking Manager   Description      The role of a commu...
Role model for Commuter in smartparkingRole name          CommuterDescription        The role of a commuter in the smart p...
Role model for Customer in fairgrocery shoppingRole               CustomerDescription        The role of customer in groce...
Role model for Assistant in fairgrocery shopping     Role               Assistant     Description        The role of a cus...
The Viewpoint Framework                Viewpoint aspect  Abstraction   Interaction     Information   Behavior  layer  Anal...
The organization model The model that represents relationships between  the roles of the socio-technical system There ca...
Organization model for smartparking        IsPeerTo                   Controls                  isBenevolentTo        Comm...
Organization model for fairgrocery shopping           IsPeerTo                       IsBenevolentTo           Customer    ...
Organization model for personalmedical assistant                isBenevolentTo             isPeer    Physician            ...
Part VMODELLING KNOWLEDGEFOR THE SYSTEM
The Viewpoint Framework                Viewpoint aspect  Abstraction   Interaction     Information   Behavior  layer  Anal...
Concept for domain models Domain entity
What is domain entity? A modular unit of knowledge handled by a  sociotechnical system Examples
Domain model Domain model represents the knowledge  within the system that the system is supposed  to handle A domain mo...
Domain model for tourist advisor                                                                            Identifies    ...
Domain model for smart parking                                                    Negotiates                           PAR...
Domain model for fair groceryshopping                          SHOPPING                          BASKET                   ...
Domain model for personalmedical assistant                                         Asks                                   ...
Part VIDECIDING SOFTWARECOMPONENTS
Software, hardware, humans, …? We now need to decide the software system  boundary of the socio-technical system
Software system boundary forsmart parking        IsPeerTo                   Controls                  isBenevolentTo      ...
Software system boundary for fairgrocery shopping           IsPeerTo                       IsBenevolentTo          Custome...
Agents We now need to decide the types of  components – agents – of the sociotechnical  system Why agents?     Proactiv...
What is agent? An active entity as opposed to a passive  entity An entity that can act in the environment,  perceive eve...
Agent Agent is an entity that perceives and affects  its environment and performs reasoning Agent is:     reactive;   ...
The abstract agent architecture
The execution loop of an abstractagent     while the agent is unfulfilled do        sense the environment;      update the...
What is intelligent agent? An agent that is reactive, proactive, and  social Examples
Anthropomorphic qualities Beliefs Responsibilities Expectations Capabilities Goals Desires Intentions
Mobile devices Personal Social Are aware of their location at least up to the  granularity of a GSM cell Can perceive ...
Mapping roles to agents in theindividualized healthcare system             Patient                         Physician      ...
Architecture of the individualizedhealthcare system           Intelligent Physical Device     Physician Intelligent Assisa...
The execution loop of an abstractagent     while the agent is unfulfilled do        sense the environment;      update the...
A part of the execution loop of thetourist advisor    while the tourist advisor is unfulfilled do             determine th...
A part of the execution loop of theparking assistant  while the parking assistant is unfulfilled do                perceiv...
A part of the execution loop of themonitor     while the monitor is unfulfilled do       perceive blood glucose level;    ...
Teamwork Create a part of the execution loop for the  main software component of your product  idea
Upcoming SlideShare
Loading in …5
×

Kuldar Taveter TTU EIA

477 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
477
On SlideShare
0
From Embeds
0
Number of Embeds
38
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Kuldar Taveter TTU EIA

  1. 1. Agile Design of SocialApplications Professor Kuldar Taveter Department of InformaticsTallinn University of Technology
  2. 2. Part IINTRODUCTION
  3. 3. Who am I? Name: Kuldar Taveter Position: Professor, Chair of Software Engineering Education:  Dip.Eng., TUT, 1988  M.Sc., TUT, 1995  Ph.D., TUT, 2004 Work experience:  1985-1989: Institute of Cybernetics  1989-1993: Private companies  1993-1998: Department of Informatics of TUT  1997-2005: Technical Research Centre of Finland  2005-2008: The University of Melbourne, Australia  2008- : Department of Informatics of TUT  Jan-Aug 2011: University of South Carolina, USA Research areas: Agile product design and prototyping, intelligent systems, ambient intelligence, simulation systems
  4. 4. Who are you?
  5. 5. Why agile? We need to design a product fast We need to develop a prototype fast
  6. 6. Why social? Products that perceive their environment and interact Products that support people in their everyday activities –> sociotechnical systems
  7. 7. Socio-technical system A software intensive system that has defined operational processes followed by human operators and which operates within an organization A system that contains both a social aspect, which may be a subsystem, and a technical aspect
  8. 8. Where are we? We have a business model  Customer segments  Value propositions  Channels  Customer relationships  Revenue streams  Key resources  Key activities  Key partnerships  Cost structure We need to design a product
  9. 9. Different kinds of products Physical Digital Hybrid
  10. 10. Agent-oriented modelling
  11. 11. The book’s mission To address how computing can support individuals and social organizations in the environment where the computing is:  Pervasive;  Deployed over a range of devices;  With multiplicity of users Approach for engineering software systems that are:  Open;  Intelligent;  Adaptive
  12. 12. Examples Tourist advisor Smart parking Fair grocery shopping Personal medical assistant
  13. 13. Tourist advisor
  14. 14. Smart parking
  15. 15. Fair grocery shopping Customers post the prices they paid for their groceries and QoS information A prospective shopper enters a grocery list and obtains a pointer to the store(s) with the lowest total price (and best service) Each customer has an app representing his/her interests and interacting with the agents of the other customers Results from initial experiments by Prof. Michael Huhns and Hongying Du: savings up to 21% can be obtained!
  16. 16. Pr od uc t in fo rm at ionProduct information Pr od uc t in fo rm at ion
  17. 17. Pr i ce inf or m at ionPrice information Price and Feedback Database Pr i ce inf or m at ion
  18. 18. Personal medical assistant
  19. 19. Revisiting Busines Model Canvas
  20. 20. The Viewpoint Framework Viewpoint aspect Abstraction Interaction Information Behavior layer Analysis Role models Domain model Goal models and organization model Design Agent models, Knowledge Agent behavior acquaintance model models model, and interaction models Prototyping Interaction Information Behavior prototyping prototyping prototyping
  21. 21. What is model? A hypothetical, simplified description of a complex entity or process “A model should be as complex as it needs, but not more complex”, David Lorge Parnas What features... - are important? - can be ignored?
  22. 22. Examples of models A model of the solar system The model of a gold mine The model of a chemical plant Air traffic simulator:
  23. 23. Part IIIGOAL MODELLING
  24. 24. The Viewpoint Framework Viewpoint aspect Abstraction Interaction Information Behavior layer Analysis Role models Domain model Goal models and organization model Design Agent models, Knowledge Agent behavior acquaintance model models model, and interaction models Prototyping Interaction Information Behavior prototyping prototyping prototyping
  25. 25. Concepts for goal models Goal  Functional goal  Quality goal Role
  26. 26. What is goal? Dream with a deadline  A particular state of affairs intended by one or more agents
  27. 27. Two kinds of goals Functional goal: a goal that captures one or more desired scenarios. Example: attend the lecture Quality goal: quality requirement of the achievement of the functional goal. Example: attend the lecture attentively
  28. 28. What is role? Some capacity or position that the system requires in order to achieve its goals Examples
  29. 29. Goal model Hierarchy of goals Roles associated with goals Quality goals attached to goals
  30. 30. Goal model for tourist advisor Value Authentic proposition Tourist Have a tour GPS Advisor Service Provider Determine Point out Recommend Guide Rate ReputationPrecise the location sightseeing spots the spot the tourist the spot enhancing Loved by Profile locals honoured Check Check Match tourist tourist profile the rating profile
  31. 31. Goal model for smart parking Value proposition Commuter Parking Secure Manager Maximal Advantageous Park smartly societal welfare Preferences honored Find a Leave Quickly Park the car parking spot the parking spot ParkingService Provider Check Direct Register Initiate Register Stop Decide the options the driver arrival payment departure payment Up-to-date Optimal Maximal Accurate Precise Accurate Precise granularity GPS GPS Parking GPS Parking Service Service Service Service Service Provider Provider Provider Provider Provider
  32. 32. Goal model for fair grocery shopping Societally Customer Advantageously Value proposition Perform shopping Anonymous Store Assistant Decide stores’ Exchange price Create Find Decide BuyJoin the system shopping and quality shopping list potential stores the route products baskets information Easy According Close Minimal overall Optimal Minimal to the need Secure price participation Quality Simple products
  33. 33. Goal model for personal medicalassistant (1) Maximal well-being Value proposition Deliver healthcare Personalized Patient Monitor health Diagnose health condition condition Monitor Physician
  34. 34. Goal model for personal medicalassistant (2) Up-to-date Monitor health condition Quick Receive values Verify the Analyse the Generate alert on the measurements measurements messages measurements Timely Reliable Monitor Patient
  35. 35. Goal model for personal medicalassistant (3) Diagnose health condition Patient Physician Analyse medical Ask about genetic Identify possible Recommend history defects disease healthy lifestyles Family Member
  36. 36. Goal model for Asperger’s Game Value proposition
  37. 37. Notation for goal models Symbol Meaning (Functional) Goal: To-Do goal Quality Goal: To-Be goal Quality Goal: To-Feel goal Role Relationship between goals Relationship between goals and quality goals
  38. 38. Goal model asa project management tool
  39. 39. Teamwork Create a goal model for the product idea of your team Include relevant quality goals and roles Use an A1 paper OR Use the Microsoft Visio Stencils for AOM: http://maurus.ttu.ee/sts/wp- content/uploads/2012/07/AOM-Visio- Stencils.zip
  40. 40. Part IVROLE AND ORGANIZATIONMODELLING
  41. 41. The Viewpoint Framework Viewpoint aspect Abstraction Interaction Information Behavior layer Analysis Role models Domain model Goal models and organization model Design Agent models, Knowledge Agent behavior acquaintance model models model, and interaction models Prototyping Interaction Information Behavior prototyping prototyping prototyping
  42. 42. Role model Role models are orthogonal to goal models A role model consists of the following four elements to describe the role:  Role name: A name identifying the role  Description: A textual description of the role  Responsibilities: A list of responsibilities that the agent playing the role must perform in order for a set of goals and their associated quality goals to be achieved  Constraints: A list of conditions that the agent playing the role must take into consideration when exercising its responsibilities
  43. 43. Role model for Parking Assistantin smart parking Role name Parking Manager Description The role of a commuter’s parking manager in the smart parking system Obtain parking preferences from the commuter Obtain destination from the commuter Check parking service provider for parking spots Express the destination and preferences Negotiate with other commuters if needed Receive from the parking service provider options for parking spots Present the commuter with the options (including prices) Responsibilities Decide one of the options Direct the commuter to the parking spot Inform the parking service provider about taking a parking spot Leave the parking spot Receive the charge Inform the commuter about the charge Inform the parking service provider about leaving the parking spot Parking preferences by the commuter should be honored Negotiations with other customers should be anonymous and fair Driver should be directed to the parking spot with maximal granularity Constraints Arrival and departure times should be accurately registered Minimal possible parking charge should be chosen (e.g., -15 minutes) Information exchange with the parking manager should be opaque and anonymous
  44. 44. Role model for Commuter in smartparkingRole name CommuterDescription The role of a commuter in the smart parking system. Provide the parking manager with the parking preferences Provide the parking manager with the destination Receive from the parking manager options for parking spots Decide one of the optionsResponsibilities Follow the directions by the parking manager Park the car in the parking spot chosen Accept the charge Leave the parking spotConstraints A car has to be parked in the parking spot chosen
  45. 45. Role model for Customer in fairgrocery shoppingRole CustomerDescription The role of customer in grocery shoppingResponsibilities Join the system Create the shopping list Pick products from the typical shopping list Confirm the stores and shopping baskets suggested by the assistant Confirm the route suggested by the assistant Drive to the stores Buy products Register product informationConstraints To benefit from the product information posted by other customers, the customer must authorize posting of his/her product information.
  46. 46. Role model for Assistant in fairgrocery shopping Role Assistant Description The role of a customer’s assistant in grocery shopping Responsibilities Find potential stores Decide and propose the stores and their respective shopping baskets Decide and propose the route Create the typical shopping list Post price and quality-of-product information Receive price and quality-of-product information Constraints Creating a shopping list should be simple and reflect the need by the customer Potential stores must be close to the customer The preferences by the customer must be honored when deciding the stores and their shopping baskets The overall price should be as low as possible Quality of products chosen should be as high as possible Informing other customers should be secure and anonymous To post price and quality-of-product information, the customer must have scanned or inserted the product information
  47. 47. The Viewpoint Framework Viewpoint aspect Abstraction Interaction Information Behavior layer Analysis Role models Domain model Goal models and organization model Design Agent models, Knowledge Agent behavior acquaintance model models model, and interaction models Prototyping Interaction Information Behavior prototyping prototyping prototyping
  48. 48. The organization model The model that represents relationships between the roles of the socio-technical system There can be different types of organizational relationships:  Is controlled by  Between a „boss“ and his subordinates  Is benevolent to  Between self interested roles  Is peer to  Between equal roles  Is dependent for resource  …
  49. 49. Organization model for smartparking IsPeerTo Controls isBenevolentTo Commuter Parking Assistant GPS Service isBenevolentTo Provider Parking Service Provider Private Municipal Parking Parking Service Service Provider Provider
  50. 50. Organization model for fairgrocery shopping IsPeerTo IsBenevolentTo Customer Store Controls IsPeerTo Assistant Coordinator
  51. 51. Organization model for personalmedical assistant isBenevolentTo isPeer Physician Patient Family Member Monitor
  52. 52. Part VMODELLING KNOWLEDGEFOR THE SYSTEM
  53. 53. The Viewpoint Framework Viewpoint aspect Abstraction Interaction Information Behavior layer Analysis Role models Domain model Goal models and organization model Design Agent models, Knowledge Agent behavior acquaintance model models model, and interaction models Prototyping Interaction Information Behavior prototyping prototyping prototyping
  54. 54. Concept for domain models Domain entity
  55. 55. What is domain entity? A modular unit of knowledge handled by a sociotechnical system Examples
  56. 56. Domain model Domain model represents the knowledge within the system that the system is supposed to handle A domain model consists of domain entities and relationships between them. A domain entity is ? A domain model relates domain entities to roles
  57. 57. Domain model for tourist advisor Identifies Tourist Provides TOURIST LOCATION Based on SIGHTSEEING PROFILE SPOT Is a kind of Checks Determines Based on Points outBased on DIRECTIONS Generates Generates Advisor RECOM- MENDATION
  58. 58. Domain model for smart parking Negotiates PARKING Knows Knows DESTINATION PREFERENCES Parking Assistant Asks about PARKING Informs Recommends PARKING CHARGE Informs STATUS SPOTPARKING Consist of PARKING KnowsSPOT RESOURCES Parking Service Provider
  59. 59. Domain model for fair groceryshopping SHOPPING BASKET Creates Is based on FUEL COST Considers Considers SHOPPING LIST Assistant Is based on Considers Considers STORE PRODUCT LOCATION INFORMATION
  60. 60. Domain model for personalmedical assistant Asks GENETIC DEFECTS Physician Analyses Recommends Identifies Informs MEDICAL HEALTHY DISEASES HISTORY LIFESTYLES Provides Receives Family Member Analyses Generates Patient VERIFIED ALERT MEASUREMENTS MESSAGES Sends Monitor
  61. 61. Part VIDECIDING SOFTWARECOMPONENTS
  62. 62. Software, hardware, humans, …? We now need to decide the software system boundary of the socio-technical system
  63. 63. Software system boundary forsmart parking IsPeerTo Controls isBenevolentTo Commuter Parking Assistant GPS Service isBenevolentTo Provider Parking Service Provider Private Municipal Parking Parking Service Service Provider Provider
  64. 64. Software system boundary for fairgrocery shopping IsPeerTo IsBenevolentTo Customer Store Controls IsPeerTo Assistant Coordinator
  65. 65. Agents We now need to decide the types of components – agents – of the sociotechnical system Why agents?  Proactivity  Reactivity  Social nature
  66. 66. What is agent? An active entity as opposed to a passive entity An entity that can act in the environment, perceive events, and reason An entity that acts on behalf of someone or somebody
  67. 67. Agent Agent is an entity that perceives and affects its environment and performs reasoning Agent is:  reactive;  proactive;  social. Agent interacts in an asynchronous way
  68. 68. The abstract agent architecture
  69. 69. The execution loop of an abstractagent while the agent is unfulfilled do sense the environment; update the knowledge base; reason; choose actions; act; end while
  70. 70. What is intelligent agent? An agent that is reactive, proactive, and social Examples
  71. 71. Anthropomorphic qualities Beliefs Responsibilities Expectations Capabilities Goals Desires Intentions
  72. 72. Mobile devices Personal Social Are aware of their location at least up to the granularity of a GSM cell Can perceive their immediate environment through embedded light, sound, and motion sensors
  73. 73. Mapping roles to agents in theindividualized healthcare system Patient Physician Physician Patient Family Member Assistant Assistant Persons Physician Intelligent Assisant Intelligent Patient Assistant Family Member Assistant Glucose Pulse Meter oximeter Family Member Intelligent Assisant
  74. 74. Architecture of the individualizedhealthcare system Intelligent Physical Device Physician Intelligent Assisant Ask and Receive Generate Alerts Genetic Defects and Notifies Family Member Intelligent Assisant Analyse Glucose Profile Meter Verify and Analyse Measurements Identifies and Recommend Lifestyles Update and Identify possible Retrive Profile diseases Pulseoximeter ESTONIAN HEALTH INFORMATION SYSTEM (EHIS)
  75. 75. The execution loop of an abstractagent while the agent is unfulfilled do sense the environment; update the knowledge base; reason; choose actions; act; end while
  76. 76. A part of the execution loop of thetourist advisor while the tourist advisor is unfulfilled do determine the location; find sightseeing spots; point out sightseeing spots; If (sightseeing spot matches with the tourist profile and has high rating) recommend the sightseeing spot; end while
  77. 77. A part of the execution loop of theparking assistant while the parking assistant is unfulfilled do perceive parking; determine the location; find the parking service provider; negotiate parking fee; start parking; end while
  78. 78. A part of the execution loop of themonitor while the monitor is unfulfilled do perceive blood glucose level; analyse blood glucose level; if (blood glucose level is high) alert intelligent patient assistant; end while
  79. 79. Teamwork Create a part of the execution loop for the main software component of your product idea

×