Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering.

Similar presentations


Presentation on theme: "© Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering."— Presentation transcript:

1 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Developing Safe Software for Robots PG SafeBots III Stefan Dziwok Christian Heinzemann Jörg Holtmann Oliver Sudmann

2 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Software Engineering Group Our fields of research: Model-based software engineering Safety analyses Tool development Numerous industrial cooperations, e.g. with Prof. Dr. Wilhelm Schäfer 2 Projektgruppe Entwurfstechnik Mechatronik August 17, 2011PG SafeBots III

3 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Kneading Factory Goal: knead dough automatically At present: carrier to transport the tubs 3 August 17, 2011PG SafeBots III Source: Kemper Source: Wikipedia Published under GNU FreeGNU Free Documentation License V1.2 Fir0002/Flagstaffotos Dough Tub

4 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Kneading Factory At present: carrier to transport the tubs New idea: autonomously acting tubs Allows flexible design of the facility and faster processing 4 August 17, 2011PG SafeBots III Source: Kemper

5 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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 5 August 17, 2011PG SafeBots III Source: Kemper

6 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer BeBot Demonstrator BeBots Scan environment by using sensors Interaction with environment with different tools Wireless communication Challenges: Autonomous system Coordinated actions required Possibly great number of BeBots involved Goal: specified software should finally run on the BeBots 6 August 17, 2011PG SafeBots III

7 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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 7 August 17, 2011PG SafeBots III Source: HNI

8 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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 8 August 17, 2011PG SafeBots III

9 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Model-based Software Engineering 9 August 17, 2011PG SafeBots III

10 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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 10 August 17, 2011PG SafeBots III

11 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Modal Sequence Diagrams (MSDs) Extend UML Sequence Diagrams Distinction between possible and mandatory behavior Formal foundation Not just exemplary interactions 11 August 17, 2011PG SafeBots III obstacleFront noObstacleLeft O turnRight turnLeft

12 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Former PG ScenarioTools 12 August 17, 2011PG SafeBots III

13 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Aim of SafeBots III Enhancement of ScenarioTools simulation E.g., at present no timing supported What happens if message turnRight is sent too late? 13 August 17, 2011PG SafeBots III obstacleFront O turnRight Extension of the scenario simulation by timing concept!

14 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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 14 August 17, 2011PG SafeBots III

15 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Model-based Software Engineering 15 August 17, 2011PG SafeBots III

16 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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 16 August 17, 2011PG SafeBots III

17 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Example: Component Diagram including Real-Time Coordination Patterns 17 August 17, 2011PG SafeBots III

18 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Real-Time Coordination Pattern PositionTransmission 18 August 17, 2011PG SafeBots III

19 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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? 19 August 17, 2011PG SafeBots III ?

20 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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 20 August 17, 2011PG SafeBots III !

21 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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: Learn MechatronicUML and especially Real-Time Coordination Patterns Study specification and application of the SemanticWeb 21 August 17, 2011PG SafeBots III

22 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Model-based Software Engineering 22 August 17, 2011PG SafeBots III

23 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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 23 August 17, 2011PG SafeBots III φ = no deadlock |= φ ? Refinement senderreceiver Position Transmission b2:BeBot receiver b1:BeBot sender

24 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Developer Assistance Refinement check returns counterexample for incorrect refinement Assist developer by visualizing the counterexample Example for visualization: UPPAAL 24 August 17, 2011PG SafeBots III

25 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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 25 August 17, 2011PG SafeBots III CollisionControl distributor client sender receiver Conflict Data Transfer

26 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Refinement and Synthesis – Your Part Tasks Extend refinement check procedure to 1:n communication Provide visualization for counterexample analysis Extend existing synthesis approach Requirements: Learn or know verification of graph transformation systems Learn or know verification of timed automata Study different refinement definitions Understand synthesis of real-time behavior 26 August 17, 2011PG SafeBots III

27 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Model-based Software Engineering 27 August 17, 2011PG SafeBots III

28 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Model-based Software Engineering 28 August 17, 2011PG SafeBots III derive initial component model derive requirements for each communication model coordination pattern determine components behavior

29 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Process Support – Motivation 29 August 17, 2011PG SafeBots III derive initial component model derive requirements for each communication model coordination pattern determine components behavior derive roles derive message interfaces specify connector properties specify roles behavior adapt roles behavior to connector properties specify connector properties specify roles behavior adapt roles behavior to connector properties set of message interfaces set of roles set of connectors Real-Time Statecharts model coordination pattern set of structured components 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

30 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Process Support – Motivation 30 August 17, 2011PG SafeBots III derive initial component model derive requirements for each communication model coordination pattern determine components behavior derive roles derive message interfaces specify connector properties specify roles behavior set of message interfaces set of roles set of connectors Real-Time Statecharts model coordination pattern set of structured components 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!

31 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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 31 August 17, 2011PG SafeBots III derive roles derive message interfaces specify connector properties derive roles specify connector properties derive message interfaces component model coordination pattern message interfaceconnector propertiesroles

32 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Process Support – Your Part Tasks Integrate an adaptive process engine into the IDE Process Modeling: support for the process engineer to model the process in a declarative manner Process Enactment: Execute the specified process Propose steps to the developer depending on the current development situation (e.g. state of the system model) Requirements: Understand the MechatronicUML process Learn about declarative process modeling Learn about process management 32 August 17, 2011PG SafeBots III

33 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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. 33 August 17, 2011PG SafeBots III

34 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer 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) 34 August 17, 2011PG SafeBots III

35 © Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering Prof. Dr. Wilhelm Schäfer Questions? 35 August 17, 2011PG SafeBots III


Download ppt "© Software Engineering Research Group, Heinz Nixdorf Institute, University of Paderborn HEINZ NIXDORF INSTITUTE University of Paderborn Software Engineering."

Similar presentations


Ads by Google