Softwaretechnik-PraktikumWS2017/2018
Auftaktveranstaltung (18.10.2017)
Christopher Pietsch / Dennis Reuling
Agenda
1 Organisatorisches
2 Ablauf des Praktikums
3 Aufgabenstellung(en)
4 Ausblick
5 Offene Fragen
2 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Teil 1
Organisatorisches
3 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Veranstalter
Dipl.-Inform. Christopher PietschRaum: H-C 8304E-Mail: [email protected]: nach Vereinbarung
M. Sc. Dennis ReulingRaum: H-C 8331E-Mail: [email protected]: nach Vereinbarung
4 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Formalitäten
Softwaretechnik PraktikumZielgruppe: BA Informatik (PO 12/13)Einstufung: 15 LP, benotet, 2 Semester (WS≈10LP, SS≈5LP)Voraussetzungen:
- Softwaretechnik I, insb. EMF- ProPra
Projektgruppe (in Ausnahmefällen)Zielgruppe: MA InformatikEinstufung: 20 LP (abhängig von der PO), benotet, 2 Semester(WS≈10LP, SS≈10LP)Voraussetzungen: s.o.Bearbeitung von komplexen Aufgaben
5 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Über die Veranstaltung
Definition:Praktikum, keine VorlesungKein zweites ProPraMinimale Betreuung
Zielsetzung:Soft-Skills erlernen / fördernArbeiten in großen GruppenSelbständiges Arbeiten fördernErster Kontakt mit LangzeitprojektenProjektbetreuung von Anfang bis Ende
6 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Technische Rahmenbedingungen
GIT-Repository- Quelldateien (src, …)
⇒ SSH Verbindung per Public-Key-AuthentifizierungTRAC-Repository
- Task-, Bug- und Zeitmanagement- Dokumentation (Wiki)
⇒ HTDIGEST generiertes Passwort
Weitere Informationen unterhttp://pi.informatik.uni-siegen.de/lehre/STP/2017w/
7 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Technische Rahmenbedingungen
Implementierung in Java (JDK 6-8)Entwicklungsumgebung: Eclipse Neon/OxygenWerkzeug(e) als Eclipse Plugin(s)Enge Integration mit dem User-Interface in Eclipse/Tools(Dialoge, Wizards, Help, …)
8 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Teil 2
Ablauf des Praktikums
9 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Grober Ablauf
Das Praktikum besteht grob aus 3 sich überlappenden Phasen:1 Einarbeitung in relevante Themen ≈ 1 Monat
- Themenwahl bis Mittwoch, den 01.11.2017- Präsentation am Mittwoch, den 22.11.2017
2 Begleitende Blockveranstaltungen zum Thema”Projektmanagement und Softskills”
- 5 Blockveranstaltungen- ganztägig- Beginn Xx.XX.2017
3 Praktische Phase (Planung/Implementierung) ≈ 7 Monate- 31.07.2018: Abgabe des Projekts- Nachbesserungen bis Mitte September 2018- Abschlusspräsentation: Ende September/Anfang Oktober 2018
10 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Einarbeitungsphase
Teilnehmergruppen müssen sich zu Beginn des Praktikums inrelevante Themen einlesen und -arbeiten:
Projektmanagement- Trac- Git
Projektrealisierung- Eclipse Plugin-Architektur- Eclipse Modeling Framework (EMF)- ...
Gruppen stellen abschließend diese Themen den anderenTeilnehmern vor (Präsentation, Tutorial ...).
⇒ Bildet die Grundlage für die weiteren Phasen!
11 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Externes Coaching - Einführung
Projektmanagerin Nicole Schelter (www.schelter.eu) gibt eineEinführung in die Themengebiete Projektmanagement undSoftskills, u.a. in folgenden Bereichen:
Soft-Skills in der SoftwareentwicklungFragetechniken für Requirements EngineeringTeamstruktur und TeamentwicklungProjektplanung und RiskomanagementProjektbetreuung in Langzeitprojekten
Die Termine sind Pflichtveranstaltungen!
12 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Praktische Phase
Die Umsetzung erfolgt unter Verwendung der erlernten Praktikendurch:
1 Planen2 Implementieren3 Testen
Dabei zu beachten sind:Planung der Funktionalität(en)Aufteilung der ArbeitenAufteilung der GruppenZeiteinteilung…
13 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Teil 3
Aufgabenstellung(en)
14 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Allgemeiner Kontext
Kontext: Modellbasierte Entwicklung - präskriptive Verwendungvon Modellen zur
automatisierten Ableitung großer Teile eines Softwaresystems(Übersetzeransatz)Konfiguration bzw. Steuerung eines Softwaresystems(Interpreteransatz)Qualitätssicherung unter Verwendung von Modellprüfer (engl.model checker) und modellbasiertem Testen.
⇒ Modelle treten an die Stelle von Quellcode und müssenkollaborativ bearbeitet, gewartet, versioniert und verwaltetwerden!
15 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Aufgabe I - Kontext
Problem: Im Laufe der Zeit werden Modelle erweitert bzw.geändert, überarbeitet:
Änderungen betreffen u.a. eine Reihe ähnlicher Modelle.Wiederkehrende Überarbeitungen (z.B. Refactorings).
Event+artist: String
Concert Exhibition
Lösungsansatz: Modelltransformationen als Schlüsseltechnologieder modellbasierten Entwicklung.
16 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Exkurs: Modellierungssprachen
Konzeptuelle Struktur (abstrakteSyntax) eines Modells
definiert durch Metamodelltypisierter attributierterGraph (Abstract SyntaxGraph)
Visuelle Darstellung (konkreteSyntax) eines Modells
Menge von graphischenSymbolenAbbildung der ASG Elementeauf graphische Symbole
Class+isAbstract: Boolean = false
Property
class0..1
ownedAttribute*
Generalization
specific1
general1
type0..1
generalization*
general1
Event
Concert+artist: String
Exhibition+artist: String
Meta
mod
ell
ab
stra
kte S
yn
tax
konkr
ete
Synta
x
Event:Class+isAbstract: true = String
Concert:Class+isAbstract: false = String
Exhibition:Class+isAbstract: false = String
g1:Generalization g2:Generalization
specific
generalization
specific
generalization
general general
artist:Property artist:Property
ownedAttribute ownedAttribute
classclass
17 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Modelltransformationen
Henshin: Modelltransformationssprache und Frameworkbasierend auf Graphtransformationskonzeptenfür EMF-basierte Modelle
Event:Class+isAbstract: true = String
Concert:Class+isAbstract: false = String
Exhibition:Class+isAbstract: false = String
g1:Generalization g2:Generalization
specific
generalization
specific
generalization
general general
artist:Property artist:Property
ownedAttribute ownedAttribute
classclass
ownedAttribute
class
Event+artist: String
Concert Exhibition
Arbeitsg
raph
Transformationsregel
Problem: Skalierbarkeit bei großen Modellen undTransformationsregeln
18 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Lösungsidee
19 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Aufgabe(n)
Implementierung eines auf einer relationalen Datenbankbasierenden Interpreters für Henshin Transformationsregeln:
Abbildung des Typgraphen (Metamodell) auf ein relationalesDatenbankschemaImport des Arbeitsgraphen (Modell) in die DatenbankÜbersetzung von Graphtransformationsregeln inDatenbankabfragenExport des Arbeitsgraphen aus der Datenbank nach EMF
⇒ Geeignete graphische Bedienschnittstellen (Wizards, Views etc.),um Regeln anzuwenden.
20 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Aufgabe II - Kontext
Problem: Im Laufe der Zeit entstehen viele (parallele)Modell-Varianten:
Diese werden ungeplant und ad-hoc erstellt (Zeit-/Kostendruck),oft als ”clone-and-own“ bezeichnet.Beziehungen zwischen Varianten unklar, insbesondere derenGemeinsamkeiten.
Lösungsansatz: Nachträgliches ”Zusammenführen“ der Varianten,d.h. Konsolidieren. Besteht üblicherweise aus zwei Schritten:
1 Erkennen der gemeinsamen und unterschiedlichen Teile.2 Konsolidierung der Varianten (in eine gemeinsame
Repräsentation).
21 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Konsolidierung von ModellenEingabe:N Varianten(hier 2)
Statemachines weisen(große) Gemeinsamkeiten aufAlle Zustände undTransitionen sollten einanderzugeordnet werdenEinziger Unterschied:doWork() Aktion
Ziel: Eine vereinigte Darstellung.
Automatische (!)Vereinigung der VariantenUnterschiede werden durchVariationspunkte ”markiert“(siehe Guards)Grundlegende Eigenschaften:
- Korrektes Modell- Variabilität in der Sprache
(Variability Encoding)- Variantenerhaltend
22 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Konsolidierungsoperatoren
Ein Konsolidierungsoperator besteht aus drei Teilen (Ähnlich zuRefactorings):
Muster von Variationspunkt(typ)en, auf die er passt(Im Beispiel: Zwei unterschiedliche Aktionen an einergemeinsamen Transition)(Menschenlesbare) Beschreibung seiner Eigenschaften (Name,Bindungszeitpunkt, ...)(Im Beispiel: DuplicateTransition(...), BindingTime: Runtime)Änderungsvorschrift zur eigentlichen Konsolidierung(Im Beispiel: Transition duplizieren, Guards einfügen,Transitionen einbinden)
Problem: (Beliebig) viele Konsolidierungsoperatoren proModellierungssprache möglich/nötig (wie bei Reparaturen/QuickFixes)...
23 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Konsolidierungen I
Beispiele:
Fine Coarse
Bad Readability (?) Good Readability (?)
24 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Konsolidierungen II
Folgeprobleme:Unnötige Berechnungen in Schritt 1 (Matching)Auswahl muss manuell erfolgen, beliebig aufwendigKonsolidierungsdesign abhängig von Varianten, nicht a-prioridefinierbarEs kann nicht garantiert werden, dass bei jeder Eingabeautomatisch konsolidiert werden kann.
Idee:⇒ Spezifikation eines Konsolidierungsdesigns, das beschreibt, woVariabilität im konsolidierten Modell auftreten darf/soll!
25 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)Aufgabe IAufgabe II
Ausblick
Offene Fragen
Aufgabe(n)
Konzeptuelle Erarbeitung und Implementierung einesKonfigurationsprozesses zur Spezifikation einesKonsolidierungsdesigns, d.h.:
1 Interaktive Spezifikation der (erwünschten) Variabilität fürMOF-basierte Modellierungssprachen, z.B. UML oder Ecore.
2 Generierung von Mustern / Rahmenwerk fürKonsolidierungsoperatoren auf Basis eines gegebenenKonsolidierungsdesigns.
3 Qualitätsmanagement von Konsilidierungsoperatoren auf Basiseines Konsolidierungsdesigns
⇒ Interaktive Prozesse erfordern geeignete graphischeBedienschnittstellen (Wizards, Views etc.), welche auf denjeweiligen Prozess zugeschnitten sind.
26 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Teil 4
Ausblick
27 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Nächster Schritt
Aufgaben:bis zum 25.10.2017 Generieren der Schlüssel/Passwörterbis zum 01.11.2017 Themenwahl für Einarbeitungsphase
Nächsten Pflichttermine:Mittwoch, 22.11.2017, 8:30 Uhr (H-A 6120) - Präsentation derThemen aus der EinarbeitungsphaseTermine der Blockveranstaltungen zum Thema”Projektmanagement und Softskills”werden noch bekanntgegeben
28 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Teil 5
Offene Fragen
29 / 30 Auftaktveranstaltung (18.10.2017)
ST-Prakt.
C. PietschD. Reuling
Organisatorisches
Ablauf desPraktikums
Aufgabenstel-lung(en)
Ausblick
Offene Fragen
Offene Fragen
30 / 30 Auftaktveranstaltung (18.10.2017)