Lab Class Model-Based Robotics Software Development Dipl.-Inform. Jan Oliver Ringert Dipl.-Inform. Andreas Wortmann http://www.se-rwth.de/
Next: Input Presentations Thursday 1. MontiCore: AST Generation (Christoph Hommelsheim) 2. MontiCore: Composition (Gerrit Garbereder) 3. MontiCore: Code Generation (Roland Doepke) 4. Tooling (Shilu Peng) 5. Maven (Dipl.-Inform. Andreas Horst) Today 6. MontiArc (David Thönnessen) 7. IO-Omega Automata (Marcel Klinzing) 8. MontiArcAutomaton CodeGen (Michael Schlimnat) 9. lejos (Andrea Bönsch) 10. SCRUM (Dipl.-Inform. Jan Oliver Ringert)
The SCRUM Team Development Team ScrumMaster + Manager (Impediment Backlog) Dev team Product Owner (Product Backlog) Dev Team Customer: Jan User: Andreas
Initial Task (Part 1: Requirements Engineering) Derive Use Case diagrams from our requirements Add more details if necessary Hand in graphically (as PDF) Provide a short textual description for each Use Case Think of problems that could arise and give ideas on deadling with them Do this until next thursday do this in teams of two
Initial Task (Part 2: Architecture Modeling) Prepare two architectures (textually and graphically) modeling using MontiArc (mark where automata should be used) consisting of three layers (sensors, controller, manipulator) A coffee preparing robot A with 10 components which receives input from robot B prepares coffee (i.e., pushes the button) do this in the same teams of two A coffee fetching robot B with 16 components consisting of a decomposed navigation component talks to robot A which can process user input detects obstacles see MontiArc tech report for notation
Initial Task (Part 2: Architecture Modeling) A coffee preparing robot A with 10 components which receives input from robot B prepares coffee (i.e., pushes the button) A coffee fetching robot B with 16 components consisting of a decomposed navigation component which can process user input talks to robot A detects obstacles (e.g., another coffee fetching robot)
User Stories 1. Als Kaffeetrinker möchten wir den Roboter beauftragen können, uns frischen Kaffee zu holen. 2. Als Putzkraft möchten wir nicht, dass der Putzwagen umgefahren wird. 3. Als Mitarbeiter des Lehrstuhls, möchten wir nicht, dass der Roboter sinnlos in unseren Büros herumfährt. 4. Als ZuckerImKaffeeTrinker möchten wir, dass der Roboter in der Lage ist Kaffee mit Zucker zu holen. 5. Als MilchImKaffeeTrinker möchten wir, dass der Roboter in der Lage ist Kaffee mit Milch zu holen. 6. Als Roboterbesitzer möchten wir, dass der Roboter keine Treppen hinunterfällt. 7. Als ungeduldige Menschen, möchten wir, dass der Roboter vor verschlossenen Türen wartend ein Signal von sich gibt. 8. Als Putzkraft möchten wir, dass der Roboter die Kaffeemaschine nicht völlig verdreckt hinterlässt. 9. Als Kaffeemaschinenbeauftrage möchten wir nicht, dass der Roboter die Kaffeemaschine bedient, wenn kein Wasser vorhanden ist. 10. Als agile Wissenschaftler möchten wir, dass der Roboter folgende Orte mit Kaffee beliefern kann: Räume 4304, 4312, 4315 und das Sofa im Flur
User Stories 1. As coffee drinkers, we want to instruct the robot to bring us fresh coffee. 2. As cleaners we do not want the cleaning cart to be knocked down. 3. As employees of the department, we do not want the robot drive around meaningless in our offices. 4. As SugaryCoffeeDrinkers we want the robot to be able to fetch coffee with sugar. 5. As MilkyCoffeeDrinkers we want the robot to be able to fetch coffee with milk. 6. As robot owners, we do not want the robot to fall down any stairs. 7. As impatient people, we want the robot to signal us, if waiting at a closed door. 8. As cleaners, we want the robot to leave the coffee machine as clean as he had found it. 9. As coffee machines responsibles we want the robot not to operate the coffee machine when there is no water. 10. As agile scientists, we want the robot to deliver coffee to the following places : Rooms 4304, 4312, 4315, and the sofa in the hall
Restrictions coffee => espresso (less coffee spill) cup = plastic mug (due to weight restrictions) use defined coffee machine (makes your job easier)