Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Engineering the software of robotic systems - 4 - Current results [ICSE 2017 - technical briefing]

892 views

Published on

Slides of the technical briefing we held at the ICSE 2017 conference.

The accompanying paper is available here: http://www.ivanomalavolta.com/files/papers/ICSE_2017_TB.pdf
Involved researchers: Federico Ciccozzi (1), Davide Di Ruscio (2), Ivano Malavolta (3), Patrizio Pelliccione (4), Jana Tumova (5)

1) Mälardalen University (Sweden)
2) University of L’Aquila (Italy)
3) Vrije Universiteit Amsterdam (The Netherlands)
4) Chalmers University of Technology | GU (Sweden)
5) KTH Royal Institute of Technology (Sweden)

Published in: Software
  • Like to know how to take easy surveys and get huge checks - then you need to visit us now! Having so many paid surveys available to you all the time let you live the kind of life you want. learn more... https://tinyurl.com/make2793amonth
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Earn $500 for taking a 1 hour paid survey! read more... ♣♣♣ https://tinyurl.com/realmoneystreams2019
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Engineering the software of robotic systems - 4 - Current results [ICSE 2017 - technical briefing]

  1. 1. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova UNIVERSITY OF L’AQUILA Federico Ciccozzi1, Davide Di Ruscio2, Ivano Malavolta3, Patrizio Pelliccione4, Jana Tumova5 1Mälardalen University (Sweden) 2University of L’Aquila (Italy) 3Vrije Universiteit Amsterdam (The Netherlands) 4Chalmers University of Technology | GU (Sweden) 5KTH Royal Institute of Technology (Sweden) Engineering the software of robotic systems Current results
  2. 2. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana TumovaH2020 Robotics Multi-Annual Roadmap ICT-2016. http://sparc-robotics.eu/wp-content/uploads/2014/05/H2020-Robotics-Multi-Annual-Roadmap-ICT-2016.pdf Use of models in the robotic domain
  3. 3. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Formal Methods-Based Robot Planning Robot Problem: • Control the robot High-Level Temporal Specification Model • Synthesize a plan to meet the specification • Implement the plan “Periodically visit regions R1, R2, R3, R4 in this order, and keep avoiding R6.” 3Kress-Gazit, Fainekos, Pappas. Temporal Logic-Based Reactive Mission and Motion Planning. Transactions on Robotics, 2009.
  4. 4. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Discrete robot model Discrete control strategy Continuous control law Continuous robot model + LTL specification formal verification techniques abstraction implementation execution Formal Methods-Based Planning: Hierarchical Approach 4Kress-Gazit, Fainekos, Pappas. Temporal Logic-Based Reactive Mission and Motion Planning. Transactions on Robotics, 2009.
  5. 5. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova But… • Infeasibility caused by action failures • How to improve? • Synthesize a reactive plan to meet the specification as closely as possible if actions fail • Implement the reactive plan 5
  6. 6. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Experiment 𝑮𝑭 (𝑅4 ∧ 𝑔𝑟𝑎𝑏) ∨ (𝑅5 ∧ 𝑔𝑟𝑎𝑏) ∧ 𝑭 𝑅2 ∧ 𝑑𝑟𝑜𝑝 ∧ 𝑮𝑭 𝑠𝑖𝑡
  7. 7. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Pros • Mission specification is independent from the robot • Behavior trees provide an abstraction to easily integrate and orchestrate new modules • Towards re-planning and re- configuration Cons • Dynamics of the robot is coupled with the environment model • Changing room will imply changing the model of the dynamic of the robot • Still difficult to reuse modules and clearly understand the assumptions of each algorithm • Missions specified in LTL, which is not so user friendly • Difficult to extend to multi-robot settings
  8. 8. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova H2020-ICT-2016Ongoing work
  9. 9. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Example of scenarios
  10. 10. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Main novelties • Democratization of use and programming of a team of potentially heterogeneous robots handling the robots’ different capabilities, types and dynamics § innovative and user-friendly ways to enable users without particular knowledge in IT and robotics to specify complex missions to be realized by the team of robots § users will be able to assign in a user-friendly and intuitive way new tasks to the robots in real-time • Cooperation abilities of the team of robots § cooperation with humans, stationary manipulators and mobile robotic platforms (possibly also equipped with their own manipulators) towards achieving complex tasks • Robots will be able to operate in uncontrolled or semi-controlled environments and they will be able to deal with unexpected and sudden changes in the environment and as discussed above the presence of humans
  11. 11. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Moreover… We aim at changing how software for robotic systems is produced Systematic engineering process, based on Model-driven engineering (MDE), to facilitate the development of the software for animating robotic systems through the creation of reusable robot building blocks with well- defined interfaces and properties. “Usually there are no system development processes (highlighted by a lack of overall architectural models and methods). This results in the need for craftsmanship in building robotic systems instead of following established engineering processes.” …from H2020 Robotics Multi-Annual Roadmap ICT-2016 Co4RobotsToday
  12. 12. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Three directions of research • User-friendly mission specification • Expressive enough • Accessible to users without expertise in robotic and/or ICT • Architecting the software of a robot • Promoting reuse, modularity, and (re-)configurability • Collective adaptation of a team of robots • Enable decentralized (self-)adaptation and (self-)reconfiguration of a team of robots to guarantee the mission accomplishment despite failures and/or unpredictable events • Uncontrollable and unknown environment
  13. 13. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Three directions of research • User-friendly mission specification • Expressive enough • Accessible to users without expertise in robotic and/or ICT • Architecting the software of a robot • Promoting reuse, modularity, and (re-)configurability • Collective adaptation of a team of robots • Enable decentralized (self-)adaptation and (self-)reconfiguration of a team of robots to guarantee the mission accomplishment despite failures and/or unpredictable events • Uncontrollable and unknown environment
  14. 14. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova User-friendly mission specification • Declarative specification language – Instead of procedurally saying what robots should do, the focus is on specifying what the goal of the mission is • We need a notion of partial satisfaction of mission • User-friendly notation for the use of the robot in everyday life by people with no expertise in robotic, mathematic, or ICT • The mission specification should be translated into Linear-time Temporal Logic (LTL)
  15. 15. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Property specification patterns Matthew B. Dwyer, George S. Avrunin, and James C. Corbett. 1999. Patterns in property specifications for finite-state verification. In Proceedings of the 21st international conference on Software engineering (ICSE '99). ACM, New York, NY, USA, 411-420. Property pa*erns Occurrence Order Absence Universality Existence Bounded Existence Precedence Response Chain Precedence Chain Response
  16. 16. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Patterns scope Global Before R After Q Between Q and R After Q until R R R Q Q Q Q Q RR R Q Q QR R Q Q
  17. 17. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova An example: Response pattern • To describe cause-effect relationships between a pair of events/states. An occurrence of the first, the cause, must be followed by an occurrence of the second, the effect. Also known as Follows and Leads-to.
  18. 18. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Property specification patterns 40 newly identified or extended patterns Marco Autili, Lars Grunske, Markus Lumpe, Patrizio Pelliccione, and Antony Tang (2015) Aligning Qualitative, Real-Time, and Probabilistic Property Specification Patterns Using a Structured English Grammar, IEEE Transactions on Software Engineering (TSE), Volume 41, Issue 7, 2015.
  19. 19. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova M. Autili, L. Grunske, M. Lumpe, P. Pelliccione and A. Tang, "Aligning Qualitative, Real-Time, and Probabilistic Property Specification Patterns Using a Structured English Grammar," in IEEE Transactions on Software Engineering, vol. 41, no. 7, pp. 620-638, July 1 2015. doi: 10.1109/TSE.2015.2398877
  20. 20. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova M. Autili, L. Grunske, M. Lumpe, P. Pelliccione and A. Tang, "Aligning Qualitative, Real-Time, and Probabilistic Property Specification Patterns Using a Structured English Grammar," in IEEE Transactions on Software Engineering, vol. 41, no. 7, pp. 620-638, July 1 2015. doi: 10.1109/TSE.2015.2398877
  21. 21. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova High-level Mission specification
  22. 22. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Example • Domain: smart-hotel facilities • Mission • After the starting of the morning cleaning and before the end of the cleaning, cleaning robots (vacuum cleaning) should clean each room before the servant will start working in the specific room. • Moreover, while the servant is cleaning a room, dirty towels need to be substituted
  23. 23. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Example • Domain: smart-hotel facilities • Mission • After the starting of the morning cleaning and before the end of the cleaning, cleaning robots (vacuum cleaning) should clean each room before the servant will start working in the specific room. • Moreover, while the servant is cleaning a room, dirty towels need to be substituted
  24. 24. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova LTL Specification ☐((openDoor) → (◇ ((enter) ∧ ○(◇ ((cleanRoom) ∧ ○(◇((exitCloseRoom))) ))))) • openDoor: the Servant opens the door of a Room and calls the Robots • enter: the Robots enter the Room • cleanRoom: the Robots clean the Room (clean the various sectors of the room) • exitCloseRoom: the Robots call the Servant to close the Room Globally, if “the Servant opens the door of a Room and calls the Robots” then in response “the Robots enter the Room” followed by “the Robots clean the Room (clean the various sectors of the room)” followed by “the Robots call the Servant to close the Room”
  25. 25. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Specification Patterns http://ps-patterns.wikidot.com/response-chain-property-pattern
  26. 26. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Example: is this approach enough? • Domain: smart-hotel facilities • Mission • After the starting of the morning cleaning and before the end of the cleaning, cleaning robots (vacuum cleaning) should clean each room before the servant will start working in the specific room. • Moreover, while the servant is cleaning a room, dirty towels need to be substituted
  27. 27. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Top level goal - decomposition • After the starting of the morning cleaning and before the end of the cleaning, cleaning robots (vacuum cleaning) should clean each room before the servant will start working in the specific room. Moreover, while the servant is cleaning a room, dirty towels need to be substituted • AND decomposition • The cleaning service is performed in a specific period of time • All rooms are cleaned • All the robots should never go out of battery • All the robots should avoid obstacles • All robots should properly manage the collaboration and intersection with humans • All the robots at the end of the service should go to their home location
  28. 28. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Top level goal - decomposition • After the starting of the morning cleaning and before the end of the cleaning, cleaning robots (vacuum cleaning) should clean each room before the servant will start working in the specific room. Moreover, while the servant is cleaning a room, dirty towels need to be substituted • AND decomposition • The cleaning service is performed in a specific period of time • All rooms are cleaned • All the robots should never go out of battery • All the robots should avoid obstacles • All robots should properly manage the collaboration and intersection with humans • All the robots at the end of the service should go to their home location Independent from the specific mission
  29. 29. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Top level goal - decomposition • After the starting of the morning cleaning and before the end of the cleaning, cleaning robots (vacuum cleaning) should clean each room before the servant will start working in the specific room. Moreover, while the servant is cleaning a room, dirty towels need to be substituted • AND decomposition • The cleaning service is performed in a specific period of time • All rooms are cleaned • AND decomposition • All rooms are vacuumed • All rooms are cleaned by a servant and refurnished • All the robots should never go out of battery • All the robots should avoid obstacles • All robots should properly manage the collaboration and intersection with humans • All the robots at the end of the service should go to their home location
  30. 30. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Top level goal - decomposition • After the starting of the morning cleaning and before the end of the cleaning, cleaning robots (vacuum cleaning) should clean each room before the servant will start working in the specific room. Moreover, while the servant is cleaning a room, dirty towels need to be substituted • AND decomposition • The cleaning service is performed in a specific period of time • All rooms are cleaned • AND decomposition • All rooms are vacuumed • AND decomposition • A servant opens the door to let robot in • The assigned robot(s) cleans a room • A servant opens the door to let robots out • All rooms are cleaned by a servant and refurnished • All the robots should never go out of battery • All the robots should avoid obstacles • All robots should properly manage the collaboration and intersection with humans • All the robots at the end of the service should go to their home location
  31. 31. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Top level goal - decomposition After the starting of the morning cleaning and before the end of the cleaning, cleaning robots (vacuum cleaning) should clean each room before the servant will start working in the specific room. Moreover, while the servant is cleaning a room, dirty towels need to be substituted AND decomposition The cleaning service is performed in a specific period of time All rooms are cleaned AND decomposition All rooms are vacuumed • AND decomposition • A servant opens the door to let robot in (this will turn into an expectation – KAOS terminology) • The assigned robot(s) cleans a room • Globally, if “the Servant opens the door of a Room and calls the Robots” then in response “the Robots enter the Room” followed by “the Robots clean the Room (clean the various sectors of the room)” followed by “the Robots call the Servant to close the Room” • A servant opens the door to let robots out (this will turn into an expectation – KAOS terminology) All rooms are cleaned by a servant and refurnished • AND decomposition • All rooms have towels changed by the servant (this will turn into an expectation – KAOS terminology) • All rooms have been cleaned by a servant (this will turn into an expectation – KAOS terminology) • The servant has always at her hands the necessary supplies • AND decomposition • Globally, if “the Servant started cleaning the Room” then in response “the Robots to remove dirty towels reach the room” followed by “the Robots to bring new towels reach the Room” followed by “the Robots call the Servant” All the robots should never go out of battery For each Robot Globally, if “the battery level is under 20%” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to recharge” Globally, if “the battery is charged” then in response “the Robot informs the team that it is available” All the robots should avoid obstacles All robots should properly manage the collaboration and intersection with humans All the robots at the end of the service should go to their home location For each Robot Globally, if “the tasks of the mission are complete” then in response “the Robot should go home” Robots for removing dirty towels when full need to deliver dirty towels to the laundry Globally, if “the trail is full of towels” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to deliver dirty towels” Robots for bringing new towels when empty should go to load new towels Globally, if “the trail is empty” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to recharge with towels”
  32. 32. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Top level goal - decomposition After the starting of the morning cleaning and before the end of the cleaning, cleaning robots (vacuum cleaning) should clean each room before the servant will start working in the specific room. Moreover, while the servant is cleaning a room, dirty towels need to be substituted AND decomposition The cleaning service is performed in a specific period of time All rooms are cleaned AND decomposition All rooms are vacuumed • AND decomposition • A servant opens the door to let robot in (this will turn into an expectation – KAOS terminology) • The assigned robot(s) cleans a room • Globally, if “the Servant opens the door of a Room and calls the Robots” then in response “the Robots enter the Room” followed by “the Robots clean the Room (clean the various sectors of the room)” followed by “the Robots call the Servant to close the Room” • A servant opens the door to let robots out (this will turn into an expectation – KAOS terminology) All rooms are cleaned by a servant and refurnished • AND decomposition • All rooms have towels changed by the servant (this will turn into an expectation – KAOS terminology) • All rooms have been cleaned by a servant (this will turn into an expectation – KAOS terminology) • The servant has always at her hands the necessary supplies • AND decomposition • Globally, if “the Servant started cleaning the Room” then in response “the Robots to remove dirty towels reach the room” followed by “the Robots to bring new towels reach the Room” followed by “the Robots call the Servant” All the robots should never go out of battery For each Robot Globally, if “the battery level is under 20%” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to recharge” Globally, if “the battery is charged” then in response “the Robot informs the team that it is available” All the robots should avoid obstacles All robots should properly manage the collaboration and intersection with humans All the robots at the end of the service should go to their home location For each Robot Globally, if “the tasks of the mission are complete” then in response “the Robot should go home” Robots for removing dirty towels when full need to deliver dirty towels to the laundry Globally, if “the trail is full of towels” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to deliver dirty towels” Robots for bringing new towels when empty should go to load new towels Globally, if “the trail is empty” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to recharge with towels”
  33. 33. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Top level goal - decomposition After the starting of the morning cleaning and before the end of the cleaning, cleaning robots (vacuum cleaning) should clean each room before the servant will start working in the specific room. Moreover, while the servant is cleaning a room, dirty towels need to be substituted AND decomposition The cleaning service is performed in a specific period of time All rooms are cleaned AND decomposition All rooms are vacuumed • AND decomposition • A servant opens the door to let robot in (this will turn into an expectation – KAOS terminology) • The assigned robot(s) cleans a room • Globally, if “the Servant opens the door of a Room and calls the Robots” then in response “the Robots enter the Room” followed by “the Robots clean the Room (clean the various sectors of the room)” followed by “the Robots call the Servant to close the Room” • A servant opens the door to let robots out (this will turn into an expectation – KAOS terminology) All rooms are cleaned by a servant and refurnished • AND decomposition • All rooms have towels changed by the servant (this will turn into an expectation – KAOS terminology) • All rooms have been cleaned by a servant (this will turn into an expectation – KAOS terminology) • The servant has always at her hands the necessary supplies • AND decomposition • Globally, if “the Servant started cleaning the Room” then in response “the Robots to remove dirty towels reach the room” followed by “the Robots to bring new towels reach the Room” followed by “the Robots call the Servant” All the robots should never go out of battery For each Robot Globally, if “the battery level is under 20%” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to recharge” Globally, if “the battery is charged” then in response “the Robot informs the team that it is available” All the robots should avoid obstacles All robots should properly manage the collaboration and intersection with humans All the robots at the end of the service should go to their home location For each Robot Globally, if “the tasks of the mission are complete” then in response “the Robot should go home” Robots for removing dirty towels when full need to deliver dirty towels to the laundry Globally, if “the trail is full of towels” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to deliver dirty towels” Robots for bringing new towels when empty should go to load new towels Globally, if “the trail is empty” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to recharge with towels”
  34. 34. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Top level goal - decomposition After the starting of the morning cleaning and before the end of the cleaning, cleaning robots (vacuum cleaning) should clean each room before the servant will start working in the specific room. Moreover, while the servant is cleaning a room, dirty towels need to be substituted AND decomposition The cleaning service is performed in a specific period of time All rooms are cleaned AND decomposition All rooms are vacuumed • AND decomposition • A servant opens the door to let robot in (this will turn into an expectation – KAOS terminology) • The assigned robot(s) cleans a room • Globally, if “the Servant opens the door of a Room and calls the Robots” then in response “the Robots enter the Room” followed by “the Robots clean the Room (clean the various sectors of the room)” followed by “the Robots call the Servant to close the Room” • A servant opens the door to let robots out (this will turn into an expectation – KAOS terminology) All rooms are cleaned by a servant and refurnished • AND decomposition • All rooms have towels changed by the servant (this will turn into an expectation – KAOS terminology) • All rooms have been cleaned by a servant (this will turn into an expectation – KAOS terminology) • The servant has always at her hands the necessary supplies • AND decomposition • Globally, if “the Servant started cleaning the Room” then in response “the Robots to remove dirty towels reach the room” followed by “the Robots to bring new towels reach the Room” followed by “the Robots call the Servant” All the robots should never go out of battery For each Robot Globally, if “the battery level is under 20%” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to recharge” Globally, if “the battery is charged” then in response “the Robot informs the team that it is available” All the robots should avoid obstacles All robots should properly manage the collaboration and intersection with humans All the robots at the end of the service should go to their home location For each Robot Globally, if “the tasks of the mission are complete” then in response “the Robot should go home” Robots for removing dirty towels when full need to deliver dirty towels to the laundry Globally, if “the trail is full of towels” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to deliver dirty towels” Robots for bringing new towels when empty should go to load new towels Globally, if “the trail is empty” then in response “the Robot informs the team that it can’t accomplish the mission” followed by “the Robot goes to recharge with towels” Collective adaptation and reconfiguration
  35. 35. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Three directions of research • User-friendly mission specification • Expressive enough • Accessible to users without expertise in robotic and/or ICT • Architecting the software of a robot • Promoting reuse, modularity, and (re-)configurability • Collective adaptation of a team of robots • Enable decentralized (self-)adaptation and (self-)reconfiguration of a team of robots to guarantee the mission accomplishment despite failures and/or unpredictable events • Uncontrollable and unknown environment
  36. 36. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Architecting autonomous systems • Systems are made autonomous and smart by software • Adaptation • Systems potentially operate in unpredictable and uncontrollable environments • Might share environment with other independent systems and even humans • Evolution • New features or new version of the software released continuously • Amazon deploys new software to production every 11.6 seconds on average in May of 2011, https://goo.gl/fm6cuO • Facebook releases to production twice a day, https://goo.gl/Hz2dcy • Many Google services are released multiple times a week, https://goo.gl/jY2KJL
  37. 37. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova • Global perspective of the system and expose important system-level properties and integrity constraints • “Global” treatment of system faults • Promote reuse of adaptation strategies and mechanisms D. Garlan, S. W. Cheng, A. C. Huang, B. Schmerl and P. Steenkiste, "Rainbow: architecture-based self-adaptation with reusable infrastructure," in Computer, vol. 37, no. 10, pp. 46-54, Oct. 2004. doi: 10.1109/MC.2004.175 Why architecture-based self- adaptation?
  38. 38. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Architecture should define the boundaries of evolution and adaptation “A self-managed software architecture is one in which components automatically configure their interaction in a way that is compatible with an overall architectural specification and achieves the goals of the system.” Jeff Kramer and Jeff Magee. 2007. Self-Managed Systems: an Architectural Challenge. In 2007 Future of Software Engineering (FOSE '07). IEEE Computer Society, Washington, DC, USA, 259-268. DOI=http://dx.doi.org/10.1109/FOSE.2007.19
  39. 39. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Architecture should define the boundaries of evolution and adaptation Jeff Kramer and Jeff Magee. 2007. Self-Managed Systems: an Architectural Challenge. In 2007 Future of Software Engineering (FOSE '07). IEEE Computer Society, Washington, DC, USA, 259-268. DOI=http://dx.doi.org/10.1109/FOSE.2007.19 Three Layer Architecture Models for Self-Management
  40. 40. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Architecture of the software of the robot – reference Global goal manager Global goal decomposer goal Goal Management Layer goal Local goal manager Local goal decomposer goal goal1, goal2…goaln High level specification manager Change Management Layer Component Control Layer currentgoal Adaptation manager Plan executor plan Sensors Hardware & Drivers Robot Interface Executors call notify [environment, robot] call forward method call notify usesuses Legend component uses unit Central station Robot task1, task2…taskn sharing [goals, environment, robot state] notify [goal, environment, robot] sharing goalrobot1 goalrobot2, goalrobot3, goalrobot4
  41. 41. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Architecture of the software of the robot – instance Next step, definition of interfaces with clear semantics High-level specification manager Global goal manager Global goal decomposer Change plans Change actions Plan request Status Local goal decomposer Local goal manager Adaptation manager Task executor CHANGE MANAGEMENT GOAL MANAGEMENT Interactions SLAM Motion Planning & Control Object detection & object pose estimation Robot Interface Sensors Interface Hardware & Drivers COMPONENT CONTROL Gestures recognition CENTRAL STATION ROBOT goal1 , goal2 … goalN globalgoal localgoal[robot1], localgoal[robot2]... localgoal[robotN] currentgoal localgoal task1 , task2 … taskN plan notify [goal, environment robot state] notify [environment robot state gestures] call sharing [goals, environment, robot state] forward method call uses sharing Component Unit LEGEND
  42. 42. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Three directions of research • User-friendly mission specification • Expressive enough • Accessible to users without expertise in robotic and/or ICT • Architecting the software of a robot • Promoting reuse, modularity, and (re-)configurability • Collective adaptation of a team of robots • Enable decentralized (self-)adaptation and (self-)reconfiguration of a team of robots to guarantee the mission accomplishment despite failures and/or unpredictable events • Uncontrollable and unknown environment
  43. 43. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Some initial thoughts - towards decentralization • Dynamic and opportunistic (e.g. based on distance or capabilities of the robots) creation of ensembles • Robot will try to solve issues independently, then within its ensemble(s), then globally • Issues can be: • Failure of a robot • Change of a mission at runtime • Input from humans at runtime • Unplanned aspects of the environment, e.g. unexpected obstacle • Inability of a robot to accomplish its tasks (design failure) • Addition of new robots at runtime • Solutions might involve re-assignment of tasks, re-configuration of robots, re- planning at run-time
  44. 44. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova • Robotic systems are both mission-critical and safety-critical • Safety-critical properties should be always preserved • Mission-critical properties can be “partially” satisfied in some cases – we might allow degradation of the mission • Should we aim for optimal solution or for first acceptable solution? • We should demonstrate: • Correctness – if a solution is found then the solution should be a “correct” solution to the issue • Completeness – if a solution exists then we should be able to find it • Performance – it should work at runtime Some initial thoughts - towards decentralization
  45. 45. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Takeaways - summary
  46. 46. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Takeaways - summary
  47. 47. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Takeaways - summary
  48. 48. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Research directions • Need of software engineering best practices in robotics, e.g., • Modularization • Flexibility • Reusability • E.g.: Under which assumptions a planning algorithm is working well? • Existing approaches on multi-robots seem to be suggested from different communities without much dialogue • very abstract, e.g. a robot is a tuple, or too detailed, e.g. very specialized controller for executing only one specific task in a specific context • Step three “Robots adapt models and improve them” needs more investigation • How to use machine learning in the control part for safety critical systems?
  49. 49. UNIVERSITY OF L’AQUILA Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Jana Tumova Questions?

×