SlideShare uma empresa Scribd logo
1 de 79
Baixar para ler offline
Agile Design of Social
Applications

    Professor Kuldar Taveter
   Department of Informatics
Tallinn University of Technology
Part I

INTRODUCTION
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
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 activities –> sociotechnical systems
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
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
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 the computing is:
     Pervasive;
     Deployed over a range of devices;
     With multiplicity of users
 Approach for engineering software systems
  that are:
     Open;
     Intelligent;
     Adaptive
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 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!
Pr
   od
        uc
             t in
                    fo
                       rm
                            at
                              ion




Product information




                             Pr
                               od
                        uc
                 t in
         fo
            rm
 at
   ion
Pr
  i ce
         inf
            or
              m
                  at
                    ion




Price information
                           Price and Feedback Database




                  Pr
                    i ce
         inf
            or
              m
 at
   ion
Personal medical assistant
Revisiting Busines Model Canvas
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
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?
Examples of models
 A model of the solar system
 The model of a gold mine
 The model of a chemical plant
 Air traffic simulator:
Part III

GOAL MODELLING
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
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
 Quality goal: quality requirement of the
  achievement of the functional goal. Example:
  attend the lecture attentively
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
                                          Authentic                  proposition

                                                        Tourist


                                                       Have a tour

                                          GPS                         Advisor
                                    Service Provider



             Determine          Point out          Recommend            Guide           Rate        Reputation
Precise     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
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
    Parking
Service 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
Goal model for fair grocery
        shopping

                                      Societally         Customer     Advantageously                 Value
                                                                                                  proposition
                                                        Perform
                                                        shopping

                                                                                                                     Anonymous
                                    Store                                 Assistant



                                                                Decide stores’                                     Exchange price
                       Create                    Find                                  Decide             Buy
Join 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
Goal model for personal medical
assistant (1)
                              Maximal
                              well-being
                                               Value
                                            proposition

                              Deliver
                             healthcare        Personalized


           Patient




            Monitor health                 Diagnose health
             condition                        condition


 Monitor                                                      Physician
