wiki:AgentsAndScenarios

Agents/Managers and Scenarios

Agents/Managers

  • PersonalManager
    • Information about individual users
      • Current location, activities and intentions
      • History records:
        • eating history
      • Health data
        • Health condition
        • Health record
      • Preferences:
        • Roomtemperature
        • Food
        • Environment proactivity (entertainment, heating, lightening, etc.)
        • Contacts (including doctors, nurses, pizza services, relatives to call in case of emergency ... and friends)
        • Habits (e.g. breakfast, lunch, and dinner time; nap time; sleeping hours)
      • Calendar Services
        • Each agent X contacting this agent in order to "find-time" in the schedule of resident Y should provide a list of side-conditions in terms of finding-time, e.g.
        • a nurse likes to come in the morning and her visit will take approximately 30mins and the medical cabinet has to be filled with so-and-so,
        • a cook does his job 1 hr before X' wanted lunch time (from PersonalManager) and he plans to cook 'coq-au-vin', therefore the ingredients better be shopped beforehand (--> next "find-time"-request by FridgeManager),
    • Resident's Interaction Means with the agent
      • Speech
      • Gestures (e.g. Kinect, Head-Joystick)
      • Virtual Keyboard with Display (e.g. Touchscreen, Whiteboard, Smartphone)
    • Agent's Interaction Means with the resident
      • Screen
      • Sound
      • Light Signals
    • Billing/Paying Services:
      • Compensates "The Shopper" with input e.g. from PersonalManager/StorageManager
      • Distinguishes between costs from distinct residents (input from StorageManager)
      • Transfers money to "The Sweeper"'s account based on IdentificationServices (spent time) and Sweeper's PersonalManager (account)
    • Identification Services
      • Used especially with outside contacts like "The Pizza Man", "The Nurse", "The Cook", "The Shopper", or "The Guest"
      • Realized with RFID chip (awarded to outside people) and resp. scanners at doors (particularly front door)
      • Enables a key chip used by an outside person to be validated for a certain (short) time frame (from TimeManager, SafetyManager, RoomAccessManager)
      • Allows SafetyManager to monitor entry/exit of not-BAALL people
      • Keeps entry/exit times e.g. for billing processes
    • Role Services:
      • especially for not-BAALL service providers? All of these should be able to set appointments via Calendar Service
      • Cook: could ask for food preferences (from PersonalManager), cooks only her own recipes, ingredients must be communicated to SupplyAndProvisionManager
      • Nurse: checks sleeping time habit (from PersonalManager) before dropping in, provides list of needed medicine for her appointment with resident.
      • Pizzaman:
      • Guest: checks sleeping time habit (from PersonalManager) before dropping in.
      • Sweeper: exact billing due to information from IdentificationManager
      • DocManager
      • ShopperManager: accesses FridgeManager, PantryManager for shopping list
  • NutritionManager
    • Menu suggestion service depending on
      • number of involved people with their own
        • Eater's preferences, eating histories (from PersonalManager)
        • Health condition(s) (PersonalManager and HealthManager)
      • Availability of food from StorageManager
      • Availability of recipes
    • Decision Policy (unanimous, priority-based, ...)
  • HealthManager
    • Knows which food has which ingredients
    • Maps abstract health conditions to dietary requirements and concrete food
    • Interprets generic medical conditions (blood pressure, heart rate, time limit for non-movement)
  • StorageManager
    • Aggregated Manager including
      • FridgeManager
      • PantryManager
      • CellarManager
      • MedCabinetManager
        • When are supplies running low, organize provision, not enough space available
        • Derives access data from HealthManager or NurseManager/DocManager
      • Addresses all questions concerning inventory management: analysis and status of its content items

  • SupplyAndProvisionManager
    • Where to get which food
    • Availability (time,day)
    • Means: Shopping, Ordering
  • KitchenManager
    • Gets recipes
    • Implements the recipes (plan) depending on availability in storages
    • Reacts to changes in plan execution (monitoring)
    • Informs SecurityManager about use of Oven/Flame (to determine new safety thresholds)
  • EntertainmentManager
    • For each room one manager
    • Depending on entertainment preferences of persons in rooms starts/stops/adapts entertainments
    • Conflict resolution (i.e., one person wants to sleep)
  • HeatingManager
    • Controls heating, ventilation and air condition
    • For each room one manager (???)
  • RoomAccessManager
    • Controls windows and doors
    • Maintains access policy
    • Maintains the list of persons in each room
  • IlluminationManager
    • For each room one manager
    • Controls lamps and blinds in the room
  • NavigationManager
    • Computes paths to get from one room to another; presumably on different levels of detail;
    • Might use habits information from PersonalManager for optimization e.g. not to disturb other resident's nap time.
  • EmergencyManager
    • How do we cope with emergency situation (e.g. fire, burglary), in which some properties do no longer hold?
  • SecurityManager
    • Manages all security issues with input from
      • RoomAccessManager (a window is broken)
      • KitchenManager (cooking produces smoke, so fire alarm threshold must be reconfigured for this situation)
  • LocationManager
    • Tracks the position of persons in the BAALL
  • WheelchairManager
    • Can drive autonomously in a known environment. Three possibilities:
      • a) has built-in navigation methods and takes the goal pose as input. (As Rolland has...) Q: Is goal pose qualitative (drive to the fridge) or quantitative (drive to coordinates (x,y,theta))?
      • b) requires routegraph from external navigation planner (i.e. NavigationManager?)
      • c) can do both: Navigation with routegraph or autonomous navigation given a goal pose.
    • Input: Map and routegraph or goal pose
    • Output: When given a goal pose it returns a suggested routegraph. Physically: Autonomously drives along a specified routegraph.
  • !IWalkerManager
    • Like WheelchairManager?, but with smart breaking assistance instead of autonomous driving.

  • UserInterfaceManager (Not sure because Resident's Interaction Means with the agent is part of the PersonalManager?)
    • Is responsible for interaction with the user. Is a high-level module which aggregates lower-level user interfaces. Its purpose is to choose the best user input and output interface.
    • Q: Should it act as a "gateway" processing all user input and output and choose the best interfaces autonomously?
    • Input:
      • Description of other user interfaces.
      • Description about the current situation. (I.e. user's location)
      • Message which is to be sent to the user.
    • Output:
      • The appropriate input or output interface.
      • The actual user input.
  • PrivacyManager
    • Is responsible for respecting privacy. Example: When some Manager (RoomAccessManager?) intends to physically open the bathroom door, it first asks the PrivacyManager? whether it is allowed to open the door.
    • Input:
      • All intended physical actions. (e.g. open bathroom door)
      • Location of users
      • User profile
    • Output:
      • Allowance or denial of actions. (e.g. opening bathroom door is not allowed)
  • ApartmentManager
    • Is responsible for coordinating all maintenance activities in the apartment, such as making appointments with the cleaning staff

Orthogonal problem: Privacy and access control of data in different managers

Properties

  • The NutritionManager never suggests a menu which conflicts with the health conditions of the eaters
  • However, the NutritionManager does always come up with a menu suggestion that is compatible with the eating preferences of the prospective eaters
  • Moreover, the NutritionManager normally manages to conclude the menu negotiations with the occupants in time to actually prepare the eventually agreed meal, and issues a warning if the meal timing is in danger of being compromised. The latter, btw, is negotiated in a separate process.
  • The KitchenManager never allows the "kitchen" to enter an unsafe state (i.e. the stove is not on when nobody is in the BAALL, turns down to 'warming' those stoves that are used when cooking time is reached) except it is explicitly wanted (e.g. for slow cooking menus like 'goulash' one wants to be able to leave the BAALL for a predictable time)
  • The RoomAccessManager opens the entry door in case of an emergency; more generally, prove that the EmergencyManager eventually gains control in a reasonable short period of time
  • The ApartmentManager never schedules appointments with the cleaning staff outside regular waking hours or in conflict with other visits
  • Normally, all attempts to make appointments (e.g. with the manicurist or the cleaning staff) eventually succeed (except, e.g., when our senior but mobile occupants head off for an extended stay at their AAL finca on Mallorca).
  • When the occupants are asleep, the door is normally locked.
  • When a fire is detected, the door is always (?) unlocked (see above), and the occupants are repeatedly warned until (W) a reaction is detected

For formal versions of these, see the FormalProperties page.

For experiments to specify manager and process properties in ModalCasl see ModalCaslManagers

Scenarios

Best Practice for Refinement of Managers

The following questions should be answered in the refinement documents:

  • How does a Manager react to events/requests?
Last modified 6 years ago Last modified on 30.03.2011 09:06:24

Attachments (2)

Download all attachments as: .zip