1 / 20

Planning systems and its’ applications in software engineering

Planning systems and its’ applications in software engineering. Sa ša Tošić , M. Ivanovi ć Risan , 2007. Contents. What are planning systems Agent planning package Planning systems and SE Example. What are planning systems?. Action-based systems that generates plans

sanne
Download Presentation

Planning systems and its’ applications in software engineering

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. Planning systems and its’ applications in software engineering Saša Tošić,M. Ivanović Risan, 2007

  2. Contents • What are planning systems • Agent planning package • Planning systems and SE • Example

  3. What are planning systems? • Action-based systems that generates plans • Plan is a sequence of parameterized actions which transforms initial states into a goal state • Planning formalisms and languages: Strips, ADL, PDDL … • PDDL (planning domain definition language): standard planning language

  4. Example • Planning sequence • Plan: A(x, y), B(x, y), C(x, y) A(x, y) B(x,y) C(x, y) Goal State Initial State Temporary states

  5. What do we need? • Planning instance • Planning Domain • Actions • Predicates • Functions • Types • Constants • Planning problem • Initial state of a system • Goal (set of tasks to be achieved)

  6. Actions in planning systems • Actions in planning systems • Name • Parameters • Preconditions • Effects • Duration (default 1) • Cost, probability, …

  7. APP – Agent planning package • Developed at University in Novi Sad • Helps to create intelligent agents • Domain independent planning system for PDDL2.1 • Written in Java in form of a Java package • Enables plan creation and execution

  8. APP – Agent planning package • APP can handle several planning instances • Generated plans are part of a planning instance

  9. APP – Agent planning package • Modules • Data manipulation • Plan searching • Plan execution and monitoring • Plan validation and verification

  10. APP – Agent planning package • Types of a plan • SingleAction • Serial plan • Parallel plan • Alternative plan • Multiple plans • Plans can be mixed

  11. Modeling and model checking • We can create a model of our software and check it • Modeling • Initial state must be modeled (using objects, constants, predicates, functions…) • One action in planning domain is one or more actions in our software

  12. Model checking • Planning systems can check if actions are modeled well • Model checking • How we can do something in our software? • What is the plan for that goal? • How we can detect errors? • No plan (it is not possible to do it) • Invalid plan

  13. Example • Planning sequence • Plan: A(x, y), B(x, y), C(x, y) A(x, y) B(x,y) C(x, y) Goal State Initial State Temporary states

  14. Example • (action A :parameters (?x ?y – objects) :precondition (and (point ?x)) :effects (connected ?x ?y)) • (action B :parameters (?x ?y – objects) :precondition (selected ?x ?y) :effects (connected ?x ?y))

  15. Example • (action C :parameters (?x ?y – objects) :precondition (connected ?x ?y) :effects (doneC)) • Initial state: (point x) (point y) • Goal: (doneC)

  16. Example • Plan generated by APP: no plan is found • Reason: (action A :parameters (?x ?y – objects) :precondition (and (point ?x) (point ?y)) :effects (connected ?x ?y))

  17. Example • Plan generated by APP: A(x, y), C(x, y) • Reason: (action A :parameters (?x ?y – objects) :precondition (and (point ?x)(point ?y)) :effects (selected ?x ?y))

  18. Example • Plan generated by APP: • A(x, y), B(x, y), C(x, y) • APP can automatically create plans for large number of goals

  19. Conclusion • Powerful tool for model checking • Detects different kinds of errors • Simulation of plan execution can help to detect errors

  20. The End Thank you for your attention

More Related