1 / 26

The article collection

The article collection. PRIS F7 Fredrik Kilander. Content. “On agent-based software engineering” Nick Jennings, 1999 “An agent-based approach for building complex software systems” Nick Jennings 2001 “A note on distributed computing” Waldo, Wyant, Wollrath, Kendall, 1994

Télécharger la présentation

The article collection

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The article collection PRIS F7 Fredrik Kilander

  2. Content • “On agent-based software engineering” Nick Jennings, 1999 • “An agent-based approach for building complex software systems” Nick Jennings 2001 • “A note on distributed computing” Waldo, Wyant, Wollrath, Kendall, 1994 • “The seven deadly sins of distributed systems” Steve Muir, 2004

  3. On agent-based software engineering • introduction • essential concepts of agent-based computing • the appeals of the agent-based approach • why agent-based techniques will succeed • the drawbacks • modelling on the social level • the wider implications for AI and CS

  4. In traditional systems development... • interactions between components are too rigidly defined • organisational structure is not captured well

  5. Agents, on the other hand... • are well defined (they have boundaries and interfaces) • are embedded in an environment • are designed to fulfill a purpose • are autonomous (need no external activation) • are reactive and proactive • are already organised in hierarchies

  6. Agents are also... • flexible in their interactions • adaptable to changes in the environment • able to work in teams for a common goal

  7. Jennings argues that... (1/3) • ”agent-oriented decomposition is an effective way of partitioning the problem space” Decomposition → distribution and decentralization Decentralization → less control complexity

  8. Jennings argues that... (2/3) • ”the key abstractions of the agent-oriented mindset are a natural means of modeling complex systems” Subsystems → agent hierarchies Subsystem components → social interactions

  9. Jennings argues that... (3/3) • ”the agent-oriented philosophy for dealing with organisational relationships is appropriate for complex systems” Agent-based systems flexibly form and reshape structures Individual agents or groups can be developed separately and incrementally added to the system

  10. However... • interaction patterns are unpredictable • emergent system behaviour is unpredictable

  11. = (*) =

  12. A note on distributed computingWaldo et al • Distributed computing is different from local computing • The programmer should be aware of this • The language should not hide it

  13. A (false) vision of unified computing • Object-oriented design conquers all • Remote objects appear to be local • Failures depend on the implementation, not on design

  14. Hard problems in distributed computing • Latency • Memory access (no pointers => copy) • Partial failure • Concurrency

  15. Interfaces and design • Design remote interfaces to expect breakdowns • Accept that the programmer must be informed about breakdowns • E.g. java.rmi.RemoteException

  16. = (*) =

  17. The seven deadly sinsof distributed systems • Experiences of real systems (PlanetLab Node Manager) • 400+ Internet nodes at 175 locations.

  18. 1 Networks are unreliable • Large heterogenous networks are fundamentally unreliable • Packet loss • Packet duplication • Packet reordering • Highly variable latency

  19. 2 DNS names make poor node identifiers • Human errors • Network reorganisation • Infrastructure failures • Network asymmetry (e.g. NAT) • Non-static addresses, multihoming

  20. 3 Local clocks are unreliable • System timing is poor • High load • Bugs • NTP not always available NTP: Network Time Protocol

  21. 4 Inconsistent node configuration is the norm • Version skew • Delays • Inaccessible nodes • Update times • No global synchronization

  22. 5 Improbable events are frequent • Lots of nodes • 24/7 • Rare bugs WILL manifest themselves • Application programmers must not cut corners! (“Oh, this error will never happen…”)

  23. 6 Over-utilization is the norm • All systems are used • No idle time • Resource expiration times must be extended

  24. 7 Limited system transparency hampers debugging • Incomplete access to remote nodes • Virtualization hides details

  25. Conclusions for distributed systems • Local assumptions fail • Applications must cover all failure modes • Resource management is harder • Local operations are affected too

  26. (^_^)

More Related