Goal model for personal medical
assistant (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
Goal model for personal medical
assistant (3)
                                 Diagnose health
                                    condition



            Patient                                                 Physician




  Analyse medical     Ask about genetic      Identify possible     Recommend
      history              defects               disease         healthy lifestyles




                       Family Member
Goal model for Asperger’s Game
                      Value
                   proposition
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
Goal model as
a project management tool
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
Part IV

ROLE AND ORGANIZATION
MODELLING
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
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
Role model for Parking Assistant
in 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
Role model for Commuter in smart
parking

Role name          Commuter
Description        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 options
Responsibilities
                   Follow the directions by the parking manager
                   Park the car in the parking spot chosen
                   Accept the charge
                   Leave the parking spot
Constraints        A car has to be parked in the parking spot chosen
Role model for Customer in fair
grocery shopping
Role               Customer
Description        The role of customer in grocery
                   shopping
Responsibilities   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 information
Constraints        To benefit from the product
                   information posted by other customers,
                   the customer must authorize posting of
                   his/her product information.
Role model for Assistant in fair
grocery 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
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
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
      …
Organization model for smart
parking
        IsPeerTo


                   Controls                  isBenevolentTo



        Commuter              Parking Assistant                 GPS
                                                              Service
                              isBenevolentTo                  Provider




                                  Parking
                                  Service
                                  Provider




                          Private Municipal
                         Parking   Parking
                         Service   Service
                         Provider Provider
Organization model for fair
grocery shopping
           IsPeerTo

                       IsBenevolentTo




           Customer                     Store



           Controls




                          IsPeerTo




           Assistant                 Coordinator
Organization model for personal
medical assistant
                isBenevolentTo             isPeer



    Physician                    Patient            Family Member




                                 Monitor
Part V

MODELLING KNOWLEDGE
FOR THE SYSTEM
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
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 model consists of domain entities
  and relationships between them. A domain
  entity is ? A domain model relates domain
  entities to roles
Domain model for tourist advisor

                                                                            Identifies
                                      Tourist

                                      Provides


                                   TOURIST       LOCATION       Based on SIGHTSEEING
                                   PROFILE                               SPOT
                                                                                         Is a kind of
                                      Checks       Determines
                        Based on
                                                                           Points out
Based on
           DIRECTIONS        Generates

                                                                        Generates


                                      Advisor


                                                                        RECOM-
                                                                        MENDATION
Domain model for smart parking
                                                    Negotiates


                           PARKING         Knows                 Knows        DESTINATION
                           PREFERENCES



                                                 Parking Assistant




                        Asks about   PARKING         Informs     Recommends      PARKING              CHARGE
                                                                                            Informs
                                     STATUS                                      SPOT




PARKING   Consist of   PARKING           Knows
SPOT                   RESOURCES



                                                     Parking
                                                     Service
                                                     Provider
Domain model for fair grocery
shopping
                          SHOPPING
                          BASKET




                                 Creates               Is based on



     FUEL COST      Considers              Considers       SHOPPING LIST




                                Assistant
           Is based on                             Considers

                                Considers



                          STORE                            PRODUCT
                          LOCATION                         INFORMATION
Domain model for personal
medical 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
Part VI

DECIDING SOFTWARE
COMPONENTS
Software, hardware, humans, …?
 We now need to decide the software system
  boundary of the socio-technical system
Software system boundary for
smart parking
        IsPeerTo


                   Controls                  isBenevolentTo



        Commuter              Parking Assistant                 GPS
                                                              Service
                              isBenevolentTo                  Provider




                                  Parking
                                  Service
                                  Provider




                          Private Municipal
                         Parking   Parking
                         Service   Service
                         Provider Provider
Software system boundary for fair
grocery shopping
           IsPeerTo

                       IsBenevolentTo




          Customer                      Store



           Controls




                          IsPeerTo




           Assistant                 Coordinator
Agents
 We now need to decide the types of
  components – agents – of the sociotechnical
  system
 Why agents?
     Proactivity
     Reactivity
     Social nature
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
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
The abstract agent architecture
The execution loop of an abstract
agent
     while the agent is unfulfilled do
        sense the environment;
      update the knowledge base;
                 reason;
             choose actions;
                   act;
               end while
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 their immediate environment
  through embedded light, sound, and motion
  sensors
Mapping roles to agents in the
individualized 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
Architecture of the individualized
healthcare 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
 Pulse
oximeter




                          ESTONIAN HEALTH INFORMATION SYSTEM (EHIS)
The execution loop of an abstract
agent
     while the agent is unfulfilled do
        sense the environment;
      update the knowledge base;
                 reason;
             choose actions;
                   act;
               end while
A part of the execution loop of the
tourist 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
A part of the execution loop of the
parking 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
A part of the execution loop of the
monitor
     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
Teamwork
 Create a part of the execution loop for the
  main software component of your product
  idea

Mais conteúdo relacionado

Mais procurados

Lessons in Marketing Excellence - Client MakeMyTrip
Lessons in Marketing Excellence - Client MakeMyTrip Lessons in Marketing Excellence - Client MakeMyTrip
Lessons in Marketing Excellence - Client MakeMyTrip Ashwin Gopal Krishna Setty
 
Copyright valuation damages nevium 2013
Copyright valuation damages nevium 2013Copyright valuation damages nevium 2013
Copyright valuation damages nevium 2013Brian Buss
 
Designing the User Experience
Designing the User ExperienceDesigning the User Experience
Designing the User ExperienceJason Wehmhoener
 
The Spectral Printer: From Technical Challenge To Business Case 
The Spectral Printer: From Technical Challenge To Business Case The Spectral Printer: From Technical Challenge To Business Case 
The Spectral Printer: From Technical Challenge To Business Case Jan Morovic
 
I decide fast lecture 6 revenue model
I decide fast lecture 6 revenue modelI decide fast lecture 6 revenue model
I decide fast lecture 6 revenue modelStanford University
 
Building Local/Geo Search with Apache Lucene and Solr
Building Local/Geo Search with Apache Lucene and SolrBuilding Local/Geo Search with Apache Lucene and Solr
Building Local/Geo Search with Apache Lucene and SolrLucidworks (Archived)
 
Sustainable business strategy for an evolving lighting market
Sustainable business strategy for an evolving lighting marketSustainable business strategy for an evolving lighting market
Sustainable business strategy for an evolving lighting marketpriyamgeorge
 

Mais procurados (9)

Lessons in Marketing Excellence - Client MakeMyTrip
Lessons in Marketing Excellence - Client MakeMyTrip Lessons in Marketing Excellence - Client MakeMyTrip
Lessons in Marketing Excellence - Client MakeMyTrip
 
Copyright valuation damages nevium 2013
Copyright valuation damages nevium 2013Copyright valuation damages nevium 2013
Copyright valuation damages nevium 2013
 
Designing the User Experience
Designing the User ExperienceDesigning the User Experience
Designing the User Experience
 
Opening Travel Traction Berlin
Opening Travel Traction BerlinOpening Travel Traction Berlin
Opening Travel Traction Berlin
 
The Spectral Printer: From Technical Challenge To Business Case 
The Spectral Printer: From Technical Challenge To Business Case The Spectral Printer: From Technical Challenge To Business Case 
The Spectral Printer: From Technical Challenge To Business Case 
 
I decide fast lecture 6 revenue model
I decide fast lecture 6 revenue modelI decide fast lecture 6 revenue model
I decide fast lecture 6 revenue model
 
Building Local/Geo Search with Apache Lucene and Solr
Building Local/Geo Search with Apache Lucene and SolrBuilding Local/Geo Search with Apache Lucene and Solr
Building Local/Geo Search with Apache Lucene and Solr
 
Sustainable business strategy for an evolving lighting market
Sustainable business strategy for an evolving lighting marketSustainable business strategy for an evolving lighting market
Sustainable business strategy for an evolving lighting market
 
Gupta colony
Gupta colonyGupta colony
Gupta colony
 

Destaque

Mark harris
Mark harrisMark harris
Mark harrisportgert
 
Eia pt.1 ipd
Eia pt.1   ipdEia pt.1   ipd
Eia pt.1 ipdportgert
 
Alar Kolk EIA Business Model
Alar Kolk EIA Business ModelAlar Kolk EIA Business Model
Alar Kolk EIA Business Modelportgert
 
TFA Leadership Academy Model - Dana Jarvis
TFA Leadership Academy Model - Dana JarvisTFA Leadership Academy Model - Dana Jarvis
TFA Leadership Academy Model - Dana JarvisDana Jarvis, MPA, MSW
 
Alar Kolk Intro
Alar Kolk IntroAlar Kolk Intro
Alar Kolk Introportgert
 
Peter Kelly EIA
Peter Kelly EIAPeter Kelly EIA
Peter Kelly EIAportgert
 
Motorhead Academy Business Plan
Motorhead Academy  Business PlanMotorhead Academy  Business Plan
Motorhead Academy Business PlanJezzebell Vinuela
 

Destaque (7)

Mark harris
Mark harrisMark harris
Mark harris
 
Eia pt.1 ipd
Eia pt.1   ipdEia pt.1   ipd
Eia pt.1 ipd
 
Alar Kolk EIA Business Model
Alar Kolk EIA Business ModelAlar Kolk EIA Business Model
Alar Kolk EIA Business Model
 
TFA Leadership Academy Model - Dana Jarvis
TFA Leadership Academy Model - Dana JarvisTFA Leadership Academy Model - Dana Jarvis
TFA Leadership Academy Model - Dana Jarvis
 
Alar Kolk Intro
Alar Kolk IntroAlar Kolk Intro
Alar Kolk Intro
 
Peter Kelly EIA
Peter Kelly EIAPeter Kelly EIA
Peter Kelly EIA
 
Motorhead Academy Business Plan
Motorhead Academy  Business PlanMotorhead Academy  Business Plan
Motorhead Academy Business Plan
 

Semelhante a Kuldar Taveter TTU EIA

Designing Big Data Interactions Using the Language of Discovery
Designing Big Data Interactions Using the Language of DiscoveryDesigning Big Data Interactions Using the Language of Discovery
Designing Big Data Interactions Using the Language of DiscoveryJoe Lamantia
 
Designing Big Data Interactions: The Language of Discovery
Designing Big Data Interactions: The Language of DiscoveryDesigning Big Data Interactions: The Language of Discovery
Designing Big Data Interactions: The Language of DiscoveryOReillyStrata
 
If Only I Could Create the Perfect Travel Website (2008)
If Only I Could Create the Perfect Travel Website (2008)If Only I Could Create the Perfect Travel Website (2008)
If Only I Could Create the Perfect Travel Website (2008)Jason Till
 
Designing Big Data Interactions Using the Language of Discovery
Designing Big Data Interactions Using the Language of DiscoveryDesigning Big Data Interactions Using the Language of Discovery
Designing Big Data Interactions Using the Language of DiscoveryJoe Lamantia
 
Slide presentation
Slide presentationSlide presentation
Slide presentationsinclair76
 
Everest Group's Research Offerings
Everest Group's Research OfferingsEverest Group's Research Offerings
Everest Group's Research OfferingsEverest Group
 
I3 Staff Augmentation Services Brochure
I3 Staff Augmentation Services BrochureI3 Staff Augmentation Services Brochure
I3 Staff Augmentation Services Brochureshaahking
 
How to measure user experience and marketing effectiveness in mobile services
How to measure user experience and marketing effectiveness in mobile servicesHow to measure user experience and marketing effectiveness in mobile services
How to measure user experience and marketing effectiveness in mobile servicesJanne Aalto
 
About Our Recommender System
About Our Recommender SystemAbout Our Recommender System
About Our Recommender SystemKimikazu Kato
 
GRS Market Research
GRS Market ResearchGRS Market Research
GRS Market ResearchMunish Kumar
 
Conversion Conference - What's in YOUR toolkit?
Conversion Conference - What's in YOUR toolkit?Conversion Conference - What's in YOUR toolkit?
Conversion Conference - What's in YOUR toolkit?Craig Sullivan
 
Microsoft The Power Of A Sourcing Pipeline 2008 12
Microsoft   The Power Of A Sourcing Pipeline 2008 12Microsoft   The Power Of A Sourcing Pipeline 2008 12
Microsoft The Power Of A Sourcing Pipeline 2008 12Robert Richardson
 
Online Business : Optimizing your sales channels, AT INTERNET eCommretail Li...
Online Business : Optimizing  your sales channels, AT INTERNET eCommretail Li...Online Business : Optimizing  your sales channels, AT INTERNET eCommretail Li...
Online Business : Optimizing your sales channels, AT INTERNET eCommretail Li...AT Internet
 
The Language of Discovery: Designing Big Data Interactions
The Language of Discovery: Designing Big Data InteractionsThe Language of Discovery: Designing Big Data Interactions
The Language of Discovery: Designing Big Data InteractionsJoe Lamantia
 
Online Proposition & Sales Flow Automotive | Douglas & Breitner
Online Proposition & Sales Flow Automotive | Douglas & Breitner Online Proposition & Sales Flow Automotive | Douglas & Breitner
Online Proposition & Sales Flow Automotive | Douglas & Breitner Stephan Schroeders (+31 645600507)
 
Neil Mason presents on Data Mining and Predictive Analytics at Emetrics San F...
Neil Mason presents on Data Mining and Predictive Analytics at Emetrics San F...Neil Mason presents on Data Mining and Predictive Analytics at Emetrics San F...
Neil Mason presents on Data Mining and Predictive Analytics at Emetrics San F...Foviance
 
Tour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haagTour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haagPeter Boersma
 

Semelhante a Kuldar Taveter TTU EIA (20)

Designing Big Data Interactions Using the Language of Discovery
Designing Big Data Interactions Using the Language of DiscoveryDesigning Big Data Interactions Using the Language of Discovery
Designing Big Data Interactions Using the Language of Discovery
 
Designing Big Data Interactions: The Language of Discovery
Designing Big Data Interactions: The Language of DiscoveryDesigning Big Data Interactions: The Language of Discovery
Designing Big Data Interactions: The Language of Discovery
 
If Only I Could Create the Perfect Travel Website (2008)
If Only I Could Create the Perfect Travel Website (2008)If Only I Could Create the Perfect Travel Website (2008)
If Only I Could Create the Perfect Travel Website (2008)
 
Designing Big Data Interactions Using the Language of Discovery
Designing Big Data Interactions Using the Language of DiscoveryDesigning Big Data Interactions Using the Language of Discovery
Designing Big Data Interactions Using the Language of Discovery
 
Cxjourney
CxjourneyCxjourney
Cxjourney
 
Slide presentation
Slide presentationSlide presentation
Slide presentation
 
Everest Group's Research Offerings
Everest Group's Research OfferingsEverest Group's Research Offerings
Everest Group's Research Offerings
 
I3 Staff Augmentation Services Brochure
I3 Staff Augmentation Services BrochureI3 Staff Augmentation Services Brochure
I3 Staff Augmentation Services Brochure
 
How to measure user experience and marketing effectiveness in mobile services
How to measure user experience and marketing effectiveness in mobile servicesHow to measure user experience and marketing effectiveness in mobile services
How to measure user experience and marketing effectiveness in mobile services
 
About Our Recommender System
About Our Recommender SystemAbout Our Recommender System
About Our Recommender System
 
GRS Market Research
GRS Market ResearchGRS Market Research
GRS Market Research
 
Conversion Conference - What's in YOUR toolkit?
Conversion Conference - What's in YOUR toolkit?Conversion Conference - What's in YOUR toolkit?
Conversion Conference - What's in YOUR toolkit?
 
Microsoft The Power Of A Sourcing Pipeline 2008 12
Microsoft   The Power Of A Sourcing Pipeline 2008 12Microsoft   The Power Of A Sourcing Pipeline 2008 12
Microsoft The Power Of A Sourcing Pipeline 2008 12
 
Akendi
AkendiAkendi
Akendi
 
Online Business : Optimizing your sales channels, AT INTERNET eCommretail Li...
Online Business : Optimizing  your sales channels, AT INTERNET eCommretail Li...Online Business : Optimizing  your sales channels, AT INTERNET eCommretail Li...
Online Business : Optimizing your sales channels, AT INTERNET eCommretail Li...
 
The Language of Discovery: Designing Big Data Interactions
The Language of Discovery: Designing Big Data InteractionsThe Language of Discovery: Designing Big Data Interactions
The Language of Discovery: Designing Big Data Interactions
 
Service Design
Service Design Service Design
Service Design
 
Online Proposition & Sales Flow Automotive | Douglas & Breitner
Online Proposition & Sales Flow Automotive | Douglas & Breitner Online Proposition & Sales Flow Automotive | Douglas & Breitner
Online Proposition & Sales Flow Automotive | Douglas & Breitner
 
Neil Mason presents on Data Mining and Predictive Analytics at Emetrics San F...
Neil Mason presents on Data Mining and Predictive Analytics at Emetrics San F...Neil Mason presents on Data Mining and Predictive Analytics at Emetrics San F...
Neil Mason presents on Data Mining and Predictive Analytics at Emetrics San F...
 
Tour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haagTour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haag
 

Mais de portgert

Eilif Trondsen TTU EIA
Eilif Trondsen TTU EIAEilif Trondsen TTU EIA
Eilif Trondsen TTU EIAportgert
 
Ttu innovatsiooni seminar talv 2013
Ttu innovatsiooni seminar talv 2013Ttu innovatsiooni seminar talv 2013
Ttu innovatsiooni seminar talv 2013portgert
 
Steve Taylor
Steve TaylorSteve Taylor
Steve Taylorportgert
 
Eia pt.3 open design
Eia pt.3   open designEia pt.3   open design
Eia pt.3 open designportgert
 
Eia pt.2 pss
Eia pt.2   pssEia pt.2   pss
Eia pt.2 pssportgert
 
Eia pt.4 protovation
Eia pt.4   protovationEia pt.4   protovation
Eia pt.4 protovationportgert
 
Brussels presentation
Brussels presentationBrussels presentation
Brussels presentationportgert
 

Mais de portgert (7)

Eilif Trondsen TTU EIA
Eilif Trondsen TTU EIAEilif Trondsen TTU EIA
Eilif Trondsen TTU EIA
 
Ttu innovatsiooni seminar talv 2013
Ttu innovatsiooni seminar talv 2013Ttu innovatsiooni seminar talv 2013
Ttu innovatsiooni seminar talv 2013
 
Steve Taylor
Steve TaylorSteve Taylor
Steve Taylor
 
Eia pt.3 open design
Eia pt.3   open designEia pt.3   open design
Eia pt.3 open design
 
Eia pt.2 pss
Eia pt.2   pssEia pt.2   pss
Eia pt.2 pss
 
Eia pt.4 protovation
Eia pt.4   protovationEia pt.4   protovation
Eia pt.4 protovation
 
Brussels presentation
Brussels presentationBrussels presentation
Brussels presentation
 

Kuldar Taveter TTU EIA

  • 1. Agile Design of Social Applications Professor Kuldar Taveter Department of Informatics Tallinn University of Technology
  • 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
  • 5. Why agile?  We need to design a product fast  We need to develop a prototype fast
  • 6. Why social?  Products that perceive their environment and interact  Products that support people in their everyday activities –> sociotechnical systems
  • 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. 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. Different kinds of products  Physical  Digital  Hybrid
  • 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. Examples  Tourist advisor  Smart parking  Fair grocery shopping  Personal medical assistant
  • 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. Pr od uc t in fo rm at ion Product information Pr od uc t in fo rm at ion
  • 17. Pr i ce inf or m at ion Price information Price and Feedback Database Pr i ce inf or m at ion
  • 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. 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. Examples of models  A model of the solar system  The model of a gold mine  The model of a chemical plant  Air traffic simulator:
  • 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. Concepts for goal models  Goal  Functional goal  Quality goal  Role
  • 26. What is goal?  Dream with a deadline   A particular state of affairs intended by one or more agents
  • 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. What is role?  Some capacity or position that the system requires in order to achieve its goals  Examples
  • 29. Goal model  Hierarchy of goals  Roles associated with goals  Quality goals attached to goals
  • 30. Goal model for tourist advisor Value Authentic proposition Tourist Have a tour GPS Advisor Service Provider Determine Point out Recommend Guide Rate Reputation Precise 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. 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 Parking Service 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. Goal model for fair grocery shopping Societally Customer Advantageously Value proposition Perform shopping Anonymous Store Assistant Decide stores’ Exchange price Create Find Decide Buy Join 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. Goal model for personal medical assistant (1) Maximal well-being Value proposition Deliver healthcare Personalized Patient Monitor health Diagnose health condition condition Monitor Physician
  • 34. Goal model for personal medical assistant (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. Goal model for personal medical assistant (3) Diagnose health condition Patient Physician Analyse medical Ask about genetic Identify possible Recommend history defects disease healthy lifestyles Family Member
  • 36. Goal model for Asperger’s Game Value proposition
  • 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. Goal model as a project management tool
  • 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. Part IV ROLE AND ORGANIZATION MODELLING
  • 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. 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. Role model for Parking Assistant in 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. Role model for Commuter in smart parking Role name Commuter Description 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 options Responsibilities Follow the directions by the parking manager Park the car in the parking spot chosen Accept the charge Leave the parking spot Constraints A car has to be parked in the parking spot chosen
  • 45. Role model for Customer in fair grocery shopping Role Customer Description The role of customer in grocery shopping Responsibilities 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 information Constraints To benefit from the product information posted by other customers, the customer must authorize posting of his/her product information.
  • 46. Role model for Assistant in fair grocery 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. 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. 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. Organization model for smart parking IsPeerTo Controls isBenevolentTo Commuter Parking Assistant GPS Service isBenevolentTo Provider Parking Service Provider Private Municipal Parking Parking Service Service Provider Provider
  • 50. Organization model for fair grocery shopping IsPeerTo IsBenevolentTo Customer Store Controls IsPeerTo Assistant Coordinator
  • 51. Organization model for personal medical assistant isBenevolentTo isPeer Physician Patient Family Member Monitor
  • 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. Concept for domain models  Domain entity
  • 55. What is domain entity?  A modular unit of knowledge handled by a sociotechnical system  Examples
  • 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. Domain model for tourist advisor Identifies Tourist Provides TOURIST LOCATION Based on SIGHTSEEING PROFILE SPOT Is a kind of Checks Determines Based on Points out Based on DIRECTIONS Generates Generates Advisor RECOM- MENDATION
  • 58. Domain model for smart parking Negotiates PARKING Knows Knows DESTINATION PREFERENCES Parking Assistant Asks about PARKING Informs Recommends PARKING CHARGE Informs STATUS SPOT PARKING Consist of PARKING Knows SPOT RESOURCES Parking Service Provider
  • 59. Domain model for fair grocery shopping SHOPPING BASKET Creates Is based on FUEL COST Considers Considers SHOPPING LIST Assistant Is based on Considers Considers STORE PRODUCT LOCATION INFORMATION
  • 60. Domain model for personal medical 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
  • 62. Software, hardware, humans, …?  We now need to decide the software system boundary of the socio-technical system
  • 63. Software system boundary for smart parking IsPeerTo Controls isBenevolentTo Commuter Parking Assistant GPS Service isBenevolentTo Provider Parking Service Provider Private Municipal Parking Parking Service Service Provider Provider
  • 64. Software system boundary for fair grocery shopping IsPeerTo IsBenevolentTo Customer Store Controls IsPeerTo Assistant Coordinator
  • 65. Agents  We now need to decide the types of components – agents – of the sociotechnical system  Why agents?  Proactivity  Reactivity  Social nature
  • 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. 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. The abstract agent architecture
  • 69. The execution loop of an abstract agent while the agent is unfulfilled do sense the environment; update the knowledge base; reason; choose actions; act; end while
  • 70. What is intelligent agent?  An agent that is reactive, proactive, and social  Examples
  • 71. Anthropomorphic qualities  Beliefs  Responsibilities  Expectations  Capabilities  Goals  Desires  Intentions
  • 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. Mapping roles to agents in the individualized 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. Architecture of the individualized healthcare 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 Pulse oximeter ESTONIAN HEALTH INFORMATION SYSTEM (EHIS)
  • 75. The execution loop of an abstract agent while the agent is unfulfilled do sense the environment; update the knowledge base; reason; choose actions; act; end while
  • 76. A part of the execution loop of the tourist 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. A part of the execution loop of the parking 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. A part of the execution loop of the monitor 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. Teamwork  Create a part of the execution loop for the main software component of your product idea