ProSeminar Softwaresystemtechnik SST ModelBased Adaptive Systems Engineering SS
(Pro-)Seminar Softwaresystemtechnik (SST) “Model-Based Adaptive Systems Engineering” (SS 15, Proseminar 2 CP | Seminar 4 CP) Einführungsveranstaltung ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Johannes Bürdek Dept. of Electrical Engineering and Information Technology Dept. of Computer Science (adjunct Professor) johannes. buerdek@es. tu-darmstadt. de Tel. +49 6151 16 76089 © author(s) of these slides 2014 including research results of the research network ES and TU Darmstadt otherwise as specified at the respective slide www. es. tu-darmstadt. de
Herzlich Willkommen! Als Proseminar (mit reduzierten Ansprüchen, 2 CP): • B. Sc. ETi. T (5. Sem. ) Als Seminar (4 CP): • • • B. Sc. (5. Sem. ) und M. Sc. Informatik (2. Sem. ) Dipl. Informatik B. Sc. Informationssystemtechnik (5. Sem. ) Dipl. ETi. T (DT, Hauptstudium) entsprechende Wirtschaftsstudiengänge Sonstige passende Fachrichtung 2 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Was wir von den Teilnehmern erwarten… • Interesse am Thema + Motivation • Wille zur Zusammenarbeit mit § § Betreuer Kommilitonen bei einer Gruppenarbeit • Wissenschaftliches Vorgehen (unter Anleitung) • Fristgerechte Abgabe der geforderten Arbeiten • Teilnahme an allen Pflichtveranstaltung ACHTUNG: Das Seminar ist inhaltlich und vom Umfang her anspruchsvoll! Wir geben uns Mühe bei der Betreuung, und erwarten im Gegenzug von allen Teilnehmern ebenfalls vollen Einsatz!!! 3 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Ziele • Grundfertigkeiten zur Erstellung einer wissenschaftlichen Arbeit § § § Selbständiges Erarbeiten eines Themengebietes (unter Anleitung) Literaturrecherche finden, lesen, verstehen, bewerten Wissenschaftliches Schreiben Gliedern, Zitieren, Formulieren • Mitwirken am Reviewprozess § Verwendbares Feedback zu fremden Arbeiten geben Gegenseitige Unterstützung, Schwachstellen identifizieren • Präsentation § § Aufbereiten, bewerten der Ergebnisse Vorstellen der Ergebnisse Techniken, Stil, Zeiteinteilung, Reden vor der Gruppe 4 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Organisatorisches • Heute § § Themenvorstellung und Auswahl Themenvergabe durch uns • Während des Semesters § § § Erstellen einer Ausarbeitung (Auf-)Schreiben von (Zwischen-) Ergebnissen Vortrag vorbereiten Regelmäßige Absprachen mit Betreuer! Individuelle Absprachen Fortschritt, Fragen, Feedback, Tipps • Am Ende des Semesters (13. Juli 2015) § Vortrag im Blockseminar Präsentation + Ausarbeitung liegen bereits vor 5 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Plagiatshinweis – „Abschreiben“ verboten! • Wir messen der Einhaltung der Grundregeln der wissenschaftlichen Ethik großen Wert bei. • Mit der Abgabe einer Lösung (Hausaufgabe, Programmierprojekt, Diplomarbeit, etc. ) bestätigen Sie, dass (Sie/Ihre Gruppe) (der alleinige Autor/die alleinigen Autoren) des gesamten Materials sind. Falls Ihnen die Verwendung von Fremdmaterial gestattet war, so müssen Sie dessen Quellen deutlich zitiert haben. • Weiterführende Informationen unter http: //www. es. tudarmstadt. de/lehre/plagiat/ 6 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Wichtige Links zur Veranstaltung • Mailingliste § § § Jeder Teilnehmer bitte Eintragen Verwenden für Fragen, Diskussionen, … http: //liste. es. e-technik. tu-darmstadt. de/mailman/listinfo/sst • Seminarrichtlinien § http: //www. es. tu-darmstadt. de/fileadmin/download/lehre/Seminarrichtlinien. pdf • Plagiatshinweise § http: //www. es. tu-darmstadt. de/lehre/plagiat/ 7 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Übersicht Review-Prozess 8 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Motivation Adaptive Systeme § müssen sich an wechselnde Anforderungen anpassen Ø Benutzerbedürfnisse Ø Schwankende Verfügbarkeit von Ressourcen Ø … § müssen flexibel genug modelliert werden, um sich an Ø aktuelle Nutzerbedürfnisse und Ø Umgebungseinflüsse anpassen zu können. Hierfür bedarf es spezieller Techniken und Verfahren. 9 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Zeitplan 16. 04. 2015 Erster Termin 11. 05. 2015 Gliederung der Ausarbeitung 08. 06. 2015 Erste Fassung der Ausarbeitung für Reviews 15. 06. 2015 Abgabe der Reviews 29. 06. 2015 Endfassung der Ausarbeitung 06. 07. 2015 Endfassung der Vortragsfolien 15. 07. 2015 Abschlussvortrag 10 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
MAKI Travel Award 11 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
MAKI Female Student Travel Award 2015 1. & 2. Platz: Teilnahme an der Grace Hopper Celebration • Reise für 1. Woche nach Houston (Texas) • Lerne internationale IT-Größen kennen • Erweitere deinen Horizont http: //gracehopper. org/ 12 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
MAKI Female Student Travel Award 2015 3. & 4. Platz: Teilnahme an der Informatica Feminale oder Ingenieurinnen-Sommeruni • Reise für 1. Woche nach Bremen • Arbeite mit internationalen Größen • Entwickle dich fachlich weiter https: //www. informatica-feminale. de/ 13 | 2/13/2022 https: //www. ingenieurinnen-sommeruni. de/ | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
MAKI Female Student Travel Award 2015 Vergabekriterien: • Motivationsschreiben • Lebenslauf • Fachliche Vertiefung die zu MAKI passt • Studienleistung (Leistungsspiegel) Weitere Details unter: http: //www. es. tu-darmstadt. de/start/aktuelles-detailseite/single-news//makifemale-student-travel-award/ Bewerbungsfrist: 27. April 2015 Bewerbung an: Prof. Andy Schürr (Andy. Schuerr@es. tu-darmstadt. de) 14 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Themenübersicht Thema PS Modelltransformation und -synchronisation mit Echo Modelltransformation und -synchronisation mit JTL Variabilitätsmodellierung mechatronischer Systeme mit Mechatronic. UML X Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled String Constraint Solving and Solver Specification Approaches to Object-Oriented Java Refactoring Operations X Testen von adaptiven Systemen RETE-Netzwerke und verteiltes Graph Pattern Matching Modeling the Internet - Model-based analysis of Internet protocols X X = auch als Proseminar verfügbar 15 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Themenvorstellungen 16 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Modelltransformation mit JTL A landscape of bidirectional model transformations (P. Stevens) JTL: a bidirectional and change propagating transformation language (A. Cicchetti, D. Di Ruscio, R. Eramo and A. Pierantonio) http: //jtl. di. univaq. it/ 17 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Modelltransformation mit Echo Vergleich von QVT-Implementierungen (Diplomarbeit) Model Repair and Trasformation with Echo (Nuno Macedo, Tiago Guimaraes, and Alcino Cunha) http: //haslab. github. io/echo/ 18 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Model-driven development with Mechatronic. UML Geplanter Ablauf Paper A oder B lesen (Umfang kann nach Absprache individuell angepasst werden) 2. Paper diskutieren und offene Fragen klären 3. Interessante Fragestellungen aus Paper ggf. zusätzlich recherchieren 4. Dokumentation der Ergebnisse 5. Review-Prozess A Component Model Schäfer, Wilhelm, and Heike Wehrheim. "Model-driven development with Mechatronic UML. " in Graph transformations and model-driven engineering, 2010. 533 -554. Real-time Statechart 19 | 2/13/2022 1. B Heinzemann, Christian, and Steffen Becker. "Executing reconfigurations in hierarchical component architectures. " CBSE, 2013. | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled Beispielkonfigurationen eines Telematiksystems Geplanter Ablauf 1. Paper lesen (Umfang kann nach Absprache individuell angepasst werden) 2. Paper diskutieren und offene Fragen klären 3. Interessante Fragestellungen aus Paper ggf. zusätzlich recherchieren 4. Dokumentation der Ergebnisse 5. Review-Prozess Telematik Produktlinie Komponentenmodell Bąk, Kacper, et al. "Clafer: unifying class and feature modeling. " Software & Systems Modeling (2013): 1 -35. 20 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Satisfiability Modulo Theories (SMT) Constraints SAT-Solver SMT-Solver + Theory Solver SAT-Solver = SMT-Solver Theory-Solver Solution XOR Un. Sat SAT-Solver Linear-Algebra Solver SMT-Solver 21 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Satisfiability Modulo Theories (SMT) Workhorse for many Tasks in Software Engeneering Adaptive Systems / Planning § Compute new valid system configuration Test Case Generation § … Find execution trace to test a property Task SMT vs. Theories § What kinds of theories are currently supported by SMT solvers § What kinds of theories are supported for String manipulation 22 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Refactorings • The standard catalogue for objectoriented refactoring operations • Provides only informal specifications • In the book: only an intuitive description of the context and purpose of the listed refactoring operations 23 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Another Look at Specifying Refactorings Pre-conditon Post-conditon Towards a formal specification of refactorings? (important for automatization, recognizing refactoring conflicts, . . . ) „Whenever you see this pattern in your „After having the refactoring performed, program, there is a possibility to the refactored part should look like perform this refactoring operation” this” 24 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Where to start (Literature) Quinten David Soetens: Formalizing Refactorings Implemented in Eclipse. Master-Thesis, University of Antwerp, 2009. • A good, understandable introduction to the field of formalizing refactorings • Analyzes the refactorings implemented in Eclipse Max Schäfer, Oege de Moor: Specifying and Implementing Refactorings. OOPSLA 2010. • Next step: critique of the pre-/post-condition approach • Also takes the Eclipse refactorings into account and brakes them into „micro-refactorings” 25 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Testen von adaptiven Systemen - Adaptive Systeme müssen getestet werden - Speziell die Rekonfiguration dieser Systeme - Wie teste ich Systeme im Allgemeinen? - Wie beschreibe ich die Rekonfigurierbarkeit adaptiver Systeme? - Was sind die Herausforderungen beim Testen von Rekonfigurierbarkeit? - Wie teste ich Rekonfigurierbarkeit? - Wie stelle ich sicher, dass die Rekonfigurierbarkeit hinreichend getestet wurde? SOAS Data Integrity MAPE-K Structural Changes 26 | 2/13/2022 MAPE-T Corridor Enforcing Infrastructure KAOS | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Literatur + Kontakt - Testing the Reconfiguration of Adaptive Systems (Kai Nehring, Peter Liggesmeyer) - Towards Run-Time Adaptation of Test Cases for Self-Adaptive Systems in the Face of Uncertainty (Erik M. Fredericks, Byron De. Vries, Betty H. C. Cheng) - Towards Testing Self-organizing, Adaptive Systems (Benedikt Eberhardinger, Hella Seebach, Alexander Knapp, and Wolfgang Reif) - Towards Run-Time Testing of Dynamic Adaptive Systems (Erik M. Fredericks, Andres J. Ramirez, and Betty H. C. Cheng) - … Kontakt: Johannes Bürdek johannes. buerdek@es. tu-darmstadt. de 27 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
MODELING THE INTERNET 28 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Das Internet – einziger Hack? [Rexford 10] Protokolle Komponenten Tools IPX Load Label SIP tcpdump MAC balancer. PPP Switched FTP Switch Router UDP nslookup Scrubber wget traceroute HIP ICMP syslog OSPF RTP IMAP IGMP Repeater Gateway trat Intrusion snort Bridge nmap Route BGP Detection HTTP Deep PIM Reflector ECN System ARP Packet. RED Inspection whois ipconfig IP TCP RIP ntop MPLS RTCP rancid net-snmp DHCP SMTP CIDR server BFD RTSP Firewall NAT bro Packet Hub NNTP shaper Beispiel Session Initiation (SIP): TLS Protocol dig NAT ping iperf SACK wireshark STUN • 268 Seiten Basisdoku NDT Packet Base SSH DNS • ≫ 1000 Seiten Details, Bugfixes, DNS sniffer … WAN station mrtg server Und das alles großteils in Englisch!!! DHCP accelerator VTP Proxy dummynet LDP VLAN POP LISP TFTP arpwatch Router LLDP “We believe in rough consensus and running code” [Tao of IETF] “Networking is all details and no principles. ” [Anon. ] 29 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Modeling the Internet Idee: § “Leichtgewichtige Modellierung” von Netzwerkprotokollen [Zave 10] mittels Alloy [Jackson 12] § Vollautomatische Aufdeckung von Spezifikationsfehlern durch Model Checker (“Push-the-Button”-Ansatz) Wesentliche Aufgabenpakete: 1. Einlesen in Alloy (z. B. [Jackson 12]) 2. Anwendung von Alloy am Beispiel von Chord nachvollziehen ([Zave 10]) Seminar 3. Ergebnisse von [Zave 10] tw. reproduzieren 30 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung fact Join. Event { all j: Join, n: j. node, t: j. pre | Non. Member[n, t] && (some m: Node | Member[m, t] && Between[m, n, m. succ. t] && Member[m. succ. t, t] && n. succ. (j. post) = m. succ. t ) && no n. prdc. (j. post) } ES – Real-Time Systems Lab
Modeling the Internet – Zusammenfassung Betreuer: Roland Kluge roland. kluge@es. tu-darmstadt. de, Raum 301 a Mögliche Seminarform: Proseminar und Seminar Referenzen: [Rexford 10] [Jackson 12] [Zave 10] Jennifer Rexford, Notes for a course on Advanced Computer Networks, Princeton University, 2010. Jackson, Daniel. Software Abstractions: logic, language, and analysis. MIT press, 2012. Pamela Zave, Lightweight modeling of network protocols in Alloy, 2010. ES – Real-Time Systems Lab 3113. | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung Februar 2022 | Real-Time Systems Lab | Prof. Dr. Andy Schürr | Roland
RETE NETWORKS FOR INCREMENTAL AND DISTRIBUTED MODEL QUERYING 32 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Incremental and Distributed Model Querying (Netzwerk-)Graph DB Shard 1 DB Shard 2 DB Shard 3 DB Shard 4 Ziel 1: Alle Vorkommen des Musters im Graphen finden. 34 | 2/13/2022 Graphmuster | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung Ziel 2: Effiziente Updates des Graphen unterstützen. ES – Real-Time Systems Lab
RETE Networks for Pattern Matching Pattern 1 Matches für Pattern 2 Propagation Matches für Pattern 1 Knoten einfügen + löschen 35 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung Pattern 2 Kanten einfügen + löschen ES – Real-Time Systems Lab
Distributed Graph Transformation – Zusammenfassung Betreuer: Roland Kluge roland. kluge@es. tu-darmstadt. de, Raum 301 a Mögliche Seminarform: Seminar Mögliche Referenzen: G. Szárnyas, B. Izsó, I. Ráth, D. Harmath, G. Bergmann, and D. Varró. “Inc. Query-D: A distributed incremental model query framework in the cloud, ” in: Model-Driven Engineering Languages and Systems, 2014, pp. 653 -669. G. Varró, F. Deckwerth. “A RETE network construction algorithm for incremental pattern matching, ” in Theory and Practice of Model Transformations, 2013, pp. 125 -140. C. Forgy. Rete: “A fast algorithm for the many pattern/many object pattern matching problem, ” in: Artificial Intelligence 19, 1982, pp. 17 -37. 36 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Themenauswahl (jetzt geht’s los) 37 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Wie geht es weiter…!? E-Mail an johannes. buerdek@es. tu-darmstadt. de mit • • eurem Erst-, Zweit- und Drittwunsch und eventuellem Partner (bei Bearbeitung zu zweit) Unsere Aufgaben § § § Wir verteilen die Themen schnellstmöglich auf die Interessenten Geben das Ergebnis bekannt ( Homepage, E-Mail) Bereiten alles vor, damit anschließend die Bearbeitung unmittelbar starten kann Eure Aufgaben § § § Warten auf Ergebnisse der Zuteilung Anschließend meldet ihr euch bitte unmittelbar beim Betreuer Termin für ein erstes, persönliches Treffen Anschließend: Start Einarbeitung Zeitplan beachten 38 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
Noch Fragen? 39 | 2/13/2022 | (Pro-)Seminar Softwaresystemtechnik (SST) – Einführungsveranstaltung ES – Real-Time Systems Lab
- Slides: 38