350 likes | 449 Views
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
E N D
PG SafeBots III Developing Safe Software for Robots Stefan Dziwok Christian Heinzemann Jörg Holtmann Oliver Sudmann
Software Engineering Group • Ourfieldsofresearch: • Model-basedsoftwareengineering • Safetyanalyses • Tool development • Numerousindustrialcooperations,e.g. with Prof. Dr. Wilhelm Schäfer Projektgruppe Entwurfstechnik Mechatronik PG SafeBots III
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
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
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
BeBot Demonstrator • BeBots • Scan environmentbyusingsensors • Interaction withenvironmentwithdifferent tools • Wireless communication • Challenges: • Autonomoussystem • Coordinatedactionsrequired • PossiblygreatnumberofBeBotsinvolved • Goal: specifiedsoftwareshouldfinallyrun on theBeBots PG SafeBots III
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
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
Model-based Software Engineering PG SafeBots III
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
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
Former PG ScenarioTools PG SafeBots III
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
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
Model-based Software Engineering PG SafeBots III
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
Example: Component Diagram including Real-Time Coordination Patterns PG SafeBots III
Real-Time Coordination Pattern PositionTransmission PG SafeBots III
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
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
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
Model-based Software Engineering PG SafeBots III
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
Developer Assistance • Refinement check returns counterexample for incorrect refinement • Assist developer by visualizing the counterexample • Example for visualization: • UPPAAL PG SafeBots III
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
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
Model-based Software Engineering PG SafeBots III
Model-based Software Engineering model coordination pattern derive requirements for each communication determine component‘s behavior derive initial component model PG SafeBots III
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
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
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
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
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
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
Questions? PG SafeBots III