1 / 35

PG SafeBots III

PG SafeBots III. Developing Safe Software for Robots. Stefan Dziwok Christian Heinzemann Jörg Holtmann Oliver Sudmann. Software Engineering Group. Our fields of research : Model- based software engineering S afety analyses T ool development

Download Presentation

PG SafeBots III

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. PG SafeBots III Developing Safe Software for Robots Stefan Dziwok Christian Heinzemann Jörg Holtmann Oliver Sudmann

  2. Software Engineering Group • Ourfieldsofresearch: • Model-basedsoftwareengineering • Safetyanalyses • Tool development • Numerousindustrialcooperations,e.g. with Prof. Dr. Wilhelm Schäfer Projektgruppe Entwurfstechnik Mechatronik PG SafeBots III

  3. Kneading Factory • Goal: knead dough automatically • At present: carrier to transport the tubs Dough Source: Wikipedia Published under GNU Free Documentation License V1.2 Fir0002/Flagstaffotos Tub Source: Kemper Source: Kemper PG SafeBots III

  4. Kneading Factory • At present: carrier to transport the tubs • New idea: autonomously acting tubs • Allows flexible design of the facility and faster processing Source: Kemper PG SafeBots III

  5. Specify the new Kneading Factory • Specification of old carrier system exists • Informally and in our modeling language MechatronicUML • Some requirements for the new tubs: • Drive to a specific station • Do not collide with other moving tubs • Do not collide with the surroundings • Agree upon further actions with other tubs • BeBots represent the new autonomously acting tubs Source: Kemper PG SafeBots III

  6. BeBot Demonstrator • BeBots • Scan environmentbyusingsensors • Interaction withenvironmentwithdifferent tools • Wireless communication • Challenges: • Autonomoussystem • Coordinatedactionsrequired • PossiblygreatnumberofBeBotsinvolved • Goal: specifiedsoftwareshouldfinallyrun on theBeBots PG SafeBots III

  7. Develop the new BeBot Software • Various MechatronicUML models of the BeBots already exist • Development environments for the BeBots exist • You can use the „Telewerkbank“ to test your software Source: HNI PG SafeBots III

  8. MechatronicUML Overview • Adaptation of the UML for mechatronic systems, i.e. systems containing parts of • Electrical engineering • Mechanical engineering • Control engineering • Software engineering • MechatronicUML provides techniques for • Modeling • Verification • Code generation • Provides support for real-time constraints PG SafeBots III

  9. Model-based Software Engineering PG SafeBots III

  10. Scenario-based Requirements Engineering • Requirements Engineering (RE) • Typically first stage of development process • Elicitate, document, and validate requirements • Errors in requirements lead to wrong systems! • Problems • Often: informal, textual requirements in prose • Cannot be analyzed automatically • Scenario-based RE • Scenarios specify interactions between the system and its environment • E.g., UML Sequence Diagrams PG SafeBots III

  11. Modal Sequence Diagrams (MSDs) • Extend UML Sequence Diagrams • Distinction between possible and mandatory behavior • Formal foundation • Not just exemplary interactions obstacleFront O turnRight noObstacleLeft turnLeft PG SafeBots III

  12. Former PG ScenarioTools PG SafeBots III

  13. Aim of SafeBots III • Enhancement of ScenarioTools simulation • E.g., at present no timing supported • What happens if message turnRight is sent too late? obstacleFront O turnRight • Extension of the scenario simulation by timing concept! PG SafeBots III

  14. Formal Requirements – Your Part Tasks • Extend the MSD simulation by • Timing concept • Parameterized messages • … • Optionally: • Interpret results from formal synthesis • Develop concept for refinement of MSD scenarios Requirements: • Learn MSDs and its timing extensions • Understand the present simulation of conventional MSDs • Study features of similar approaches PG SafeBots III

  15. Model-based Software Engineering PG SafeBots III

  16. Communication in Mechatronic Systems • Modern mechatronic systems: • Amount and complexity of communication between components (& systems) are growing, e.g. • Cooperation between BeBots • Component-Interaction within a BeBot • MechatronicUML • For component-based software development • Separates communication behavior of a component from its internal behavior • Complexity of the system is manageable. • Communication behavior is specified by reusable Real-Time Coordination Patterns PG SafeBots III

  17. Example: Component Diagram including Real-Time Coordination Patterns PG SafeBots III

  18. Real-Time Coordination Pattern PositionTransmission PG SafeBots III

  19. Reusing Real-Time Coordination Patterns • Goal: reuse Real-Time Coordination Patterns as often as possible • Saves time and money • Problem: finding appropriate patterns that fulfill the requirements • Simple Solution: store knowledge about patterns within a normal database (e.g., MySQL) • But: • How to verify your knowledge? • How to support synonyms? • How to retrieve patterns based on formal requirements? ? PG SafeBots III

  20. Store Knowledge of Patterns within the SemanticWeb • Better Solution: • Store not just the knowledge, but the meaning of the knowledge by using the SemanticWeb as knowledge base • Verifies your knowledge • Infers new knowledge • Supports synonyms • Supports various formal search queries ! PG SafeBots III

  21. Reusing existing Protocols for Communication – Your Part Tasks • Develop concepts to store and search knowledge about Real-Time Coordination Patterns within the SemanticWeb • Make access to the pattern knowledge as easy as possible for the user • E.g., the tool should suggest patterns based on the given formal requirements. Requirements: • LearnMechatronicUMLandespecially Real-Time Coordination Patterns • Study specificationandapplicationoftheSemanticWeb PG SafeBots III

  22. Model-based Software Engineering PG SafeBots III

  23. Refine Coordination Pattern on Reuse • Pattern is independent of components • No component specific details in a pattern • Need to be added after application • => Correctness of changes must be ensured Position Transmission φ = no deadlock |= φ sender receiver Refinement Refinement ? b1:BeBot b2:BeBot |= φ receiver sender PG SafeBots III

  24. Developer Assistance • Refinement check returns counterexample for incorrect refinement • Assist developer by visualizing the counterexample • Example for visualization: • UPPAAL PG SafeBots III

  25. Synthesis • Combination of several coordination patterns in one component introduces dependencies • Internal component behavior must resolve them • Goal: • Annotate the restrictions • Synthesize the internal behavior receiver Data Transfer Conflict distributor CollisionControl sender client PG SafeBots III

  26. Refinement and Synthesis – Your Part Tasks • Extendrefinement check procedureto 1:n communication • Providevisualizationforcounterexampleanalysis • Extendexistingsynthesisapproach Requirements: • Learnorknowverificationofgraphtransformationsystems • Learnorknowverificationoftimedautomata • Study different refinementdefinitions • Understandsynthesisof real-time behavior PG SafeBots III

  27. Model-based Software Engineering PG SafeBots III

  28. Model-based Software Engineering model coordination pattern derive requirements for each communication determine component‘s behavior derive initial component model PG SafeBots III

  29. Process Support – Motivation • Process steps depend on the system under development • Process must be adapted to changes in the environment • Organizational goals (e.g., time-to-market) • Available developers set of structured components model coordination pattern set of message interfaces Real-Time Statecharts model coordination pattern derive requirements for each communication determine component‘s behavior specify roles‘ behavior specify roles‘ behavior derive initial component model Real-Time Statecharts adapt roles‘ behavior to connector properties adapt roles‘ behavior to connector properties derive roles derive message interfaces specify connector properties specify connector properties set of roles set of connectors Real-Time Statecharts PG SafeBots III

  30. Process Support – Motivation set of structured components model coordination pattern set of message interfaces model coordination pattern derive requirements for each communication determine component‘s behavior derive initial component model Real-Time Statecharts specify connector properties specify roles‘ behavior derive roles derive message interfaces set of roles set of connectors Real-Time Statecharts • Process steps depend on the system under development • Process must be adapted to changes in the environment • Available developers • Organizational goals (e.g., time-to-market) • Such a complex process is hard to manage manually! PG SafeBots III

  31. Process Support – Goals • Guide the developer through the process • Modeling the Process: • Easy modeling of processes • Modeling of dependencies to the system model and organizational goals • Enable adaptation of process during development derive roles derive roles derive message interfaces specify connector properties specify connector properties derive message interfaces message interface roles connector properties component model coordination pattern PG SafeBots III

  32. Process Support – Your Part Tasks • Integrate an adaptive processengineintothe IDE • Process Modeling: supportfortheprocessengineertomodeltheprocess in a declarativemanner • ProcessEnactment: • Execute thespecifiedprocess • Proposestepstothedeveloperdepending on thecurrentdevelopmentsituation (e.g. stateofthesystemmodel) Requirements: • UnderstandtheMechatronicUMLprocess • Learnaboutdeclarativeprocessmodeling • Learnaboutprocessmanagement PG SafeBots III

  33. Registration Details • Register in the Paul system during the first registration period: August 22 - September 16 • Register at the central examination office (Zentrales Prüfungssekretariat) during the first examination registration period • Typically starting in the middle of October • You have to be registered in the Master degree programme by the end of October • Please let us know if this is not possible, we will try to find a solution with the examination office. PG SafeBots III

  34. SafeBots III - Your Part • Work as a team • Self-organized learning: • Learn to understand concepts you do not know yet • Help each other • Work regularly, i.e. min 20 hours each week • We recommend: visit the lecture „Model-driven Software Development“ (Jun.-Prof. Steffen Becker) PG SafeBots III

  35. Questions? PG SafeBots III

More Related