Past Events
Contact
Past Events
Past Software Engineering Events
2024
04.07.2024 14:15 SE Colloquium https://uol.de/se?vc-oberseminar | |
Lennart Berg, Jonas Bock, Erik Brähmer, Kaya Dobaj, Nicolai Grell, Nell Ittner, Andreas Kern, Konstantin Kreft, Katharina Kröff, Niclas Steinmüller, Leon Tümkaya und Felix Wehrmann:
IT-basierte Erhebung und Analyse von begrünten Dächern
Begrünten Dächern werden positive Einflüsse auf die Umwelt zugeschrieben. Unter anderem sollen Sie den CO2-Gehalt der Umgebungsluft verringern, den Feinstaub aus der Umgebungsluft filtern und die Umgebungstemperatur bei Hitze senken. Damit bieten sie potenzielle Teillösungen für aktuelle Umweltprobleme und leisten einen Beitrag zur Klimawandelanpassung. Belastbare Zahlen zu den positiven Effekten für den Norden Deutschlands fehlen allerdings noch. Im Rahmen der durch Studienqualitätsmittel geförderten Lehrveranstaltung 2.01.807 IT-basierte Erhebung und Analyse von Umweltdaten haben 12 Teilnehmer (Informatik- und Biologie-Studierende) Hypothesen zu begrünten Dächern bestätigt oder widerlegt, um deren Realpotenzial zu erforschen. Es wurde in drei interdisziplinären Kleingruppen geforscht: eine spezifische Forschungsfrage an der Schnittstelle von Ökologie und Informatik entwickelt, die zu erhebenden Umweltparameter und Auswertungsmethoden spezifiziert, ein System aus Messsensoren gebaut, Daten auf dem Gründach des Botanischen Gartens erhoben und anschließend gemäß der gewählten Methode ausgewertet. Zur Erhebung der Umweltparameter wurde das Umweltinformationssystem Guerilla-Sensing (https://www.guerilla-sensing.de/), mit dem sich anwendungsfall-spezifische Messknoten erstellen und betreiben lassen, eingesetzt. Die Kleingruppen werden ihre gemeinsamen und individuellen Ergebnisse präsentieren. Sie werden individuelle Fragestellungen zu den drei Umweltparametern Evaporation, Umgebungstemperatur und Feinstaub von begrünten Dächern während der Präsentation beantworten und Einblicke in die verwendeten Methoden und technischen Systeme geben. Anschließend können die präsentierten Ergebnisse mit den Teilnehmern der Veranstaltung diskutiert werden. |
25.06.2024 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Refik Melih Sezer:
Ansätze zur Bereitstellungsplanung
Die heterogene und verteilte Natur von IoT-Systemen sowie die Vielfalt der verfügbaren Technologien beeinflussen die Bereitstellungsplanung erheblich, da zahlreiche Alternativen zur Systembereitstellung existieren. Diese Vielfalt stellt im Kontext der Bereitstellungsplanung die Herausforderung dar, eine Lösung zu finden, die den spezifischen Anforderungen entspricht. Dabei müssen sowohl die Integration des Systems in die Zielumgebung als auch die Konfiguration berücksichtigt werden, die beschreibt, welche Nodes verwendet werden und wo sie platziert werden sollen, sowie deren jeweilige Zustände. Während traditionell die Bereitstellungsplanung auf Institutionen beruhte, führt die Vielzahl an Alternativen und relevanten Eigenschaften dazu, dass ein strukturiertes und detailliertes Planungsvorgehen von essenzieller Bedeutung ist, um eine anforderungsgerechte Systemlösung sicherzustellen. Ziel dieser Arbeit ist es, zunächst ein fundiertes Verständnis der entscheidenden Aspekte der Bereitstellungsplanung sowie der Bereitstellungsaufgaben zu schaffen. Anschließend sollen bewährte Ressourcen aus verwandten Arbeiten, die sich für die Bewältigung der Bereitstellungsaufgaben eignen, erforscht und in Form einer Handlungsempfehlung als ein erster möglicher strukturierter Ansatz für das Bereitstellungsvorgehen erarbeitet werden. Dieser Ansatz soll dazu dienen, in der Praxis zielgerichtet und strukturiert eine Bereitstellungsalternative zu entwickeln, die den Anforderungen entspricht. |
28.05.2024 16:30 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Anne Lecdou Kayou:
Automatische Feedbackbereitstellung zu Lösungen von Modellierungsaufgaben
Modellierung spielt eine zentrale Rolle in der Informatik, insbesondere in der Softwaretechnik, da sie die übersichtliche und verständliche Darstellung von Softwaresystemen ermöglicht. Diese Fähigkeit ist essentiell für das Verstehen komplexer Probleme und ist eine wichtige Kompetenz für Informatikstudierende. Die Fachrichtung Informatik an der Universität Oldenburg, um die Programmier-und Modellierungausbildungen bei Studenten zu gelingen stellen neben den theoretischen Inhalten in der Vorlesungen Übungsaufgaben in Tutorien , um das Wissen zu festigen. Dennoch wünschen sich Studierende mehr praktische Übungen, um ein tieferes Verständnis der Modellierungs- und Programmierungstechniken zu erlangen. Die manuelle Korrektur dieser Aufgaben ist jedoch zeitaufwendig und schwer skalierbar und kann zu Verzögerungen beim Feedback führen, so dass Studierende das Lerninteresse verlieren. Daher besteht der Bedarf an einer Lösung, die Modellierungsaufgaben automatisch korrigieren kann. Das Projekt Innovation Plus hat eine Lernplattform entwickelt, die dieses Ziel ermöglicht. Allerdings erfordert die Nutzung dieser Plattform gewisse Programmierkenntnisse, die nicht immer gewährleistet sind. Diese Arbeit schlägt eine Erweiterung des Projekts Innovation Plus vor, um ein automatisiertes Bewertungssystem für Modellierungsaufgaben zu entwickeln, das ohne oder mit minimalen Programmierkenntnissen reibungslos und effizient arbeiten kann. Vorsicht, der Vortrag beginnt um 16:30, also eine halbe Stunde später als sonst! |
07.05.2024 16:00 SE Colloquium PG-Raum A2 2-219 | |
Manuel Kreienborg:
Software-Defined-Vehicle (SDV)
Der Vortrag gibt einen fundierten Einblick in die Evolution und den aktuellen Stand der Software Defined Vehicles (SDVs), sowie in die damit verbundenen Herausfor-derungen. Von den Ursprüngen bis zu den neuesten technologischen Entwicklun-gen und Trends wird die Entstehungsgeschichte von SDVs umfassend skizziert. Besondere Aufmerksamkeit gilt dabei der revolutionären Rolle, die SDVs in der Automobilbranche spielen, indem sie die Flexibilität und Funktionalität von Fahr-zeugen durch softwaregesteuerte Lösungen transformieren. Insbesondere werden chinesische Automarken in Europa betrachtet und zwei ver-schiedene Markenaufbaustrategien identifiziert. Zudem wird die Herausforderung für traditionelle OEMs im Vergleich zu neuen Marktteilnehmern erörtert, die SDVs entwickeln. Eine qualitative Bewertung des aktuellen Reifegrads von SDV-Modellen hebt Unterschiede zwischen den OEMs hervor. Hervorgehoben wird auch die steigende Erwartung der Kunden nach kontinuierli-cher Funktionserweiterung über die Nutzungsdauer hinweg, was eine Herausforde-rung für die Branche darstellt. SDVs werden als zentrale Innovation betrachtet, die wettbewerbsfähige Fahrzeuge ermöglicht, wobei ein Paradigmenwechsel in der E/E-Architektur als entscheidender Erfolgsfaktor identifiziert wird. Abschließend wird die unverzichtbare Entkopplung von Hardware- und Software-entwicklung als essenzieller Aspekt für die Entwicklung von SDVs erläutert. Der Vortrag bietet somit einen umfassenden Überblick über die Welt der Software De-fined Vehicles und lädt zur Diskussion über deren Zukunft ein. |
30.04.2024 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Refik Melih Sezer:
Ansätze zur Bereitstellungsplanung
Die heterogene und verteilte Natur von IoT-Systemen sowie die Vielfalt der einsetzbaren Technologien stellen neue Herausforderungen für die Bereitstellung dar. Diese Bachelorarbeit untersucht das "Deployment-Problem" in IoT-Umgebungen, das über traditionelle Schritte wie Planung, Installation und Konfiguration hinausgeht. Es gilt zu bestimmen, welche Nodes benötigt werden, wo sie platziert werden sollten, welche Funktionen sie ausführen müssen und wie diese effektiv in einen nutzbaren Zustand überführt werden können. All diese Faktoren sind zu Berücksichtigen um eine anforderungsgerechte Bereitstellung sicherzustellen. Ziel ist es, ein fundiertes Verständnis der Bereitstellungsaufgaben zu schaffen und bewährte Werkzeuge und Konzepte aus der Literatur zu identifizieren, die für diese Aufgaben geeignet sind. Durch die Analyse technischer Standards und einer kritischen Bewertung verschiedener Ressourcen für die Bereitstellungsplanung soll ein strategischer Ansatz entwickelt werden, der für das effektive Bereitstellen von IoT-Lösungen verwendet werden kann. |
16.04.2024 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Mandy Mischke:
Beschreibung fernsteuerbarer Experimentieranlagen
Die Abteilung der technischen Chemie an der Carl von Ossietzky Universität Oldenburg entwickelt in Zusammenarbeit mit der Informatik fernsteuerbare Experimentieranlagen. Mithilfe dieser Anlagen können Student:innen und andere Interessent:innen Experimente über das Internet durchführen. An diesem Prozess sind verschiedene Stakeholder:innen beteiligt, z.B. kümmern sich Chemiker:innen um die Konzeptionierung und den Bau der Anlagen, Informatiker:innen entwickeln die zugehörige Firmware und kümmern sich um die Steuerung durch ein User Interface. Um die interdisziplinäre Zusammenarbeit verschiedenster Stakeholder:innen und die dafür benötigte Kommunikation zu verbessern, soll eine Sprache entwickelt werden, welche sich auf die Beschreibung der Entwicklung und Integration neuer Anlagen konzentriert. Diese Sprache soll zu einem gemeinsamen Verständnis aller Stakeholder:innen beitragen. Als Lösungsansatz wurden domänenspezifische Sprachen (DSL) gewählt, da diese die zugehörige Domäne in einem geeigneten Rahmen abstrahieren und so die Möglichkeit einer verständlichen Beschreibung bieten. Auf Grundlage der Unified Modeling Language (UML) wurde deswegen eine DSL für die Entwicklung in Integration neuer Anlagen im SpiceGirls-Projekt entwickelt. Mit dieser lassen sich die Experimentieranlagen, deren Firmware, die Virtualisierung und das User-Interface standardisiert beschreiben. |
26.03.2024 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Henry Haar, Sören Heithus, Ronald Kasper, David Klein, Joseph Mukondo und Hendrik Peper:
Bereitstellung von Funktionalitäten in IoT Systemen – am Beispiel von Vorhofflimmererkennung in EKG-Systemen
Aufgrund der Tatsache, dass IoT-Systeme heterogen und an verschiedenen Orten verteilt sind, existieren viele Möglichkeiten, Funktionalität in diesen Systemen bereitzustellen. Aus diesem Grund ist es nützlich herauszufinden, ob alle diese Möglichkeiten die selben Anforderungen erfüllen oder ob sich die Unterschiede der Möglichkeiten in der Anforderungserfüllung bemerkbar machen. Deshalb wurde im Proseminar IoT WiSe 23/24 die Fragestellung bearbeitet, inwiefern unterschiedliche Bereitstellungsalternativen eines IoT-Systems die Erfüllung von vorher definierten Anforderungen an das System beeinflussen. Dafür wurde als Anwendungsbeispiel die Auswirkung der Bereitstellungsalternativen eines Vorhofflimmer-Erkennungs-Algorithmus in einem mobilen EKG-System untersucht, indem diese auf Metriken wie Energieverbrauch, Speicherbedarf und Zeit getestet wurden. Das Ergebnis zeigt, dass Bereitstellungsalternativen maßgeblich vorgeben, ob eine Anforderung erfüllt wird oder nicht. |
30.01.2024 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Hendrik Lügering:
Bereitstellung von KI-basierter Vorhofflimmererkennung - am Beispiel eines mobilen Langzeit-EKGSystems
Heterogene und verteilte Systeme, wie Langzeit-EKG-Systeme, bieten unterschiedliche Bereitstellungsalternativen, die zu unterschiedlichen Systemeigenschaften führen. Entsprechend werden Systemanforderungen erfüllt oder nicht. Am Beispiel von Langzeit-EKG-Systemen wird durch Experimente aufgezeigt, dass Bereitstellungsalternativen, bei denen eine fest gewählte KI-basierte Vorhofflimmererkennung durch Sensorknoten realisiert wird, aufgestellte Anforderungen bezüglich Betriebszeiten eher erfüllen als andere Bereitstellungsalternativen mit gleicher Vorhofflimmererkennung." |
23.01.2024 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Kristian Tönjes:
Interoperabilität mit GraphQL
Durch die zunehmende Digitalisierung des öffentlichen Lebens fallen eine Vielzahl an Daten aus unterschiedlichen Quellen an. Aufgrund der Heterogenität dieser Quellen ist jedoch häufig keine Interoperabilität gegeben. In dieser Arbeit wurde die Eignung von GraphQL als Interoperabilitätsmechanismus untersucht. Zu diesem Zweck wurde ein reales Szenario aus dem Smart-Region Kontext entwickelt: Dem Training eines Prognosemodells mit historischen Wetter- und Mobilitätsdaten zur Vorhersage von Mobilitätsdaten anhand der Wettervorhersage. Anschließend wurde dieses Szenario mittels GraphQL umgesetzt. Dabei wurde gezeigt, dass ein GraphQL basierender Ansatz den Umgang mit den verschiedenen Herausforderungen der Interoperabilität ermöglicht. |
16.01.2024 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Roman Kammer:
Visualisierung von Sensordaten - Visualisierung für das Micro-Klee Projekt
In Kooperation mit der Piccoplant GmbH realisiert der Botanische Garten Oldenburg das Micro Klee Projekt, um das Wasserhaltevermögen von getopften Rhododendron und Flieder Pflanzen zu untersuchen, wenn ausgewählte Bodendecker um die Pflanzen gepflanzt werden. Dafür wird ein Teil der Töpfe mit jeweils zwei Sensoren bestückt, die in regelmäßigen Abständen die Temperatur und die Bodenfeuchtigkeit messen. Damit die aufkommenden Daten nicht eigenhändig von den Biologen visualisiert werden müssen, werden die Daten an eine Plattform für Umweltdaten übermittelt, der Guerilla Sensing Plattform. Dadurch ergibt sich die Möglichkeit, die Daten über ein Web-Frontend, visualisiert darzustellen. Um die Daten jedoch genauer untersuchen zu können, bedarf es einer geeigneteren Lösung die aufkommenden Daten des Micro Klee Projekts zu visualisieren. Im Rahmen dieser Arbeit wird ein Konzept entwickelt, umgesetzt und evaluiert, welches die Guerilla Sensing Plattform so erweitert, dass die Daten des Micro Klee Projekts verständlich, aktuell und vergleichbar für unterschiedliche Interessengruppen visualisiert werden können. |
09.01.2024 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Mandy Mischke:
Beschreibung fernsteuerbarer Experimentieranlagen
Die Abteilung der technischen Chemie an der Universität Oldenburg entwickelt in Zusammenarbeit mit der Informatik fernsteuerbare Experimentieranlage. Mithilfe dieser Anlagen können Student:innen und andere Interessent:innen Experimente über das Internet durchführen. Da die Nachfrage für diese Anlagen steigt, soll die Entwicklung und Integration neuer Anlagen effizienter gestaltet werden. An diesem Prozess sind verschiedene Stakeholder:innen beteiligt, z.B. kümmern sich Chemiker:innen um die Konzeptionierung und den Bau der Anlagen, Informatiker:innen entwickeln die zugehörige Firmware und kümmern sich um die Steuerung durch ein User Interface. Um die interdisziplinäre Zusammenarbeit verschiedenster Stakeholder:innen und die dafür benötigte Kommunikation zu verbessern soll eine Sprache entwickelt werden, mit der verschiedene Aspekte einheitlich beschrieben werden können. Diese Sprache soll zu einem gemeinsamen Verständnis aller Stakeholder:innen beitragen. Sie bezieht sich auf die Entwicklung und Integration neuer Anlagen in das Gesamtsystem, weswegen zu den zu beschreibenden Aspekten der Aufbau neu zu integrierender Anlagen, die strukturelle Einbettung in das Gesamtsystem, das Verhalten verschiedener Komponenten dieses Prozesses, sowie die Steuerung durch Nutzer:innen gehört. |
2023
12.12.2023 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Mandy Mischke:
Beschreibung fernsteuerbarer Experimentieranlagen
Die Abteilung der technischen Chemie an der Universität Oldenburg entwickelt in Zusammenarbeit mit der Informatik fernsteuerbare Experimentieranlage. Mithilfe dieser Anlagen können Student:innen und andere Interessent:innen Experimente über das Internet durchführen. Da die Nachfrage für diese Anlagen steigt, soll die Entwicklung und Integration neuer Anlagen effizienter gestaltet werden. An diesem Prozess sind verschiedene Stakeholder:innen beteiligt, z.B. kümmern sich Chemiker:innen um die Konzeptionierung und den Bau der Anlagen, Informatiker:innen entwickeln die zugehörige Firmware und kümmern sich um die Steuerung durch ein User Interface. Um die interdisziplinäre Zusammenarbeit verschiedenster Stakeholder:innen und die dafür benötigte Kommunikation zu verbessern soll eine Sprache entwickelt werden, mit der verschiedene Aspekte einheitlich beschrieben werden können. Diese Sprache soll zu einem gemeinsamen Verständnis aller Stakeholder:innen beitragen. Sie bezieht sich auf die Entwicklung und Integration neuer Anlagen in das Gesamtsystem, weswegen zu den zu beschreibenden Aspekten der Aufbau neu zu integrierender Anlagen, die strukturelle Einbettung in das Gesamtsystem, das Verhalten verschiedener Komponenten dieses Prozesses, sowie die Steuerung durch Nutzer:innen gehört. |
14.11.2023 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Maik Sanders:
Evaluation fernsteuerbarer Experimentieranlagen
Der Bereich der technischen Chemie an der Universität Oldenburg verfügt derzeit über zwei Anlagen, an denen Studierende und Interessierte über das Internet für Lernzwecke mehrere Experimente durchführen können. Aufgrund der erhöhten Nachfrage nach Experimentieranlagenwerden derzeit weitere Anlagen hinzugefügt. Die beiden bestehenden Anlagen wurden als Insellösungen konzipiert, was das Hinzufügen neuer Anlagen u.a. durch fehlende Skalierbarkeit, Übertragbarkeit und Wiederverwendbarkeit erschwert. Es wurde bereits ein Konzept entwickelt, das diese Probleme anspricht und so den Aufwand bei neuen Anlagen verringern soll. Das Konzept umfasst die Experimentieranlagen, die Benutzeranwendungen und weitere Software, die zwischen diesen interagieren. Bis jetzt ist unklar, ob ein System mit dem Konzept wie gewollt funktioniert und ob es dann die erforderlichen Eigenschaften aufweist. Um dies herauszufinden, ist eine Evaluation erforderlich, die in dieser Arbeit durchgeführt wird. Die Evaluation benutzt eine Experimentieranlage, die das Konzept benutzt. Durch das Evaluieren dieser Anlage mit bekannten Evaluationsverfahren werden rückschließend Ergebnisse zum Konzept erhalten. |
06.11.2023 15:00 SE Colloquium V03, Raum 0-D003, und online: https://uol.de/se?johannes-meier | |
Johannes Meier:
Ensuring Inter-Model Consistency
Im Rahmen der Disputation seines Promotionsverfahrens hält Johannes Meier, M.Sc., seinen öffentlichen Vortrag zum Thema „Ensuring Inter-Model Consistency”. |
09.10.2023 14:00 SE Colloquium A03, Raum 4-404, und online: https://uol.de/se?jan-jelschen | |
Jan Jelschen:
Software Evolution Services - A Framework for the Integration and Development of Flexible and Reusable Toolchains
Im Rahmen der Disputation seines Promotionsverfahrens hält Jan Jelschen, M.Sc., seinen öffentlichen Vortrag zum Thema „Software Evolution Services - A Framework for the Integration and Development of Flexible and Reusable Toolchains”. |
29.08.2023 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Kristian Tönjes:
Interoperabilität mit GraphQL
Durch die zunehmende Digitalisierung des öffentlichen Lebens, fallen eine Vielzahl an Daten aus unterschiedlichen Quellen an. Aufgrund der Heterogenität dieser Quellen, ist jedoch häufig keine Interoperabilität gegeben. Diese herzustellen erfordert den Einsatz geeigneter Technologien. GraphQL, eine Graph basierende Anfragesprache, ist ein Kandidat für eine solche Technologie. Diese Arbeit befasst sich damit, die Eignung von GraphQL zum Herstellen der Interoperabilität in einem realistischen Szenario zu untersuchen. |
15.08.2023 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Manuel Wilde und Thilo Willms:
Schimmelprävention - Sensorisch gestütztes System zur proaktiven Überwachung von relativer Luftfeuchte und Temperatur innerhalb von Wohnräumen
Die steigende Anzahl von Menschen, die in zu feuchten Wohnräumen leben, birgt ernsthafte Gesundheits- und Bausubstanzrisiken. Schimmelpilzbildung ist eine häufige Folge dieser Feuchtigkeitsprobleme und kann zu schweren gesundheitlichen Erkrankungen führen. Obwohl verschiedene Maßnahmen zur Schimmelpilzprävention bekannt sind, scheinen diese vor allem in stark industrialisierten Regionen noch unzureichend zu sein. Es besteht daher die Notwendigkeit, ein effektives und proaktives Messsystem zu entwickeln, das den Nutzer frühzeitig über kritische Parameter informiert und geeignete Handlungsempfehlungen bietet, um die Entstehung von Schimmelpilz zu verhindern. Im Rahmen dieser Arbeit erfolgt die Implementierung und Evaliuerung dieses Messsystems. |
27.06.2023 16:15 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Roman Kammer:
Visualisierung von Sensordaten - Entwicklung einer Visualisierung für das Micro-Klee Projekt
In Kooperation mit PICCOPLANT Mikrovermehrungen GmbH realisiert der Botanische Garten Oldenburg das Micro Klee Projekt, um den Wasserhaushalt und das Verdunsten des Wassers von getopften Rhododendron und Flieder Pflanzen zu untersuchen, wenn Klee um die Pflanzen gepflanzt wird. Dafür werden ausgewählte Töpfe mit jeweils zwei Sensoren bestückt, die in regelmäßigen Abständen die Temperatur und die Bodenfeuchtigkeit messen. Damit die aufkommenden Daten nicht eigenhändig von den Biologen visualisiert werden müssen, werden die Daten an eine Plattform für Umweltdaten übermittelt, der Guerilla Sensing Plattform. Dadurch ergibt sich die Möglichkeit, die Daten über ein Web-Frontend, visualisiert in Form von einem Liniendiagramm, darzustellen. Um die Daten jedoch genauer untersuchen zu können, bedarf es einer geeigneteren Lösung die aufkommenden Daten des Micro Klee Projekts zu visualisieren. Im Rahmen dieser Arbeit wird die Guerilla Sensing Plattform so erweitert, dass die Daten des Micro Klee Projekts verständlich, aktuell und vergleichbar für unterschiedliche Interessengruppen visualisiert werden können. Das erarbeitete Ergebnis dieser Arbeit wird durch Akzeptanztests und mit den Anforderungen derjenigen bewertet und evaluiert, die mit dem Ergebnis arbeiten werden. |
11.04.2023 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Hanna Lüschow:
Softwareanalysen in inkrementellen Entwicklungsprozessen
Softwarequalität ist essenziell, um sicherzustellen, dass ein Softwareprodukt optimal funktioniert. Der Entwicklungsprozess findet häufig iterativ mit einer Arbeit in Inkrementen statt. Deshalb ist besonders Wartbarkeit – die Fähigkeit zur problemlosen Erweiterung und Anpassung – eine zentrale Qualitätseigenschaft. Um diese Qualität objektiv zu bewerten, werden meist Analysen wie z.B. Tests genutzt. Analysen können, besonders mit Blick auf die Tendenz zu immer größeren Softwareprojekten, allerdings viel Zeit in Anspruch nehmen. An diesen Punkt wird im Rahmen der Arbeit angeknüpft: Da sich in einem Inkrement selten das gesamte Projekt verändert, stellt es unnötigen Mehraufwand dar, alle Analysen auf allen Artefakten auszuführen. Stattdessen sollte das Analysieren nur der relevanten Passagen ausreichen, um die Qualität zu sichern. Die Vorteile und Schwierigkeiten, die sich hierbei ergeben, werden in der Arbeit erarbeitet und anhand einer Beispielumsetzung veranschaulicht und evaluiert. |
04.04.2023 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Julia Debkowski:
Digitale Unterstützung bei Abgabe und Korrektur von Übungsaufgaben
Studierende der Bachelorstudiengänge Informatik und Wirtschaftsinformatik müssen an der Universität Oldenburg im Laufe ihres Studiums unter Anderem die von der Abteilung Softwaretechnik angebotenen Module „Programmierung, Datenstrukturen und Algorithmen“, „Objektorientierte Modellierung und Programmierung“ und „Softwaretechnik 1“ belegen. Um diese erfolgreich abschließen zu können, ist es dabei essentiell, dass die Inhalte nicht nur theoretisch gelernt, sondern auch praktisch angewandt werden. Zu diesem Zweck werden von den Lehrenden Übungsaufgaben bereit gestellt, die von den Studierenden in Kleingruppen bearbeitet, abgegeben und anschließend von Tutoren korrigiert werden. Derzeit gibt es innerhalb dieses Prozesses jedoch einige Schwachstellen. Ziel dieser Arbeit ist es daher, diese Schwachstellen zu identifizieren und davon ausgehend ein Konzept zu entwickeln und umzusetzen, mit dem diese behoben werden können und die Effizienz des Prozesses gesteigert werden kann. |
28.03.2023 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Philip Wedemann:
Analyse von Sprachmigrationsverfahren von COBOL zu Java
Viele Unternehmen besitzen immer noch Legacy Systeme auf dem Mainframe, welche in COBOL geschrieben sind. Diese Softwaresysteme sind historisch bedingt oftmals elementare Bestandteile des Unternehmens und werden gewartet und weiterentwickelt. Allerdings wird die Weiterentwicklung durch zukünftig wegfallender Hardwaresupport, fehlende neue Entwickler und die fehlende Nutzung neuer Technologien erschwert. Eine Modernisierung ist langfristig unausweichlich. Eine Modernisierungsoption ist eine Migration. Für die Migration der Programmiersprache wird neben des manuellen Reimplementierungsverfahren aufgrund der Komplexität und der Fehlerminimierung eine Nutzung von automatischen Migrationswerkzeugen empfohlen. Im Rahmen dieser Arbeit werden verschiedene Verfahren und Werkzeuge analysiert und mit den Anforderungen eines Partnerunternehmens bewertet, um für ein gegebenes COBOL Programm ein geeignetes Migrationsverfahren und Werkzeug auszuwählen. |
21.02.2023 16:30 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Florian Schmalriede:
Towards understanding the impact of requirement evolution on deployment
Distributed and heterogeneous systems, such as IoT systems, enable many different alternative software deployments which lead to different system characteristics. Evolving functional or non-functional requirements might lead to adapting the deployment. This presentation shows a case study where changed requirements result in a new deployment, motivating early deployment planning in software evolution. |
07.02.2023 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Hanna Lüschow:
Softwareanalysen in inkrementellen Entwicklungsprozessen
Softwarequalität ist essenziell, um sicherzustellen, dass ein Softwareprodukt optimal funktioniert. Der Entwicklungsprozess findet häufig iterativ mit einer Arbeit in Inkrementen statt. Deshalb ist besonders Wartbarkeit – die Fähigkeit zur problemlosen Erweiterung und Anpassung – eine zentrale Qualitätseigenschaft. Um diese Qualität objektiv zu bewerten, werden meist Analysen wie z.B. Tests genutzt. Analysen können, besonders mit Blick auf die Tendenz zu immer größeren Softwareprojekten, allerdings viel Zeit in Anspruch nehmen. An diesen Punkt wird im Rahmen der Arbeit angeknüpft: Da sich in einem Inkrement selten das gesamte Projekt verändert, stellt es unnötigen Mehraufwand dar, alle Analysen auf allen Artefakten auszuführen. Stattdessen sollte das Analysieren nur der relevanten Passagen ausreichen, um die Qualität zu sichern. Die Vorteile und Schwierigkeiten, die sich hierbei ergeben, werden in der Arbeit erarbeitet und anhand einer Beispielumsetzung veranschaulicht und evaluiert. |
24.01.2023 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-a02-2-219 | |
Kevin Mischlich:
Erstellung von qualitativ vergleichbaren Übungsaufgaben
Die Lehre benötigt gute Selbstlernaufgaben für Studierende, damit diese fachliche Themen vertiefen können und das Selbstbewusstsein erarbeiten später selbstständig Probleme in eben diesem fachlichen Bereich zu lösen. Der Forschungsbereich der Didaktik entwickelt dabei empirische Methoden, welche Zielstellungen in der Bildungswissenschaft generalisieren und damit auch formalisieren. Dies soll den Anwendern erlauben „didaktisch korrekte“ Selbstlernaufgaben zu entwickeln, welche fachliche Inhalte möglichst gut vermitteln. Hierbei besteht jedoch das Problem, dass der Forschungsbereich der Didaktik ein großes Feld ist und die Personen, welche Selbstlernaufgaben erstellen oft nicht im Detail damit vertraut sind. Um auch diesen (der Didaktik fachfremden Personen) zu ermöglichen schnell gute Aufgaben zu entwickeln, wird in der Arbeit ein Leitfaden vorgestellt, der die Erkenntnisse der Didaktik herunterbricht und kompakt verpackt. So soll die Qualität der Selbstlernaufgaben in der Lehre erhöht werden. |
01.11.2022 16:30 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-a02-2-219 | |
Dr. Oybek Allamov:
Smart Route Planning
Research works are being carried out to develop methodologies and algorithms for finding the geo-location of objects, regulating traffic flows and finding optimal routes using software systems around the world. In this regard, a set of software tools to regulate traffic flows and reduce traffic jams in cities using graph theory, data mining analysis methods and algorithms was developed. Distributed and parallel processing methods were used to find optimal routes. A software tool has been developed to find the most perfect route to get from one place to another in the city, taking into account many parameters of the road in real time. |
01.11.2022 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-a02-2-219 | |
Dr. Oybek Allamov:
Collaboration between TUIT and Univ. Oldenburg
The presentation was devoted to the collaboration between the Tashkent University of Information Technologies named after Muhammad al-Khwarizmi and the Carl von Ossietzky University of Oldenburg. The presentation provided brief information about the area and the university. It gives information on the work done between our universities until today. Opportunities for writing joint grants with students and scientists and foreign partners will be mentioned by Uzbekistan. In the future, there are offers for writing foreign and local grants in order to strengthen the collaboration between our universities. The possibilities of applying the works carried out by Oldenburg University scientists in Uzbekistan were studied. |
18.10.2022 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Tobias Wortmann:
Zugriffskontrolle auf Experimentieranlagen
Die technische Chemie der Universität Oldenburg stellt Studierenden über das Internet fernsteuerbare Experimentieranlagen bereit und ermöglicht somit die Durchführung von Laborpraktika ohne notwendige physische Anwesenheit der Studierenden. Nicht zuletzt durch die Pandemie hat sich dieses Konzept bewährt und soll durch weitere Experimentieranlagen und Kooperationen mit anderen Universitäten ausgebaut werden. Die bisherigen Experimentieranlagen sind jedoch als Insellösungen realisiert. Für die Integration von neuen Experimentieranlagen müssen nicht nur die Experimentieranlagen selbst entwickeln werden, sondern auch etwaige Komponenten, die die Nutzeroberfläche bereitstellen und den Zugriff auf die Experimentieranlagen regeln. Sollen darüber hinaus Kooperationen mit anderen Universitäten eingegangen werden, so steigt der administrative Aufwand für die anbietende Partei unangemessen. Im Rahmen dieser Abschlussarbeit sollen die Inselkonzepte für die Zugriffskontrolle überwunden werden und ein einheitliches System zur Zugriffskontrolle auf Experimentieranlagen etabliert werden. Es wird das Ziel verfolgt den Zugriff auf Experimentieranlagen skalierbarer und verwaltbarer zu gestalten. |
11.10.2022 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Philip Wedemann:
Analyse von Sprachmigrationsverfahren von COBOL zu Java
Viele Unternehmen besitzen immer noch Legacy Systeme auf dem Mainframe, welche in COBOL geschrieben sind. Diese Softwaresysteme sind historisch bedingt oftmals elementare Bestandteile des Unternehmens und werden gewartet und weiterentwickelt. Allerdings wird die Weiterentwicklung durch zukünftig wegfallender Hardwaresupport, fehlende neue Entwickler und die fehlende Nutzung neuer Technologien erschwert. Eine Modernisierung ist langfristig unausweichlich. Eine Modernisierungsoption ist eine Migration. Für die Migration der Programmiersprache wird neben des manuellen Reimplementierungsverfahren aufgrund der Komplexität und der Fehlerminimierung eine Nutzung von automatischen Migrationswerkzeugen empfohlen. Im Rahmen dieser Arbeit werden verschiedene Verfahren und Werkzeuge analysiert und mit den Anforderungen eines Partnerunternehmens bewertet, um für ein gegebenes COBOL Programm ein geeignetes Migrationsverfahren und Werkzeug auszuwählen. |
04.10.2022 17:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Marco Schaa:
Verwaltung von Übungs- und Klausuraufgaben
Schon immer wurden Prüfungsaufgaben gesammelt. Studierende lernen damit, insbesondere zur Prüfungsvorbereitung; Lehrende können dagegen Zeit sparen, wenn Aufgaben mehrfach benutzt werden oder Sie die Aufgaben an neue Gegebenheiten anpassen. Eine Sammlung solcher Daten über einen langen Zeitraum erfordert eine digitale Verwaltung. In dieser Arbeit wurde aus zwei Aufgabenverwaltungssystemen, die an der Universität verwendet werden, ein neues System entwickelt, Aufgaben zu verwalten und Übungsblätter und Klausuren aus den Aufgaben zu generieren, um die Verwaltung zu vereinfachen und somit eine Zeitersparnis für den Nutzer zu erreichen. |
27.09.2022 17:30 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Manuel Wilde, Thilo Willms:
Raumluftqualitätsverbesserung
Etwa 13% aller Menschen leben in zu feuchten Wohnräumen. Da Menschen in stark industrialisierten Regionen wie Nordeuropa und Nordamerika zusätzlich etwa 90% ihrer Lebenszeit innerhalb geschlossener Räumlichkeiten verbringen, ist die durch Schimmelpilzbefall entstehende Belastung der Atemluft ein wichtiger Faktor der Gesundheit. Zur Prävention der Bildung von Schimmelpilz sind vor allem zwei Parameter ausschlaggebend, die relative Luftfeuchte sowie die Raumtemperatur. Im Rahmen dieser Arbeit soll ein prototypisches System zur dauerhaften Überwachung dieser Parameter entwickelt werden. Da vor allem ältere Gebäude mit stark fluktuierenden Bewohnern und somit vor allem Sozialbau- und Studentenwohnungen betroffen sind, gilt es eine kostengünstige Smart Home Alternative zu entwickeln. Einen ersten Ansatz werden wir in dem kommenden Vortrag präsentieren. |
27.09.2022 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Maik Rohlfs:
Proseminar IoT: Entwicklung eines mobilen EKG-Systems
Bei der Entwicklung von Systemen müssen Systementwickler*innen funktionale und nicht-funktionale Anforderungen berücksichtigen. Dabei beschreiben funktionale Anforderungen, was ein System leisten soll und nicht-funktionale Anforderungen welche Eigenschaften ein System haben soll. Durch die Bereitstellung von Funktionalitäten können Systeme funktionale Anforderungen erfüllen. Bei verteilten und heterogenen Systemen, wie IoT-Systemen, kooperieren geografisch verteilte Teilsysteme mit unterschiedlichen Eigenschaften miteinander, um in der Gesamtheit die geforderten Funktionalitäten bereitzustellen. Da an verteilten und heterogenen Systemen mehrere Teilsysteme beteiligt sind, ergeben sich verschiedene Möglichkeiten die Funktionalitäten über die beteiligten Teilsysteme hinweg zu verteilen. Die unterschiedlichen Möglichkeiten führen jedoch aufgrund der geografischen Verteilung und den unterschiedlichen Eigenschaften der Teilsysteme zu unterschiedlichen Eigenschaften des Gesamtsystems. Somit werden durch unterschiedliche Bereitstellungsmöglichkeiten nicht-funktionale Anforderungen erfüllt oder nicht erfüllt. Für Systementwickler*innen ist es daher von Interesse die Auswirkungen von verschiedenen Bereitstellungen von Funktionalitäten auf die Eigenschaften von verteilten und heterogenen Systemen und im speziellen IoT-Systemen zu kennen, damit sie den jeweiligen nicht-funktionalen Anforderungen gerechte Bereitstellungen wählen. |
13.09.2022 17:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Rieke Hochheiden:
Tutorenmanagement als Stud.IP Plugin
Im Rahmen eines Studiums nehmen Studierende an Lehrveranstaltungen teil, die von Tutorien begleitet werden können und von Tutoren geleitet. Um diese anbieten zu können, müssen vor dem Semester, in dem ein Tutorium stattfindet, die Tutorenstellen besetzt werden. Hierfür bedarf es einer Stellenausschreibung, einer Bewerbungsphase, in der sich Studierende auf die Stellen bewerben können, einem Auswahlverfahren, sowie einer Einstellungsphase. Diese Schritte werden während des Tutorenmanagements durchlaufen. Bei dem Prozess des Tutorenmanagement handelt es sich um einen Prozess, der in der Regel zweimal im Jahr stattfindet, weswegen eine zentrale Umsetzung in einem Stud.IP-Plugin diesen unterstützen kann. Anwendung soll das Plugin dabei erstmal nur am Department für Informatik finden und die aktuelle Plugin-Lösung für das Tutorenmanagement ablösen. Im Rahmen der Entwicklung erfolgt dabei eine Anforderungserhebung und Konzeption des Systems, welche abschließend durch die Implementierung des Systems überprüft werden. In meinem Abschlussvortrag wird zuerst das Thema und der Hintergrund meiner Arbeit vorgestellt. Im Anschluss wird kurz die Anforderungserhebung zusammengefasst und auf die Konzeptionierung eingegangen. Danach wird die Implementierung vorgestellt und die Validierung vorgestellt. Abschließend wird ein Ausblick für die Arbeit gegeben und die Ergebnisse reflektiert. |
13.09.2022 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Julia Debkowski:
Digitale Unterstützung bei Abgabe und Korrektur von Übungsaufgaben
Studierende der Bachelorstudiengänge Informatik und Wirtschaftsinformatik müssen an der Universität Oldenburg im Laufe ihres Studiums unter Anderem die von der Abteilung Softwaretechnik angebotenen Module „Programmierung, Datenstrukturen und Algorithmen“, „Objektorientierte Modellierung und Programmierung“ und „Softwaretechnik 1“ belegen. Um diese erfolgreich abschließen zu können, ist es dabei essentiell, dass die Inhalte nicht nur theoretisch gelernt, sondern auch praktisch angewandt werden. Zu diesem Zweck werden von den Lehrenden Übungsaufgaben bereit gestellt, die von den Studierenden in Kleingruppen bearbeitet, abgegeben und anschließend von Tutoren korrigiert werden. Derzeit gibt es innerhalb dieses Prozesses jedoch einige Schwachstellen. Ziel dieser Arbeit ist es daher, diese Schwachstellen zu identifizieren und davon ausgehend ein Konzept zu entwickeln und umzusetzen, mit dem diese behoben werden können und die Effizienz des Prozesses gesteigert werden kann. |
06.09.2022 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Jonas Mindrup:
Überprüfung von Invarianten bei der Ausführung von Java-Code im Rahmen von Innovation plus
Die Abteilung Softwaretechnik der Carl von Ossietzky Universität Oldenburg beteiligt sich im Rahmen eines Förderprogramms des Landes Niedersachsen mit der Erstellung und Weiterentwicklung einer Lernplattform für das Selbststudium. Diese Lernplattform trägt den Namen 'Innovation+' und unterstützt Studenten bei der Bearbeitung von Übungsaufgaben mit vollautomatischem Feedback und Hilfestellungen. Hierbei verwenden Studenten die Programmiersprache Java, um Programmieraufgaben zu bearbeiten und zur Überprüfung digital einzureichen. Derzeit wird in 'Innovation+' ausschließlich überprüft, ob die von Studenten eingereichten Programme das richtige Endergebnis liefern. Dabei wird nicht betrachtet, wie das Endergebnis erreicht wurde. Wenn somit in einer Aufgabe von Studenten ein Quicksort-Algorithmus gefordert ist, können diese auch einen BubbleSort-Algorithmus abgeben und bekommen die Aufgabe als richtig bearbeitet angezeigt. Im Abschlussvortrag wird zunächst das Problem genauer beschrieben, die Forschungsfrage vorgestellt und der in dieser Bachelorarbeit gewählte Lösungsansatz eingegangen. Darauf folgend wird auf die Anforderungserhebung, Konzeptionierung und Implementierung thematisiert. Im Anschluss daran wird eine Validierung mit ihren Ergebnissen vorgestellt. Abschließend wird in einer Zusammenfassung die Ergebnisse der Bachelorarbeit reflektiert. |
30.08.2022 16:00 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Michael Thoben:
Zugriffskontrolle in der kollaborativen Modellierung
Das Erstellen und Bearbeiten von Softwaremodellen ist in den Bereichen der Softwareentwicklung und Lehre mittlerweile fester Bestandteil. Und da immer mehr Zusammenarbeit online stattfindet, wurde die kollaborative Modellierung entwickelt, die ermöglicht, online gemeinsam und sogar synchron zu modellieren. Doch damit diese in den oben benannten Bereichen angewendet werden kann, muss sichergestellt werden, dass der Zugriff auf Modelle geschützt ist. Daher bedarf es der Zugriffskontrolle in der kollaborativen Modellierung. Hierfür muss erstens eine Benutzerverwaltung entwickelt werden, die sicherstellen soll, dass Nutzer authentifiziert werden können. Zweitens gilt es, ein Berechtigungssystem zu entwickeln, dass Nutzern ermöglicht, den Zugriff auf ihnen zugehörige Modelle effektiv zu kontrollieren. |
28.06.2022 16:15 SE Colloquium PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar | |
Kimberly Hebig:
Evolution von Vorgehensmodellen
In den letzten Jahren hat sich gezeigt, dass Projekte in Unternehmen zunehmend komplexer werden. Dadurch stehen Projektmanager:innen vor der Herausforderung ein passendes Vorgehensmodell zu wählen, was über die gesamte Projektlaufzeit bestehen bleiben soll. Da die Einflüsse auf einer Projekt jedoch sehr vielfältig sein können, ist eine einfache und allumfassende Projektplanung auch auf Ebene des Vorgehensmodells kaum noch möglich. Ein unpassendes Vorgehensmodell kann jedoch sehr negative Auswirkungen auf den Projektverlauf und das -ergebnis haben. Dieser Herausforderung möchte ich mich widmen und einen Leitfaden/eine Anforderungerhebung für die Auswahl und die Konfiguration von Vorgehensmodellen entwickeln. In dem Vortrag möchte ich meine Idee vorstellen und gemeinsam mit euch diskutieren, um diese noch weiter zu schärfen. |
03.05.2022 16:15 SE Colloquium Botanischer Garten, grüne Schule (53°08'53.5"N 8°11'44.8"E) | |
Lukas Focken:
Umweltfaktoren begrünter Dächer
Das Ziel dieser Bachelorarbeit war es eine Möglichkeit zu finden, mit welcher die Effekte von begrünten Dächern auf die Umwelt analysiert werden können. Dazu wurde ein Messsystem entwickelt, mit welchem verschiedene Umweltfaktoren an je einem begrünten und einem unbegrünten Dach gemessen werden können. Ein wichtiger Messwert war dabei die Wasserabflussmenge. Um diese messen zu können, wurde im Verlauf der Arbeit ein Wasserdurchflusssensor entwickelt, der das abfließende Wasser eines Regenfallrohres messen kann. Validiert wurde das entstandene Messsystem durch eine Umsetzung und prototypischen Einbau im Botanischen Garten Oldenburg. |
26.04.2022 16:00 SE Colloquium PG-Raum A2 2-219 | |
Phillip Bühring:
Selecting deployment targets for functionalities in IoT-Systems
IoT-Systeme nehmen einen immer größeren und signifikanten Anteil der weltweit gebräuchlichen Softwarebasierten Systeme ein. Leider ist die Entwicklung solcher Systeme aufgrund ihrer inherenten Beschaffenheit im Vergleich zu "traditionellen" Softwaresystemen mit zusätzlichen Herausforderungen verbunden. Eine dieser Herausforderungen ist die Verteilung von Funktionalitäten eines Softwaresystems auf die das System aufspannenden Platfformen/Maschinen (Wahl von "Deployment-Targets"). Dieses "Verteilungsproblem" ist von interesse, da die Verteilung von Funktionalitäten in Kombination mit anderen IoT-Typischen Problemen (technische Limitationen, Umgebungseinflüsse) maßgebend darüber entscheiden könnte, ob das resultierende System zur Erfüllung der vorgegebenen nichtfunktionalen Anforderungen fähig ist. Um den Einfluss unterschiedlicher Verteilungen auf die Erfüllbarkeit nichtfunktionaler Anforderungen zu anaysieren und besser zu verstehen, verfolgt die Arbeit einen experimentellen Ansatz: Auf Basis gewählter Szenarien werden Miniatur-IoT-Systeme mit unterschiedlichen Funktionalitätsverteilungen entwickelt, um feststellen zu können, welche Verteilungsentscheidungen zur Erfüllung oder Verletzung von nichtfunktionalen Anforderungen führten. Werden die Szenarien geschickt gewählt (repräsentationsfähigkeit) und die Miniatur-Systeme genügend "realitätsnah" gebaut, so kann das über die Ergebnisse gewonnenen Erkenntnisse auf andere, reelle IoT-Systeme übertragen- und ihre entwickler bei Verteilungsentscheidungen unterstützt werden. |
19.04.2022 16:00 SE Colloquium PG-Raum A2 2-219 | |
Kevin Mischlich:
Erstellung von qualitativ vergleichbaren Übungsaufgaben
Gute Übungsaufgaben sind ein wichtiger Bestandteil eines erfolgreichen Lehrkonzepts. Dabei ist nicht nur wichtig, dass die Studierenden fachlich korrekte Arbeitsaufträge erhalten, sondern auch selbstständige Recherchen im Thema angeregt werden. Diese und weitere Anforderungen gilt es bei dem Entwerfen von Übungsaufgaben für alle Studieninhalte zu beachten. Daher wird in dieser Mastarbeit ein didaktisches Konzept entwickelt, welches eine Art Anleitung zur Erstellung von qualitativ vergleichbaren Übungsaufgaben ist. Das entwickelte Konzept wird begleitet von der exemplarischen Anwendung in der Erstellung von verschiedenen Aufgaben im Bereich des Software-Engineering. Schlussendlich wird in der Masterarbeit eine Verfahrens-Idee vorgeschlagen, mit der man die Qualität von den vorher entworfenen Übungsaufgaben verifizieren kann. |
05.04.2022 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Marco Schaa:
Verwaltung von Übungs- und Klausuraufgaben
Der Umgang mit Übungsaufgaben gehört zum Alltag in der Lehre an der Universität - in der Form von Klausuren und Übungszetteln sind sie in fast jedem Lehrmodul enthalten. Aus diesem Grund werden in verschiedenen Abteilungen der Universität Oldenburg verschiedene Systeme verwendet, um Übungsaufgaben zu sammeln uns aus diesen Aufgabenblätter zu erstellen. Mit den bestehenden Systemen gibt es jedoch einige Probleme, die ihre Effektivität einschränken, so ist beispielsweise das Einpflegen neuer Aufgaben oder das Auswählen von Aufgaben für die Verwendung auf Aufgabenblättern noch zeitaufwendige Handarbeit. Daher kann durch eine bessere Aufbereitung der Aufgabendaten und eine Erweiterung der Automatisierung sowohl eine Zeitersparnis bei dieser Arbeit als auch eine Verbesserung der resultierenden Aufgabenblätter erreicht werden. In diesem Zwischenvortrag werden zuerst die Motivation und Forschungsfrage der Arbeit erläutert. Danach werden im Rahmen der Anforderungserhebung zuerst zwei verschiedene bestehende Systeme miteinander verglichen sowie die Ergebnisse aus mehreren Interviews vorgestellt. Anschließend werden die Anforderungen erklärt, die sich daraus ergeben, sowie erste Schritte der Konzeptionsphase vorgestellt. Zuletzt soll noch eine Übersicht über den weiteren Verlauf der Bachelorarbeit gegeben werden. |
29.03.2022 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Michael Thoben:
Zugriffskontrolle in der kollaborativen Modellierung
Das Erstellen und Bearbeiten von Softwaremodellen ist in den Bereichen der Softwareentwicklung und Lehre mittlerweile fester Bestandteil. Und da immer mehr Zusammenarbeit online stattfindet, wurde die kollaborative Modellierung entwickelt, die ermöglicht, online gemeinsam und sogar synchron zu modellieren. Doch damit diese in den oben benannten Bereichen angewendet werden kann, muss sichergestellt werden, dass der Zugriff auf Modelle geschützt ist. Daher bedarf es der Zugriffskontrolle in der kollaborativen Modellierung. Hierfür muss erstens eine Benutzerverwaltung entwickelt werden, die sicherstellen soll, dass Nutzer authentifiziert werden können. Zweitens gilt es, ein Berechtigungssystem zu entwickeln, dass Nutzern ermöglicht, den Zugriff auf ihnen zugehörige Modelle effektiv zu kontrollieren. In diesem Zwischenvortrag werden eingangs die Forschungsfrage beschrieben und Grundlagen der kollaborativen Modellierung sowie Konzepte der Zugriffskontrolle erläutert. Daraufhin wird der Prozess der Anforderungserhebung dargelegt und ein erstes Konzept vorgestellt. Schlussendlich wird eine Vorschau auf den restlichen Verlauf der Bachelorarbeit gegeben. |
29.03.2022 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Maik Appeldorn:
Interoperable Echtzeitkollaboration durch Difference Language
In der Softwareentwicklung sind UML-Modelle und -Diagramme ein zentrales Mittel, um zu entwickelnde Software darzustellen und zu designen. Sie dienen zur Kommunikation zwischen verschiedenen Stakeholdern, um z. B. Schnittstellen abzusprechen oder um Prozesse mit dem Kunden abzustimmen. Es existieren eine Vielfalt von diversen UML-Modellierungswerkzeugen, die verschiedene Funktionalitäten zur Verfügung stellen und ihre Diagramme auf unterschiedliche Art und Weise abspeichern. Deshalb nutzen Entwickler ein Werkzeug, welches ihren Präferenzen und Anforderungen entspricht. In Projekten kann es somit vorkommen, dass Entwickler unterschiedliche UML-Modellierungswerkzeuge verwenden. Dies kann zur Folge haben, dass Diagramme eventuell nicht einfach zwischen diesen Entwicklern ausgetauscht werden können. Das Zusammenspiel verschiedener UML-Modellierungswerkzeuge wird Interoperabilität genannt. Das Ziel dieser Masterarbeit ist die Entwicklung eines Ansatzes, mit dem UML-Modellierungswerkzeuge interoperabel gemacht werden können und diesen in Prototypen umzusetzen. Auf Grundlage von alternativen Ansätzen und einer Analyse von ausgewählten UML-Modellierungswerkzeugen wurden Anforderungen für das Zielsystem aufgestellt. Im Anschluss wurde mit den gewonnenen Erkenntnissen eine Referenzarchitektur für interoperable Clients entworfen, die kollaborativ modellieren können. Diese wurde anhand von zwei ausgewählten UML-Modellierungswerkzeugen umgesetzt, indem Prototypen für diese entwickelt wurden. Als Ergebnis der Arbeit ist ein Ansatz entstanden, mit dem Entwickler UML-Modellierungswerkzeuge interoperabel miteinander machen können. Hierzu wurde eine Referenzarchitektur entwickelt und zwei Prototypen entwickelt. |
01.03.2022 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Jonas Mindrup:
Überprüfung von Invarianten bei der Ausführung von Java-Code
Die Abteilung Softwaretechnik der Carl von Ossietzky Universität Oldenburg beteiligt sich im Rahmen eines Förderprogramms des Landes Niedersachsen mit der Erstellung und Weiterentwicklung einer Lernplattform für das Selbststudium. Diese Lernplattform trägt den Namen 'Innovation+' und unterstützt Studenten bei der Bearbeitung von Übungsaufgaben mit vollautomatischem Feedback und Hilfestellungen. Hierbei verwenden Studenten die Programmiersprache Java, um Programmieraufgaben zu bearbeiten und zur Überprüfung digital einzureichen. Derzeit wird in 'Innovation+' ausschließlich überprüft, ob die von Studenten eingereichten Programme das richtige Endergebnis liefern. Dabei wird nicht betrachtet, wie das Endergebnis erreicht wurde. Wenn somit in einer Aufgabe von Studenten ein Quicksort-Algorithmus gefordert ist, können diese auch einen Bubblesort-Algorithmus abgeben und bekommen die Aufgabe als richtig bearbeitet angezeigt. Im Zwischenvortrag wird zunächst das Problem genauer beschrieben, ein möglicher erster Lösungsansatz mit Hilfe von Invarianten als Ziel der Bachelorarbeit erläutert und eine mögliche Durchführung der Validierung präsentiert. Folglich werden erforderlicher Grundlagen vermittelt. Dabei werden zum Beispiel verwendete Algorithmen mit ihren Invarianten vorgestellt. Anschließend werden Szenarien beschrieben und die daraus entstandenen Anforderungen dargestellt. Abschließend wird der weitere Verlauf der Bachelorarbeit beschrieben. |
22.02.2022 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Rike Hochheiden:
Tutoren-Management als Stud.IP Plugin
Im Rahmen eines Studiums nehmen Studierende an Lehrveranstaltungen teil, die von Tutorien begleitet werden können und von Tutoren geleitet. Um diese anbieten zu können, müssen vor dem Semester, in dem ein Tutorium stattfindet, die Tutorenstellen besetzt werden. Hierfür bedarf es einer Stellenausschreibung, einer Bewerbungsphase, in der sich Studierende auf die Stellen bewerben können, einem Auswahlverfahren, sowie einer Einstellungsphase. Diese Schritte werden während des Tutorenmanagements durchlaufen. Bei dem Prozess des Tutorenmanagement handelt es sich um einen Prozess, der in der Regel zweimal im Jahr stattfindet, weswegen eine zentrale Umsetzung in einem Stud.IP-Plugin diesen unterstützen kann. Anwendung soll das Plugin dabei erstmal nur am Department für Informatik finden und die aktuelle Plugin-Lösung für das Tutorenmanagement ablösen. Im Rahmen der Entwicklung erfolgt dabei eine Anforderungserhebung und Konzeption des Systems, welche abschließend durch die Implementierung des Systems überprüft werden. |
2021
14.12.2021 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Marlon Kaufmann:
Transparenz und Nachvollziehbarkeit von selbstlernenden Methoden
Während selbstlernende Methoden äußerst präzise mit Problemstellungen im Kontext von Klassifikation und Regression umgehen können, stehen diese Methoden meist vor einer Black-Box Problematik. So kann eine Objekterkennung auf Basis eines neuronalen Netzes lernen, Tumore zu identifizieren, jedoch ist eine Rekonstruktion der Entscheidungsfindung (warum hat das neuronale Netz einen bestimmten Bildabschnitt als Tumor identifiziert) nur schwer möglich. Dies mindert die Akzeptanz solcher Methoden besonders in Anwendungsgebieten, wo beispielsweise das Leben von Menschen bei einer falschen Einschätzung auf dem Spiel steht. Auch rechtliche Vorgaben zur automatisierten Datenverarbeitung erheben einen gewissen Anspruch auf Nachvollziehbarkeitm, speziell bei automatisierter Entscheidungsfindung. Vor diesem Hintergrund thematisiert diese Arbeit den Stand der Forschung zur Transparenz und Nachvollziehbarkeit von selbstlernenden Methoden. Dabei ist nicht nur von Interesse, welche expliziten Ansätze vorhanden sind, sondern auch welche Vor- und Nachteile diese Ansätze bei ihrer Anwendung bieten und in welchem Umfang die selbstlernenden Methoden nachvollziehbar gestaltet werden können. Weiterhin soll ein Überblick über das Forschungsgebiet geboten werden, der es speziell Neulingen auf dem Gebiet ermöglichen soll einen schnellen Einstieg in die Thematik zu finden. Nicht zuletzt soll die relevante Literatur auf dem Gebiet, sowie wichtige Autoren(-gruppen) und Konferenzen identifiziert werden. Abschließend werden die identifizierten Ansätze vor dem Hintergrund der rechtlichen Vorgaben zur automatisierten Datenverarbeitung betrachtet. Um diese Ziele zu erreichen wurde eine strukturierte Literatursuche durchgeführt, in deren Verlauf mehr als 60 Publikationen analysiert wurden. |
26.10.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Jan Hofmann:
Graph-Anfragesprache für EMF
Im Rahmen dieser Arbeit wurde mit Ecore Query Language (EGQL) ein Sprachentwurf für eine Graph-Anfragesprache im Kontext von EMF (Eclipse Modeling Framework) entwickelt. Bei EMF handelt es sich um ein Framework zur Erstellung und Wartung von Modellen. Es ermöglicht unter anderem Modelle in Form von Diagrammen zu definieren und darauf basierend Java-Code zu generieren. EMF vereinfacht zwar die Wartung von mehreren Modellen, es stellt sich aber die Frage, ob zum Beispiel auch die Kontrolle auf Redundanz oder die Kontrolle von Abhängigkeiten automatisiert werden kann. Anfragesprachen bieten eine Möglichkeit diese Aufgaben zu realisieren. EMF-Modelle besitzen bereits Graph-ähnliche Strukturen, daher bieten sich Graph-Anfragesprachen an. Für die Umsetzung wurden nach einer grundlegenden Analyse des Graphen-Konzepts und von EMF insgesamt fünf Anfragesprachen genauer betrachtet. Für jede Anfragesprache wurden das zugrundeliegende Modell und die Sprachbestandteile untersucht. Mithilfe dieser Literaturanalyse wurde ein Anforderungskatalog für eine Graph-Anfragesprache für EMF entwickelt. Anhand dieser Anforderungen wurde der Sprachentwurf für EGQL entwickelt. Dazu gehört auch die Entwicklung eines Graphen-Modells in EMF. Zur Validierung wurden eine Reihe an Nutzungsszenarien für eine Graph-Anfragesprache entwickelt. Der Sprachentwurf dient als Grundlage für eine spätere Implementierung. Zudem ist eine Transformation von Modellen zu Graphen, die von der EGQL genutzt werden können, ein weiteres Projekt. Durch die Ergebnisse dieser Arbeit wird es möglich sein Informationen von Modelle der Softwareentwicklung wie bei Datenbanken über Anfragen zu erhalten. So können mögliche Generalisierungen automatisch erkannt oder Modelle auf Korrektheit überprüft werden. |
21.09.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Florian Schmalriede:
Environmental Wellbeing through Guerilla Sensing
All over the world, individuals, companies, and institutions are exploiting the environment to gain an advantage for themselves. The damage to the environment affects people’s health and environmental wellbeeing. By Guerilla Sensing, we provide a platform to detect, spotlight, and monitor environmental pollution, that allows citizen to trigger a closed control loop and react to this exploitation by providing data reflecting the current environmental situation. It consists of an adaptive network of low-cost sensor nodes connected to an extensible platform, enabling complex analyses and detailed notifications. Guerilla Sensing can be used by citizens without any deep knowledge in measurements or computer science. The paper introduces the approach and the components of this platform. Applied to environmental parameters such as radiation and particulate matter, Guerilla Sensing is exemplarily evaluated. |
14.09.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Marvin Plateo:
Extraktion von Modellen aus LaTeX
Diese Arbeit behandelt die Entwicklung von Metamodellen und die Implementierung einer Software, die es möglich machen Modelle aus LATEX zu extrahieren. Auf diesen Modellen soll es dann möglich sein strukturelle Analysen durchzuführen. Eine Anforderungsanalyse wird durchgeführt. Als Teil dieser werden Analyseszenarien definiert und aus diesen Anforderungen abgeleitet. Unter Berücksichtigung der Anforderungen werden Metamodelle und eine Architektur für das System entwickelt. Die Metamodelle werden mithilfe des Eclipse Modelling Framework erstellt. Das System wird als Software mit der Programmiersprache Java implementiert. |
03.08.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Kevin Meyer:
Kollaboratives Mind- und Concept-Mapping
In Projekten ist das Unterstützen des Bearbeitungsprozesses durch kollaboratives Arbeiten eine hilfreiche Komponente. Dazu gehören Lernveranstaltungen, die das Lernen effektiver und effzienter gestalten wollen oder die Softwareentwicklung, die Meinungen sowie Vorstellungen jedes Gruppenmitgliedes für einen Entscheidungsprozess integrieren möchte. Kollaboratives Arbeiten ermöglicht das Zusammenarbeiten mehrerer Personen (auch Kollaborateure) an einer gemeinsamen Aufgabe. Durch Programme als Instrument der kollaborativen Arbeit können Abläufe vereinheitlicht werden und digital stattfinden. Unter Mindmaps, auch bekannt als Assoziogramme, versteht man eine visualisierte Ansammlung von Begriffen, die mit einem zentralen Begriff assoziiert werden. Eine Mindmap ist eine graphische Repräsentation von Gedanken in Form einer Baumstruktur. Das Prinzip der Assoziation hilft dabei die Gedanken zu ordnen und die Kategorisierung des Gedächtnis zu unterstützen. Das Ziel ist ein konzeptioneller Entwurf für ein kollaboratives Tool zum Konstruieren von Mindmaps und Concept-Maps in einer digitalen Umgebung. Nutzer sollen unabhängig von ihrem Standort mit mehreren anderen Nutzern gleichzeitig arbeiten können. Aus dieser Arbeit soll ein Entwurf für ein Tool für kollaboratives Mind- und Concept-Mapping resultieren. |
27.07.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Muzaffar Artikov:
Multi-viewpoint IoT development
Internet of things(IoT) is a nascent technology that consider connecting everything to the Internet and intends to improve people’s lives by providing intelligent services. IoT is considered as a basis for “Smart X” applications such as Smart Cities, Smart Factories (Industry 4.0), Smart Agriculture, Smart Environmental Systems, Smart Homes and so on. IoT is a multi-aspect domain that encompass heterogeneous technology stack applying hardware, software and network. Moreover, IoT development activities require the participation of various stakeholders that provide expertise in different domains and they have different concerns regarding the system. These concerns may cover different aspects of the IoT system, such as system requirements, interoperability between hardware and software, network aspects, etc. To effectively conduct development activities, stakeholders need a common infrastructure, where they can address their concerns regarding the system from their own viewpoint. Concerns may cover various aspects like requirements, “thing” components, services, etc. As stakeholders work on different aspects of the IoT system, there is a need to ensure the consistency of the elements within the system. Therefore, there is a need to develop a set of languages, which models IoT systems from different perspectives and keep those models consistent. Model-driven engineering possess required capabilities to describe heterogeneous IoT components, separate stakeholders concerns and one of the best candidates to handle the IoT development challenges. The presentation intends to describe an integrated multi-viewpoint approach to develop IoT systems. |
20.07.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Paul Holt:
Mehrzwecksensor Smartphone
Sensoren sind Geräte, die Größen der Umwelt wahrnehmen und in eine digitale Darstellung umwandeln. Wenn Sensoren genutzt werden sollen, um eine Vielzahl an Größen der Umwelt zu beobachten, entstehen Probleme bei der Skalierung. So muss für jede Größe, die beobachtet wird, ein Sensor ausgebracht werden. Dieses Problem der eins zu eins Beziehung von Sensoren und Größe der Umwelt wird von Mehrzwecksensoren gelöst. Mehrzwecksensoren vereinen mehrere Sensoren in einem Sensorsystem und nutzen die Messwerte dieser unterliegenden Sensoren, um daraus neue Messwerte zu generieren und so die Umwelt indirekt zu beobachten. Dieses Konzept des Mehrzwecksensors wurde in einer Forschungsarbeit von Laput u.a. 2017 [1] weiterentwickelt. Der in dieser Arbeit entwickelte Mehrzwecksensor, ist dazu in der Lage Ereignisse, wie: “Brüht die Kaffeemaschine Kaffee?”, oder: “Läuft der Wasserhahn in der Küche?”, aus der Umwelt zu extrahieren. In einem modernen Smartphone sind eine Vielzahl an Sensoren verbaut, dies liegt die Vermutung nahe, dass auch dieses als Mehrzwecksensor einsetzbar ist. Im Rahmen dieser Bachelorarbeit soll die Frage beantwortet werden: “Ist ein Smartphone als Mehrzwecksensor in der Lage Ereignisse in der Umwelt wahrzunehmen?”. Dazu wird zunächst ein Konzept entwickelt. Dieses Konzept wird im Anschluss prototypisch in einer Smartphone-App umgesetzt und am Einsatzszenario: "Homeoffice Arbeitsplatz" evaluiert. |
13.07.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Maik Appeldorn:
Interoperable Echtzeitkollaboration durch Difference Language
In der Softwareentwicklung sind UML-Modelle und -Diagramme ein zentrales Mittel, um zu entwickelnde Software darzustellen und zu designen. Sie dienen zur Kommunikation zwischen verschiedenen Stakeholdern, um z. B. Schnittstellen abzusprechen oder um Prozesse mit dem Kunden abzustimmen. Heutzutage gibt es zum Darstellen von zu entwickelnder Software eine Vielzahl von UML-Modellierungswerkzeugen. Diese können sich in mehreren Faktoren unterscheiden. Unter anderem können die Art der Datenspeicherung oder der unterstützte Funktionsumfang (UML-Features, ...) variieren. Dies hat zur Folge, dass verschiedene Unternehmen/Entwickler ein ihren Präferenzen entsprechendes Modellierungswerkzeug nutzen. Arbeiten nun mehrere Unternehmen an einem Projekt zusammen, kann es vorkommen, dass diese Unternehmen unterschiedliche Modellierungswerkzeuge verwenden. Da UML-Modelle bzw. -Diagramme beim Planen und Umsetzten eines Projekts mehrfach besprochen und angepasst werden müssen, entsteht zusätzlicher Synchronisationsaufwand. Da z. B. aufgrund der unterschiedlichen Art der Speicherung die Modelle nicht ohne weitere Transformationen ausgetauscht werden können. Würde die Diagramme ohne zusätzlichen Aufwand zwischen verschiedenen UML-Modellierungswerkzeugen ausgetauscht und weiter verarbeitet werden können, könnten solche Projekte deutlich effizienter abgewickelt werden. Diese Eigenschaft Informationen auszutauschen und die ausgetauschten Informationen korrekt ausführen zu können, bezeichnet man als Interoperabilität. Daraus ergibt sich die folgende Forschungsfrage: Wie kann Interoperabilität von UML-Modellierungswerkzeugen umgesetzt werden? Um eine Antwort für diese Frage zu finden, wurden zunächst verschiedene Austauschformate untersucht und verglichen. Außerdem wurde eine Auswahl von drei verschiedenen UML-Modellierungswerkzeugen betrachtet und die Unterschiede herausgearbeitet. Anhand dieser Recherchen konnten dann Anforderungen für die Interoperabilität von UML-Modellierungswerkzeugen abgeleitet werden. Aus diesen Anforderungen wurde anschließend ein Konzept für die Umsetzung der Interoperabilität entwickelt und anhand der drei ausgewählten Werkzeuge realisiert. |
06.07.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Jan Hofmann:
Graph-Anfragesprache für EMF
In der Softwareentwicklung sind Modelle ein wichtiges Werkzeug, insbesondere in der Modell-getriebenen. Da die unterschiedlichen Modelle dasselbe System beschreiben, wirken sich Änderungen in einem Modell auch auf die anderen aus. Um unter anderem solche Änderungen nicht von Hand pflegen zu müssen wurden bereits verschiedene Frameworks entwickelt. Eines der meistgenutzten davon ist EMF (Eclipse Modeling Framework). Es ermöglicht die Erstellung eines Modells, zum Beispiel ein UML-ähnliches Klassen-Diagramm, und die Generierung anderer Modelle, beispielsweise Code, basierend darauf und umgekehrt. Durch die Synchronisation der Modelle wird zwar die Wartung vereinfacht und es können Änderungen aufgrund von Fehlerkorrekturen leicht in die anderen Modelle übertragen werden. Es stellt sich aber die Frage, ob nun zum Beispiel auch die Kontrolle auf Redundanz oder die Kontrolle von Abhängigkeiten automatisiert werden kann. Solche Aufgaben sollten idealerweise, wie auch zuvor die Synchronisation von Modellen, automatisiert werden, um eine möglichst einfach wiederholbare, gleichbleibende und fehlerfreie Durchführung zu garantieren. Es bietet sich an, das Anfragen über das System, wie das Vorkommen von Redundanz etc., an das EMF-Modell zu richten. Allerdings gibt es bisher keine Möglichkeit solche Anfragen für EMF-Modelle zu realisieren. Ein Ansatz für die Umsetzung von Anfragen an EMF-Modelle sind Anfragesprachen für Graphen. Dafür müssen die Modelle in einer Graph-artigen Struktur vorliegen. EMF besitzt Graph-ähnliche Strukturen, bei denen unter anderem über Referenzen Elemente des Modells miteinander verbunden werden. Ziel dieser Arbeit ist das Konzipieren einer Graph-Anfragesprache für EMF. Dazu werden bisherigen Anfragesprachen herangezogen und analysiert, welche Aspekte relevant für eine EMF-Anfragesprache sind. Zudem müssen die Eigenheiten von EMF-Modellen berücksichtigt werden. |
29.06.2021 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Johannes Martin Legler:
Automated Evaluation of Modeling Tasks for Self-study
The University of Oldenburg teaches programming and modeling among other contents of Computer Science. It has been observed that students struggle with their study, due to the amount of content to learn, the limited time, and the needed self-study. Self study for modeling is especially difficult for them because of the solution ambiguity for each task, where determining whether their own solution fits the given samples is often not possible for them due to lack of experience in that area. To support the students with their self-study on modeling tasks, this thesis develops a concept called Automatic Evaluation of Modeling Tasks (ÆvaMoT), which allows for automatic evaluation of student solutions with appropriate feedback generated afterwards. For that it answers two questions. Firstly, how sample solutions for these tasks can be represented to be efficiently and automatically analyzable. Secondly, how the results of that can be used for fully automatic evaluation and feedback annotation of student solutions. The developed concept consists of a Domain Specific Language (DSL) in the form of Unified Modeling Language (UML) profiles to describe acceptable variant diagram elements inside of an already existing model. Further profiles have been developed to allow instructors to provide feedback templates based on which the tool can generate customizable feedback messages for the students. Lastly, a Query Graph is constructed from all available sample solutions for a task that describes which elements should be contained in the student solution. Using the XPath queries within each graph node the assignment is ultimately evaluated. Those query results are then used to generate appropriate feedback. To check whether the concept is applicable for practical use, a prototype was implemented. It can automatically analyze sample solutions, produce criteria sets and evaluate UML diagrams submitted by the students. The tool is currently specialized for UML class diagrams, but due to the used patterns and UML profiles, the whole system is easily extendable for other UML diagram types and query languages in the future. |
29.06.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Marlon Kaufmann:
Transparenz und Nachvollziehbarkeit von selbstlernenden Methoden
Beim maschinellen Lernen handelt es sich um Methoden um den menschlichen Lernprozess abzubilden und es somit Systemen zu ermöglichen Veränderungen an ihren Verhaltensmöglichkeiten vorzunehmen ohne dass diese Verhaltensweisen explizit programmiert werden müssen. Diese Methoden ermöglichen es potenziell unbekannte Zusammenhänge in Datenmengen zu erkennen und komplexe Modelle daraus zu entwickeln. Diese Modelle können dann auf weitere Datenmengen derselben Art angewandt werden. Dies erlaubt die Erkennung von Mustern und dadurch unter anderem die Objekterkennung und im weiteren Sinne eine Unterstützung von vielen wichtigen Branchen, darunter Marketing (z.B. Vorhersagen vom Kundenverhalten), Landwirtschaft (z.B. Smart Greenhouses) und Transport (z.B. Routenplanung). Mit der vermehrten Anwendung von maschinellem Lernen wurden jedoch auch Probleme in der Praxis erkennbar. Hinter den internen Modellen von selbstlernenden Systemen stehen komplexe mathematische Funktionen und die genauen Strukturen sind, aufgrund des kontinuierlichen Trainings, nicht vollständig bekannt. Diese Komplexität führt dazu, dass das Modell für Menschen ohne weitere Hilfsmittel nicht mehr darstellbar ist. Im Kontext von maschinellem Lernen wird daher oft von einer Black-Box gesprochen. Da maschinelles Lernen überall Anwendung finden kann wo Menschen konsistente Entscheidungen treffen, liegt in der Thematik der Black-Box Eigenschaft von selbstlernenden Systemen eine besondere Relevanz. Wenn die Trainingsdaten eines selbstlernenden Systems den Problembereich nicht ausreichend abdecken, so kann das interne Modell des Systems ebenfalls verzerrt werden. Dies führt dann im Weiteren zu einer verzerrten Entscheidungsfindung. Abhängig von den Anforderungen an das System kann dies inakzeptable Folgen haben. Damit solche Systeme in der Gesellschaft benutzt werden können, bedarf es also Vertrauen in die zugrundeliegende Technologie, welches nur schwer erreichbar ist, wenn das jeweilige System weder vollständig verstanden wird noch von Menschen rekonstruierbare Entscheidungen produziert. Da die Forschung in diesem Bereich aufgrund der Relevanz der Thematik rapide angestiegen ist, ist es sinnvoll den aktuellen Stand der Forschungen für Neueinsteiger auf dem Gebiet der selbstlernenden Methoden aufzubereiten und zu analysieren, um somit eine Übersicht über die wissenschaftlichen Publikationen im Bereich Transparenz und Nachvollziehbarkeit von selbstlernenden Methoden zu bieten. Eine solche Übersicht soll innerhalb dieser wissenschaftlichen Arbeit präsentiert werden. |
13.04.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Johannes Martin Legler:
Automated Evaluation of Modeling Tasks for Self-study
The University of Oldenburg teaches programming, modeling, and other theoretical contents of Computer Science. It has been observed that the students often seem to struggle with their study, due to the amount of lecture content, the limited time, and the needed self-study at large. Self-study for modeling is especially difficult for them, because of the solution ambiguity for each task, where they need to consider alternative (completely different) solutions, as well as variants of solutions, which are only marginally different, when evaluating their own solution. To support the students with their self-study on modeling tasks, this thesis proposes a concept called ÆvaMoT (Automatic Evaluation of Modeling Tasks), which allows for automatic evaluation of student solutions with appropriate feedback. For that it answers the questions on how sample solutions for these tasks can be represented to be efficiently and automatically analyzable and how the results of that can be used for fully automatic evaluation and annotation of student solutions. The proposed concept consists firstly of an UML profile containing UML stereotypes, which can be attached to any element UML diagram element. With them, instructors can provide feedback templates based on which the tool can generate customizable feedback messages to the students. Secondly, a GReQL query graph is constructed from all available sample solutions for a task, with which the student solution is ultimately evaluated. |
06.04.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Canice Feye:
Auswahl einer Serverless Plattform
Serverless Computing gewinnt heutzutage immer mehr an Bedeutung. Es handelt sich hierbei um ein Konzept aus dem Bereich des Cloud Computings. Der Kernaspekt von Serverless Computing besteht darin, Anwendungen so zu entwickeln und zu deployen, dass aus Nutzersicht kein Infrastruktur Management mehr notwendig ist. Mittlerweile ist eine große Anzahl an Serverless Plattformen am Markt vertreten. Aus diesem Grund ist es nicht leicht zu ermitteln, welche Plattform für einen konkreten Anwendungsfall am besten geeignet ist. Hierfür müssten die Plattformen zunächst verglichen werden. Es gibt jedoch diverse Aspekte, die bei einem Vergleich von Serverless Plattformen herangezogen werden können. Aufgrund dieser bereiten Auswahl an Vergleichsmöglichkeiten, ist es schwer herauszufinden, welche Kriterien für einen Vergleich wirklich relevant sind. Darüber hinaus wäre es hilfreich, ein strukturiertes Vorgehen zu haben, um die Plattformen zu vergleichen. Zur Lösung des oben genannten Problems wurde eine umfassende Literaturrecherche durchgeführt. In diesem Zusammenhang ist ein Kriterienkatalog zur Auswahl einer Serverless Plattform erhoben worden. Unter Berücksichtigung dieses Katalogs wurde ein Vorgehen konzipiert, mithilfe dessen eine Serverless Plattform ausgewählt werden kann. Im ersten Schritt hilft es dem Anwender herauszufinden, welche Vergleichskriterien für seinen speziellen Fall relevant sind. Anhand dieser wird anschließend ein Vergleich verschiedener Plattformen durchgeführt. Mithilfe einer entwickelten Bewertungsmatrix kann daraufhin ermittelt werden, welche Plattform für den Anwender hinsichtlich seiner Anforderungen am besten geeignet ist. Des Weiteren wurde das entwickelte Vorgehen anhand eines Fallbeispiels demonstriert und evaluiert. Hierzu wurden zunächst alle Schritte des Vorgehens, anhand des Fallbeispiels durchgeführt. Anschließend wurden aus Sicht des Fallbeispiels die Stärken und Schwächen des entwickelten Vorgehens betrachtet. Darüber hinaus wurde das Vorgehen aus einer Fallbeispiel-unabhängigen Sicht betrachtet, um noch weitere Stärken und Schwächen zu identifizieren. |
23.02.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Stefan Wegner:
Modellgetriebene Vernetzung von Informationsquellen
Das Ziel dieser Abschlussarbeit ist die Möglichkeiten im Zusammenhang von Projekten zu überprüfen, in digital gespeicherten Listen enthaltene Informationen auf Grundlage ihrer Modelleigenschaften in ein Single Underlying Model (SUM) durch die Mittel des Ansatzes Model Consistency ensured by Metamodel Integration (MoConseMI) zu integrieren und es damit Stakeholdern interessengerecht zu ermöglichen, neues Wissen zu bilden und vorhandenes Wissen permanent zu erhalten und zu verbreiten. Dafür liegt die Forschungsfrage zugrunde: "Kann man mithilfe von MoConseMI aus unabhängigen Informationsquellen enthaltene Informationen in eine zentrale Struktur integrieren, dort vernetzen und Veränderungen der Informationen mit den Ursprungsquellen synchronisieren?" Zum Beantworten dieser Frage wurde anhand eines Szenarios ein Konzept entworfen, dass das Integrieren von Informationsquellen in ein SUM und darin das Vernetzen ermöglicht, um die Interessen von Stakeholdern zu befriedigen und synchronisiertes Verändern von Informationen zu erlauben. |
16.02.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Tamme Janßen:
Migration von klassischem Projektmanagement zu Scrum
Aufgrund des unbestrittenen Erfolgs des agilen Rahmenwerks Scrum wird dieses immer häufiger in Teams eingeführt, die zuvor Werkzeuge des klassischen Projektmanagements genutzt haben. Bei diesem Migrationsprozess treten diverse Probleme auf, da sich die agile Arbeitsweise in Bezug auf Hierarchien und Strukturen sehr vom klassischen Vorgehen unterscheidet. Das Ziel der Masterarbeit besteht in der Beantwortung der Frage, wie ein klassisches Projektteam vor dem Hintergrund der genannten Problemfelder in eine agile Arbeitsweise nach Scrum überführt werden kann. Dazu stehen folgende Forschungsfragen im Zentrum der Arbeit: Welche Konflikte können bei einer solchen Migration entstehen? Wie können die Konflikte bei der Migration berücksichtigt bzw. abgebaut werden? Wie kann die Migration strukturiert werden? Auf Basis einer theoretischen Analyse und Vorgesprächen mit Expert*innen sind Konflikte in Bezug auf die Rollenverteilung, das Teamgefüge und Verantwortungen zu einzelnen Aufgaben, wie zum Beispiel dem Budgetcontrolling identifiziert worden. In einem weiteren Schritt wurden Expert*innen-Interviews durchgeführt, bei denen die Handhabung dieser Konflikte sowie die Struktur der Migration thematisiert worden ist. Als Ergebnis der Forschung ist ein Handlungsleitfaden entstanden, welcher die identifizierten Konflikte aufgreift, verschiedene Lösungswege für deren Handhabung aufzeigt und den gesamten Migrationsprozess in Form von verschiedenen Abschnitten zeitlich und inhaltlich gliedert. |
09.02.2021 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Tim Clausing:
Analyse von UML-Klassendiagrammen
UML-Klassendiagramme sind ein wichtiges Konzept in der UML. Auch in dem Informatikstudium spielen sie eine wichtige Rolle. Dabei müssen die Studenten das Erstellen und den Umgang mit den Klassendiagrammen lernen. Hierfür erhalten die Studenten während des Übungsbetriebes der Vorlesungen direktes Feedback zu ihren Lösungen entsprechender Übungsaufgaben durch den Dozenten beziehungsweise den Tutoren und Übungsleitern. Während des Selbststudiums, zum Beispiel in der Klausurvorbereitung, entfällt diese Form der Korrektur. Das Ziel dieser Arbeit ist es ein Verfahren zu entwickeln, mit dem es möglich ist UML-Klassendiagramme automatisiert auf Basis einer Übungsaufgabe zu analysieren und entsprechendes Feedback zu erstellen. Hierfür werden zunächst die Anforderungen mittels einer Literaturanalyse der Masterarbeit "Modellierung im Selbststudium" (Hebig 2020) und einer Anwendungsfallanalyse ermittelt, sodass aufbauend auf diesen ein Konzept für das Analyseverfahren entwickelt wird. Im Anschluss wird dieses in der Implementierung des UML-Analysetools umgesetzt und anhand einer beispielhaften Übungsaufgabe evaluiert. |
09.02.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Kevin Meyer:
Kollaboratives Mind- und Concept-Mapping
Kollaboratives Arbeiten ermöglicht das zusammen Arbeiten mehrerer Personen (auch Kollaborateure) an einer gemeinsamen Aufgabe. Kollaborateure können sowohl synchron als auch asynchron miteinander kollaborieren. Es wird gemeinsam eine Lösung eines Problems geformt, indem Kollaborateure zusammen Ansätze und Ideen erdenken und besprechen. Solche Ansätze und Ideen lassen sich oftmals gut in graphischen Elementen darstellen. Mindmaps und Concept-Maps sind visuelle Hilfsmittel zum Gliedern und Darstellen eines Themas. Sie sind beliebt in der Planung von Ideen oder werden durch ihre praktische Darstellung von Wissen in der Bildung verwendet, wovon beide Prozesse sinnvoll für kollaboratives Arbeiten sind. Thema dieser Abschlussarbeit ist, kollaboratives Arbeiten und Hilfsmittel wie Mind- und Concept-Maps zu vereinen. Daraus ergibt sich folgende Forschungsfrage: Wie lässt sich die Konstruktion von Mindmaps und Concept-Maps in synchroner und asynchroner Kollaboration umsetzen? Dafür wird ein konzeptioneller Entwurf für ein kollaboratives Tool zum Konstruieren von Mind- und Concept-Maps in einer digitalen Umgebung erarbeitet. Für dieses Tool wurden bereits Szenarien entwickelt, die die Verwendung des Tools abhandeln. Aus diesen Szenarien wurden Anforderungen an das Tool abgeleitet. Außerdem wurde mit einer erfahrenen Anwenderin von Mindmaps ein Interview geführt, wodurch zusätzliche Anforderungen erhoben werden konnten. |
02.02. - 03.02.2021 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Maik Sanders:
Umwandlung von UMLet-Zeichnungen in UML-Diagramme
UMLet ist ein Tool zum einfachen Zeichnen von UML-Diagrammen. Neben einigen Stärken hat das Tool auch viele Schwächen. Die Exportmöglichkeiten von UMLet sind zum Beispiel auf Grafikdateien und UMLets eigenem Dateiformat beschränkt. Keines dieser hat eine Verbindung zum UML-Metamodell, wodurch viele Dinge erschwert werden. Features, wie das Umwandeln eines Diagramms in Programmcode oder das Umwandeln in eine Form, die ein anderes UML-Tool benutzen könnte, existieren daher nicht. Durch diesen Medienbruch wird das Austauschen der Diagramme mit Personen, die UMLet nicht benutzen, erschwert. Um dieses Problem zu lösen, wurde ein Verfahren entwickelt, mit dem ein in UMLet gezeichnetes UML-Diagramm in ein bereits von mehreren UML-Tools benutztes UML-Austauschformat namens UML2 umgewandelt wird. Durch diese Problemlösung wurden viele Schwächen von UMLet gelöst oder gelockert. Durch die vielen Tools, die UML2 unterstützen, ist beispielsweise die Austauschbarkeit der UMLet-Zeichnungen vereinfacht worden. Die Tools unterstützen unter anderem das Umwandeln in Programmcode, UMLet-Zeichnungen haben dadurch also mehr Nutzungsmöglichkeiten. |
02.02. - 03.02.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Marvin Plateo:
Extraktion von Modellen aus LaTeX
Ziel dieser Abschlussarbeit ist es Texte aus LATEX vor verschiedenen Hintergründen analysieren zu können. Um die möglichen Analysen einzugrenzen werden Analyseszenarien erhoben, die sich bereits an den Vorlesungsscripten "Objektorientierte Modellierung und Programmierung" und "Programmierung, Datenstrukturen und Modellierung" orientieren, also Autorenkonventionen und die Art des Textes beachten. Es sollen aber auch Analysen möglich sein die über die Szenarien hinausgehen. Die aufgestellten Analyseszenarien sollen später durchgefürt und gelöst werden. Die Analyseszenarien können beispielsweise so Aussehen: Hat jede Definition oder mathematische Formel ein dazugehöriges Beispiel? Ist jedes Beispiel durch einen oder mehrere Beispielcodes illustriert? Besitzt jedes Bild eine Bildunterschrift? Um diese Analysen überhaupt durchführen zu können wird eine Datenstruktur benötigt auf der die Analysen durchgeführt werden können. Ein wesentlicher Aspekt der Zielsetzung ist also das Erstellen einer Datenstruktur, die die Struktur von LATEX-Textdateien darstellt. |
19.01.2021 16:00 SE Colloquium A2 2-219 | |
Jan Brunnberg:
Plattform- und projektübergreifende Entwicklung von Software-Bausteinen
Die Wiederverwendung von Software ist seit Jahrzehnten eine Strategie, um den Aufwand für die Erstellung von Anwendungssystemen für Entwickler zu verringern. Bestehende Ansätze wie die Komponentenorientierung oder die serviceorientierte Architektur haben sich unter anderem zum Ziel gesetzt, die Wiederverwendbarkeit zu erhöhen. Aber keiner dieser Ansätze unterstützt sowohl die plattform- als auch projektübergreifende Wiederverwendung. Hier existiert großes Potential zur Reduzierung des Entwicklungsaufwands, da Funktionalitäten oft bereits in anderen Projektkontexten für unterschiedliche Plattformen entwickelt wurden. Ein Konzept, welches den Entwickler hinsichtlich beider Dimensionen bei der Wiederverwendung unterstützt, kann den allgemeinen Aufwand und insbesondere die Entwicklungszeit neuer Projekte stark reduzieren. Im Rahmen der Masterarbeit soll daher ein Konzept entwickelt werden, welches sich dieser Problemstellung annimmt. Dabei werden mehrere Ziele verfolgt. Zuerst muss eine klare Identifizierung der Anforderungen an ein solches Konzept erfolgen, welche sich aus den bestehenden Ansätzen und den Problemen in der Literatur und Praxis mit Bezug auf die Wiederverwendbarkeit ableiten lassen. Darauf aufbauend muss ein Konzept für die plattform- und projektübergreifende Entwicklung erstellt werden, welches die erhobenen Anforderungen berücksichtigt. Zur Validierung des Konzeptes wird eine Beispielanwendung entwickelt, die mit Hilfe einer prototypischen Anwendung, welche auf dem Konzept basiert, zerlegt und wieder zusammengesetzt wird. Abschließend werden die Erkenntnisse zusammengefasst und das Konzept bewertet. |
12.01. - 13.01.2021 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Sören Helms, Fabian Skok:
Kombination von Datenbanken durch Integration / Synchronisation
Die Daten eines Unternehmens sind häufig auf mehrere Datenbanken, Systeme und Standorte verteilt. Diese Datenbanken werden von verschiedenen Mitarbeitern genutzt und können ganz oder zum Teil denselben Ausschnitt der realen Welt abbilden. Wenn diese Datenbanken keiner zentralen Kontrolle unterliegen, können Redundanzen und Widersprüche bei der gleichzeitigen Betrachtung aller Datenbanken auftreten. Dementsprechend beschäftigt sich diese Arbeit mit der zentralen Frage: Mit welchen Kombinationsverfahren können verteilte Datenquellen konsistent und redundanzfrei gehalten werden? Auf Basis dieser Frage werden in der Arbeit von Sören Helms die Möglichkeiten zur Integration und in der Arbeit von Fabian Skok die Möglichkeiten der Synchronisation einzelner Datenquellen untersucht. Hierbei ergibt sich die individuelle Forschungsfrage: Wie lässt sich ein Integrations-/Synchronisationsverfahren nach aktuellen Standards umsetzen und Inwiefern löst das gewählte Verfahren das Problem der Widersprüche und Redundanzen? Das Ergebnis dieser Arbeit ist ein Leitfaden, welcher diese Frage beantwortet und erklärt, wie das jeweilige Verfahren umgesetzt werden kann. |
01.12.2020 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Kristina Tapken:
Agiles Anforderungsmanagement
Das Requirements-Engineering und -Management im Entwicklungsprozess qualitativ hochwertiger Software-Produkte kann in der heutigen Zeit eine erfolgskritische Disziplin für den Projekterfolg darstellen. Studien belegen, dass ein Großteil aller Fehler bereits in der Analysephase eines Projektes entstehen. Als Hauptursache lässt sich die Variabilität von Anforderungen fixieren, die in der klassischen Softwareentwicklung (V-Modell, Wasserfall-Modell) aufgrund einer starken Konzentration der Spezifikation von Anforderungen zu Projektbeginn nur bedingt Berücksichtigung finden. Resultat hieraus ist eine strikte Abarbeitung in Phasen, die infolge einer im späteren Projektverlauf stattfindenden Phase für das Änderungswesen von sich ändernden Kundenwünschen Einbußen der Qualität von Anforderungen zur Folge haben kann. Demgegenüber steht die agile Softwareentwicklung, die durch eine zielgerichtete und kontinuierliche Spezifikation von Anforderungen die Ermittlung, Dokumentation und Änderung neuer oder bereits bestehender Anforderungen über den gesamten Lebenszyklus bis hin zu einem qualitativ hochwertigen Software-Produkt ermöglichen kann. Die Qualitätssicherung von Anforderungen zu unterschiedlichen Qualitätssicherungszeitpunkten ist dabei im agilen Anforderungsprozess nicht vollumfänglich definiert. Diese Arbeit befasst sich daher mit der Forschungsfrage: Wie kann die Qualität von Anforderungen im agilen Anforderungsmanagementprozess zu unterschiedlichen Prüfzeitpunkten sichergestellt werden? Das Ziel dieser Arbeit ist die Entwicklung eines Qualitätssicherungsleitfadens für die kontinuierliche Entwicklung und Überprüfung qualitativ hochwertiger Anforderungen unter Einsatz konstruktiver und analytischer Qualitätssicherungsmaßnahmen zu eindeutig festgelegten Prüfzeitpunkten im agilen Entwicklungsprozess eines Produktes. |
01.12.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Lena Janssen:
Agiler Festpreis
In der heutigen Zeit entscheiden sich viele Softwareentwicklungsunternehmen dafür, nach den agilen Vorgehensmodellen, wie beispielsweise Scrum, zu entwickeln. Der Nachteil bei diesen Modellen ist jedoch, dass der Preis und die Dauer des gesamten Projektes nicht von Beginn an bekannt sind. Im Gegensatz dazu lassen sich in den klassischen Vorgehensmodellen (beispielsweise nach dem Wasserfallmodell) ein definiertes Ende festlegen sowie ein Festpreis kalkulieren. Zu Beginn der Entwicklung nach klassischen Vorgehensmodellen gibt es eine Phase, in welcher die Anforderungen in einem Anforderungsdokument festgehalten werden. Anhand dieses Dokuments lässt sich ein Festpreis für das gesamte Projekt kalkulieren, da die Anforderungen an das Projekt genauestens definiert werden. Dies ist innerhalb der agilen Vorgehensmodelle aufgrund der iterativen Arbeitsweise und der damit einhergehenden Flexibilität gegenüber Anforderungsänderungen nicht möglich. Im Laufe der Zeit gibt es immer wieder neue Anforderungen oder Anforderungsänderungen, welche die Kalkulation eines Festpreises erschweren. Viele Auftraggeber wünschen sich eine Entwicklung nach den agilen Vorgehensmodellen, wollen jedoch auch die Budgetsicherheit aus den klassischen Vorgehensmodellen. Im Kontext eines Unternehmens wurden daraufhin geeignete Lösungsansätze herausgearbeitet und untersucht. Das Unternehmen arbeitete bereits immer wieder an einer Lösung, welche sich der “Agile Korridor“ nennt. Dieser wurde zu einer preislichen Obergrenze herausgearbeitet. In dieser Arbeit wurde zusätzlich ein Leitfaden entwickelt, welcher beiden Parteien die Budgetsicherheit bietet und trotzdem die Flexibilität der agilen Vorgehensmodelle beibehält. |
24.11.2020 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Jana Meyer:
Code-Analyse statt Testen
Das Projekt „Innovation Plus“ wurde vom Niedersächsischen Ministerium für Wissenschaft und Kultur zur Förderung von Lehr- und Lernprogrammen entwickelt. Im Rahmen dieses Projektes möchte die Abteilung Softwaretechnik die Programmier- und Softwaretechnikausbildung von Studierenden verbessern. Ein Teilziel dieses Projektes ist, Studierenden die Möglichkeit zu bieten, zeitnah ein Feedback zu Quellcode aus Übungsaufgaben zu erhalten. Aber auch anderer in Java geschriebener Quellcode soll geprüft werden können. Diese Bachelorarbeit befasst sich damit, solch ein Konzept zu erstellen. Das Konzept wird stAn genannt, da es statische Code-Analyse zum Überprüfen des Quellcodes verwendet. Somit enthält das Feedback Hinweise zu Fehlern, die die Qualität des Quellcodes verschlechtern könnten. Durch die Ausrichtung der Überprüfung auf Übungsaufgaben kann die Programmierausbildung optimal ergänzt werden. Besonders Studierende zu Beginn ihrer Programmierausbildung sollen von stAn profitieren. Sie können lernen, welche Programmierfehler sie regelmäßig beim Programmieren machen. Das Feedback weist auf mögliche Fehler im Quellcode hin und teilt den Studierenden mit, welcher Fehler aufgetreten sein könnte. Damit sollen Studierende langfristig lernen Quellcode mit guter Qualität zu schreiben. |
24.11.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Niklas Wenning:
Agile Softwarearchitektur
Softwarearchitektur ist ein integraler Bestandteil jeder Software. Architektur kann eine Software so gestalten, dass Komplexität aufgebrochen wird, Zusammenhänge deutlich werden und so das Verständnis über das System wächst. Architekturarbeit bedeutet aber immer auch Planung. Die Art Planung, welche es nach den agilen Ansätzen als zu vermeiden gilt. Die Agilität nutzt eine iterative und inkrementelle Entwicklung zur kontinuierlichen Rückkopplung der Funktionalität einer Software mit dem Kunden, um das Risiko der Fehlentwicklung zu minimieren und dem Kunden in kurzer Zeit einen Wert zu liefern. Architektur kann diese inkrementelle Entwicklung unterstützen und die einfache Erweiterung einer Software möglich machen. Eine Integration der beiden Themenfelder hat daher das Potenzial positiver Wechselwirkung. Dafür werden aus den Grundlagen von Agilität, Architektur und Einfachheit Themenfelder abgeleitet, in denen Herausforderungen herausgestellt werden, die diese Arbeit über eine Quellenanalyse bekannter Ansätze löst und in einem Zusammenhängenden Leitfaden zusammenträgt. |
10.11.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Jan Huhsmann:
Caching in der NEMo-Fahrkreis-App
Das im März 2016 gestartete interdisziplinäre Projekt NEMo (Nachhaltige Erfüllung von Mobilitätsbedürfnissen im ländlichen Raum) hat sich mit den Mobilitätsbedürfnissen des ländlichen Raums von Oldenburg und der Wesermarsch befasst. Durch die Zusammenarbeit mehrerer Institutionen konnte erfolgreich eine nachhaltige Lösung aufbauend auf den sozialen Strukturen der Pilotregion entwickelt werden. Ein Teil dieser Lösung ist die Fahrkreis-App. Eine mobile Anwendung, die durch die Zusammenarbeit mit den Mobilitätsanbietern der Region Wesermarsch und Oldenburg eine Mobilitätsauskunft anbietet. Zudem wird den Nutzern dieser Anwendung ermöglicht, durch geplante Fahrgemeinschaften das Mobilitätsangebot ihrer Region zu erweitern. Es besteht das Ziel, Lücken in der Mobilität nachhaltig zu schließen. Die Einsatzgebiete Wesermarsch und der ländliche Raum von Oldenburg sind von aktuellen Mobilnetzanbietern nicht vollständig abgedeckt. Somit gibt es Situationen, in denen Nutzern der Fahrkreis-App keine Internetverbindung zur Verfügung steht. Ohne eine Internetverbindung ist die Fahrkreis-App nicht nutzbar und die Mobilitätsauskunft somit nicht verfügbar. Es stellt sich die Frage, wie sich ein Speicherkonzept als Unabhängigkeit der Kernfunktionalität einer mobilen Anwendung zum Netzwerkstatus realisieren lässt. In dieser Masterarbeit wird ein Lösungskonzept basierend auf einem Caching-Mechanismus entwickelt, welches die Mobilitätsauskunft der Fahrkreis-App unabhängig zum Netzwerkstatus des Endgerätes macht. Durch die Analyse des bestehenden Systems werden Anforderungen an das Lösungskonzept erstellt. Diese wurden nach der Integration der Lösung in das bestehende System mittels Testfälle erfolgreich überprüft. Durch in das bestehende System integrierte Lösungskonzept ist die Mobilitätsauskunft und somit eine Kernfunktionalität der Fahrkreis-App unabhängig vom Netzwerkstatus. |
03.11.2020 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Kjell Bothmann:
Die gezielte Auswahl von UML-Werkzeugen
Die Verwendung eines UML-Werkzeuges, das für die jeweilige Aufgabe nicht gut geeignet ist, kann zu Problemen für ein Projekt führen. Dementsprechend ist die Wahl eines UML-Werkzeuges sehr wichtig, aber die verfügbaren UML-Werkzeuge und die Anforderungen, die an ein UML-Werkzeug gestellt werden, können sich mit der Zeit ändern. Ziel dieser Arbeit ist es daher für ausgewählte Bereiche zu analysieren, welche UML-Werkzeuge gut für die Anwendung in diesem Bereich geeignet sind. Dafür wurden die Anforderungen, die an ein UML-Werkzeug gestellt werden, in Experteninterviews erhoben. Mithilfe dieser Anforderungen soll ermittelt werden welche UML-Werkzeuge gut für den jeweiligen Bereich geeignet sind. |
03.11.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Tim Clausing:
Analyse von UML-Klassendiagrammen
UML-Klassendiagramme sind ein wichtiges Konzept in der UML. Auch in dem Informatikstudium spielen sie eine wichtige Rolle. Dabei müssen die Studenten das Erstellen und den Umgang mit den Klassendiagrammen lernen (Modulhandbuch Informatik 2020, S. 3 f.). Dabei erhalten die Studenten während des Übungsbetriebes der Vorlesungen direktes Feedback zu ihren Lösungen entsprechender Übungsaufgaben. Während des Selbststudiums, zum Beispiel in der Klausurvorbereitung, entfällt diese Form der Korrektur jedoch. Das Ziel dieser Arbeit ist es ein Tool zu entwickeln, mit dem es möglich ist UML-Klassendiagramme automatisiert auf Basis einer Übungsaufgabe zu analysieren und entsprechendes Feedback zu erstellen. Hierfür werden zunächst die Anforderungen mittels einer Literaturanalyse der Masterarbeit "Modellierung im Selbststudium" (Hebig 2020) und einer Anwendungsfallanalyse ermittelt, sodass aufbauend auf diesen ein UML-Analysetool entwickelt wird. |
27.10.2020 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Canice Feye:
Auswahl einer Serverless Plattform
Serverless Computing gewinnt heutzutage immer mehr an Bedeutung. Es handelt sich hierbei um ein Konzept aus dem Bereich des Cloud Computings. Der Kernaspekt von Serverless Computing besteht darin, Anwendungen so zu entwickeln und zu deployen, dass aus Nutzersicht kein Infrastruktur Management mehr notwendig ist. Innerhalb dieser Arbeit werden verschiedene Aspekte des Themenbereichs Serverless Computing behandelt. Diese Arbeit soll dazu beitragen den Einstieg in die Serverless Thematik zu vereinfachen. Für viele Personen stellt der Mangel an Erfahrung bereits eine Hürde dar, sich mit der dieser neuen Technologie auseinanderzusetzen. Eine weitere Hürde besteht darin, sich mit diesem geringem Wissen, der Auswahl einer Plattform anzunehmen. Diese Arbeit widmet sich der Minimierung dieser Hürde, um somit mehr Personen die Möglichkeit zu geben diese neue Technologie zu nutzen. Aus diesem Grund ist es das Ziel der Arbeit ein Vorgehensmodell hervorzubringen, dass Personen nutzen können, um eine Serverless Plattform auszuwählen. |
27.10.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Maik Sanders:
Umwandlung von UMLet-Zeichnungen in UML-Diagramme
UMLet ist ein Tool zum Zeichnen von UML-Diagrammen. Die bearbeiten Exportmöglichkeiten von UMLet sind jedoch auf Bild- und Grafikformate sowie UMLets eigenes Dateiformat beschränkt. Dadurch ist es schwierig, ein in UMLet gezeichnetes UML-Diagramm mit Personen auszutauschen, die ein anderes UML-Tool als UMLet benutzen, da die Exportmöglichkeiten keinem UML-Metamodell unterliegen. Um das Problem zu lösen, wird in dieser Arbeit zunächst ein Verfahren entwickelt, mit dem ein in UMLet gezeichnetes UML-Diagramm in ein UML-Metamodell-konformes Format gespeichert wird. Exemplarisch werden hier die UML-Klassendiagramme näher betrachtet. |
18.08.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Stefan Wegner:
Modellgetriebene Vernetzung von Informationsquellen
Im täglichen Forschungsbetrieb ist es unabdingbar, auf den Forschungsergebnissen von anderen Personen aufzubauen oder diese weiterzuverwenden, um Zeit einzusparen. Die Ergebnisse entstehen z.B. im Rahmen von Forschungsprojekten durch die Bearbeitung einzelner Problemstellungen in Abschlussarbeiten, Dissertationen und weiterer Publikation. Um einen Überblick über Personal, Artefakte, Publikationen und weiterer Dokumente des Projekts zu behalten, werden zu bestimmten Aspekten digital verfügbare Listen geführt wie z.B. alle Anforderungen an einen Prototyp. Es existieren viele solcher Listen, die von unterschiedlichen Mitarbeitern geführt werden und an verschiedensten Orten gespeichert sind. Durch das Führen solcher Listen werden zwar Informationen bewahrt. Es kann jedoch notwendig sein, neue Listen der Artefakte nach weiteren Aspekten zu erstellen. So kann durch eine Vernetzung bereits vorhandener Informationen neues Wissen generiert und der Forschung beigetragen werden. Die Dokumente sind jedoch nicht in einer gemeinsamen Struktur integriert. Die Nutzbarkeit der Dokumente unterliegt der Mitarbeiterfluktuation und unterschiedlichen Strukturen, wie die Informationen bereitgestellt werden. Zusätzlich bestehen Inkonsistenzen und Redundanzen zwischen den Dokumenten. Daher wird die Möglichkeit untersucht, die Verwaltung und Bildung von Dokumenten im Kontext von Wissensmanagement zu unterstützen und die Neuvernetzung von vorhandenen Informationen zu erleichtern. Dazu wird die Möglichkeit eines Single Underlying Model unter Verwendung von MoConseMI als einheitlicher und redundanzfreier Speicher für Information untersucht und erprobt. |
11.08.2020 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Leonhard Wolz:
Datenmanagement für smarte Systeme
Durch die Integration und Verknüpfung von Daten, wie sie durch Sensornetzwerke gesammelt werden, lassen sich in vielen Anwendungsfällen eine große Menge an Informationen gewinnen. Diese Smart Systems, wie sie beispielsweise im Bereich der Smart Cities entwickelt und eingesetzt werden, liefern dabei einen großen Mehrwert für das System. Im Bereich der Smart Cities kann dieser Mehrwert beispielsweise durch eine verbesserte Verkerssteuerung für PWK oder den öffentlichen Nahverkehr zum Vorschein kommen. Da sich diese Systeme dabei auf eine große Datenbasis stützen, ist ein gutes Datenmanagement essenziell. In dieser Arbeit wird erarbeitet welche Anforderungen dabei von verschiedenen Seiten an ein solches Data Management System (DMS) gestellt werden. Dafür werden verschiedene existierende Systeme betrachtet und besonders unter dem Gesichtspunkt des Datenmanagement untersucht. Aus diesen Erkenntnisse werden konkrete Anfroderungen an ein DMS erarbeitet. Ausgehend von diesen Anforderungen wird das Oldenburger Datenmanagement System (ODS) entwickelt und vorgestellt. Dieses System soll dabei allgemein die Rolle eines DMS übernehmen können. |
11.08.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Niklas Wenning:
Agile Softwarearchitektur
Softwarearchitektur ist ein integraler Bestandteil jeder Software. Architektur kann eine Software so gestalten, dass Komplexität aufgebrochen wird, Zusammenhänge deutlich werden und so das Verständnis über das System wächst. Architekturarbeit bedeutet aber immer auch Planung. Die Art Planung, welche in den agilen Ansätzen als nachrangig betrachtet wird. Die Agilität nutzt eine iterative und inkrementelle Entwicklung zur kontinuierlichen Rückkopplung der Funktionalität einer Software mit dem Kunden, um das Risiko der Fehlentwicklung zu minimieren und dem Kunden in kurzer Zeit einen Wert zu liefern. Architektur kann aber gerade diese inkrementelle Entwicklung unterstützen und die einfache Erweiterung und Wartung einer Software möglich machen. Eine Integration der beiden Themenfelder hat daher das Potenzial einer positiven Wechselwirkung. Diese Bachelorarbeit behandelt deshalb, welche Mittel der Architektur zur Wartbarkeit des Systems und damit zur nötigen Flexibilität beitragen können und wie sie in den agilen Prozess einzuordnen sind. Das Ziel dieser Arbeit ist es, einen Werkzeugkasten zusammenzustellen, welcher eben diese Architekturmittel zur Verfügung stellt. Dafür wird eine Übersicht über die Grundlagen der beiden Themenfelder erarbeitet, Herausforderungen der Architekturarbeit in der Agilität bestimmt und auf deren Basis eine Quellenanalyse durchgeführt. In diesem Vortrag werden das Konzept der Arbeit, die Grundlagen und Herausforderungen der Integration von Architektur und Agilität präsentiert. |
04.08.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Sören Helms, Fabian Skok:
Kombination von Datenbanken durch Integration / Synchronisation
Die Daten eines Unternehmens sind häufig auf mehrere Datenbanken, Systeme und Standorte verteilt. Diese Datenbanken werden von verschiedenen Mitarbeitern genutzt und können ganz oder zum Teil denselben Ausschnitt der realen Welt abbilden. Wenn diese Datenbanken keiner zentralen Kontrolle unterliegen, können Redundanzen bei der gleichzeitigen Betrachtung aller Datenbanken auftreten. Dementsprechend beschäftigt sich diese Arbeit mit der zentralen Frage: Mit welchen Verfahren können verteilte Datenquellen konsistent und redundanzfrei gehalten werden? Auf Basis dieser Frage werden in der Arbeit von Sören Helms die Möglichkeiten zur Integration und in der Arbeit von Fabian Skok die Möglichkeiten der Synchronisation einzelner Datenquellen untersucht. Hierbei ergibt sich die individuelle Forschungsfrage: Wie sieht ein Integrations-/Synchronisationsverfahren nach aktuellen Standards aus? Ziel der Arbeit ist es einen Leitfaden zu entwickeln, welcher diese Frage beantwortet und erklärt, wie das jeweilige Verfahren umgesetzt werden kann. |
28.07.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Tamme Janßen:
Migration von klassischem Projektmanagement zu Scrum
Aufgrund des unbestrittenen Erfolgs des agilen Rahmenwerks Scrum wird dieses immer häufiger in Teams eingeführt, die zuvor klassisches Projektmanagement angewandt haben. Hierbei treten diverse Probleme auf, da sich die agile Arbeitsweise in ihren Hierarchien und Strukturen vom klassischen Vorgehen unterscheidet. Diese Arbeit eruiert, wie ein klassisches Projektteam sinnvoll in eine agile Arbeitsweise nach Scrum überführt werden kann. Folgende Forschungsfragen stehen im Zentrum:
Welche Konflikte können bei einer solchen Umstellung entstehen? Auf Basis einer theoretischen Analyse und Vorgesprächen mit ExpertInnen werden Konflikte in Bezug auf die Rollenverteilung, das Teamgefüge und Verantwortungen zu einzelnen Aufgaben, wie bspw. dem Budgetcontrolling, identifiziert. Um anschließend die verbleibenden Fragen vertiefend zu beantworten, werden ExpertInnen-Interviews durchgeführt, um Einblicke darin zu erhalten, wie die identifizierten Konflikte in der Praxis gehandhabt werden und wie diese Umsetzung optimiert werden kann. Schlussendlich folgt die Ableitung konkreter Handlungsempfehlungen für die Migration von klassischem Projektmanagement zu agilem Arbeiten. |
08.07.2020 08:30 SE Colloquium https://uol.de/se?vc-oberseminar | |
Jan Jelschen:
Software Evolution Services: A Framework for the Integration and Development of Flexible and Reusable Toolchains
The growing size and complexity of software systems, as well as a constant pressure to adapt them to address changing requirements and keep up with fast-paced technological advancements, demands their decomposition into, and assembly from, smaller, more manageable parts, and the reliance on existing off-the-shelf components. Therefore, software integration has become a critical challenge in software development. A particular instance of this challenge presents itself in the field of software evolution, where the modernization of large legacy software systems calls for tailored, integrated tool-support able to adapt quickly to shifting requirements. This thesis presents SENSEI (Software EvolutioN SErvices Integration), a framework and method for creating flexible integrated toolchains and software systems. To derive the solution, this thesis establishes increased flexibility, reusability, and productivity as its key objectives. Based on an analysis of the toolchain-building process in software evolution, and a comprehensive review of the field of tool integration and existing, related integration approaches, the focus of the thesis is further refined, and the scope of SENSEI clearly demarcated. Component-based, service-oriented, and model-driven software engineering paradigms are reviewed and identified as suitable foundations, and combined with novel concepts to form the SENSEI framework. At the core of SENSEI lies a clear separation of concerns, distinguishing services that abstract from technologies and interoperability issues on the one hand, and concrete implementations in the form of components on the other hand. It enables domain experts to model processes to be automated as orchestrations of services, which are chosen from a standardizing catalog, and are technology-agnostic, abstracting interoperability issues away. Developers of individual components or tools provide service-conforming adapters and enter their implementations into a component registry. The capability model, a distinguishing feature of the approach, allows the declarative specification of required and provided capabilities, which is leveraged by SENSEI to automatically match services to implementing components. Using model-driven tooling, SENSEI then automatically generates an integrated, executable solution. SENSEI confers flexibility due to the abstraction from technical aspects, which makes changing orchestrations easy, and its ability to simply discard and quickly regenerate integration code. The structures it establishes promote reuse of both individual components, and interface adapters and data transformers, which are explicitly separated from the rest of the integration code. Separation of concerns, elimination of accidental complexities, a structuring framework interlinked by capabilities, and automation substantially reduce the required effort for integration and evolution, and thus yield increased productivity. The feasibility of the approach and its benefits have been demonstrated by practical application in two different case studies: In the first study, the SENSEI method and framework has been used to model and integrate the extensive tool support of a software evolution project. In the second study, SENSEI was used to model the business processes of a software application, map them to appropriate components and automatically integrate them. |
07.07.2020 17:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Jan Huhsmann:
Caching in der NEMo-Fahrkreis-App
Das im März 2016 gestartete interdisziplinäre Projekt NEMo (Nachhaltige Erfüllung von Mobilitätsbedürfnissen im ländlichen Raum) hat sich mit den Mobilitätsbedürfnissen des ländlichen Raums von Oldenburg und der Wesermarsch befasst. Durch die Zusammenarbeit mehrerer Institutionen konnte erfolgreich eine nachhaltige Lösung aufbauend auf den sozialen Strukturen der Pilotregion entwickelt werden. Ein Teil dieser Lösung ist die Fahrkreis-App. Eine mobile Anwendung die durch die Zusammenarbeit mit den Mobilitätsanbietern der Region Wesermarsch und Oldenburg eine Mobilitätsauskunft anbietet. Zudem wird den Nutzern der Anwendung ermöglicht durch geplante Fahrgemeinschaften das Mobilitätsangebot ihrer Region zu erweitern. Es sollen Lücken in der Mobilität nachhaltig geschlossen werden. Das Einsatzgebiet Wesermarsch und der ländliche Raum von Oldenburg sind von aktuellen Mobilnetzanbietern nicht vollständig abgedeckt. Somit entstehen Situationen in denen Nutzer der Fahrkreis-App keine Internetverbindung zur Verfügung haben. Ohne eine bestehende Internetverbindung ist die Fahrkreis-App nicht nutzbar und die Mobilitätsauskunft ist nicht verfügbar. Ziel dieser Masterarbeit ist die Implementierung eines Caching-Schemas für die Fahrkreis-App, um die Mobilitätsauskunft auch ohne Internetverbindung mit Einschränkungen nutzbar zu machen. |
07.07.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Jana Meyer:
Codeanalyse statt Testen
Das Projekt Innovation Plus hat zum Ziel den Studierenden bessere Möglichkeiten zum Selbststudium zu bieten. Ein Teilziel des Projekts ist, dass Studierende möglichst zeitnah ein Feedback zum erstellten Quellcode erhalten sollen können. Diese Bachelorarbeit befasst sich damit, ein Konzept zu erstellen, welches solche Feedbacks zum Quellcode von Studierenden mithilfe von statistischer Code-Analyse erstellen soll. Dieses Konzept wird stAn, kurz für statische Analyse, genannt. Das heißt also, dass das Feedback Hinweise zu Fehlern enthalten soll, die die Qualität des Quellcodes verschlechtern. Besonders Studierende zu Beginn ihrer Programmierausbildung sollen von stAn profitieren. Sie können lernen, welche Programmierfehler sie regelmäßig beim Programmieren machen. Das Feedback bietet Hilfestellungen wie diese Fehler korrigiert und vermieden werden können. Damit sollen Studierende langfristig lernen Quellcode mit guter Qualität zu schreiben. Auch Lehrende sollen von stAn profitieren. Die Ergebnisse aller Analysen sollen zu einem anonymisierten Bericht zusammengefasst werden. Dieser soll beispielsweise Informationen wie der prozentuale Anteil von Studierenden, die einen bestimmten Fehler gemacht haben, enthalten. Dadurch sollen Lehrende den aktuellen Stand der Programmierausbildung im Auge behalten können. |
30.06.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Manuel Wilde:
Extraktion von Modellen aus Datenbanken
In der heutigen Zeit gewinnen moderne Softwaresysteme eine fortwährend wachsende Bedeutung. Dies hat zur Folge, dass immer mehr Daten entstehen, welche miteinander verarbeitet werden müssen. Jedoch liegt das Problem an der häufigen Heterogenität, also der Verschiedenheit, der Datenquellen. Durch verschiedene Modellierungssprachen, können diese Informationen als Modelle dargestellt werden. Dadurch, dass sich verschiedene Möglichkeiten entwickelt haben, um die selben Datenbestände zu beschreiben, sind diese Modelle auf Grund ihrer unterschiedlichen Semantik nicht immer miteinander vergleichbar. Bei der Semantik handelt es sich um die Art, wie Informationen dargestellt werden. Um die Vergleichbarkeit dieser Daten zu realisieren, müssen diese in ein einheitliches Modell transformiert werden. Erst wenn diese Voraussetzung erfüllt ist, kann eine Datenintegration zwischen den ursprünglich heterogenen Modellen angestrebt werden. Eine relationale Datenbank hinterlegt ihre Informationen in tabellarischer Form. Diese Darstellung unterscheidet sich von typischen Modellen, daher ist eine Zusammenführung dieser Informationen nicht initial möglich. Ziel dieser Bachelorarbeit ist es zu untersuchen, ob sich eine relationale Datenbank in ein Modell überführen lässt und anschließend ein Informationsautausch zwischen ihnen realisieren lässt. |
24.06.2020 08:30 SE Colloquium https://uol.de/se?vc-oberseminar | |
Jens Knodel:
Architecture Evaluation
Thorough and continuous architecting is the key to overall success in software engineering, and architecture evaluation is a crucial part of it. This lecture presents a pragmatic architecture evaluation approach and insights gained from its application in more than 75 projects at Fraunhofer IESE with industrial customers in the past decade. It presents context factors, empirical data, and example cases, as well as lessons learned on mitigating the risk of change through architecture evaluation. |
23.06.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Marc Grimpo:
A Generic Approach for the Collaborative Modeling of UML Diagrams Applied to UML State Machines
Im Rahmen professioneller Softwareentwicklung werden UML Diagramme erstellt, die häufigen Änderungen ausgesetzt sind. Um eine reibungslose Kommunikation zwischen den an den Diagrammen interessierten Stakeholdern zu gewährleisten, ist es wünschenswert, dass alle von ihnen über Änderungen an Diagrammen zeitnah informiert werden. Für die kollaborative Entwicklung von Quellcode werden zum Lösen dieses Problems Versionskontrollsysteme wie Git und Subversion eingesetzt. Da diese für Quellcode entwickelten Werkzeuge sich nicht für die Verwaltung von Modellen wie UML Diagrammen eignen, wird an Alternativen geforscht. Im Zentrum der Forschung steht hierbei die Frage nach geeigneten Model Difference Representation Ansätzen. In der Abteilung Softwaretechnik der Universität Oldneburg wurde mit dem Difference Language (DL) Ansatz ein solcher Ansatz entwickelt. Der DL Ansatz ist auf beliebige Modelle anwendbar ist und möchte durch seine mitgelieferten Difference Language Services die Anwendung auf konkrete Probleme und existierende Modellierungswerkzeuge erleichtern. In dieser Bachelorarbeit wird ein Ansatz zur Integration von DL mit graphischen Modelleditoren vorgestellt, der durch die Integration des Editors für UML Zustandsdiagramme des Modellierungswerkzeugs UML Designer mit DL validiert wird. Durch diese Integration von UML Designer und DL wird ein Werkzeug für die kollaborative Bearbeitung von UML Zustandsdiagrammen erstellt. Der vorgestellte Ansatz und das erstellte Werkzeug bauen auf der vorhergehende Arbeit der Abteilung Softwaretechnik der Uni Oldenburg und der dort entwickelten CoMo-Anwendung auf. |
16.06.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Ivan Jovanovikj:
Model-Driven Co-Migration of Test Cases
Software testing plays an important role in the context of software migration as it is used to validate and ensure functional equivalence as a key requirement. As the creation of test cases is an expensive and time-consuming activity, whenever test cases are existing, their reuse should be considered, thus implying their co-migration. However, reusing test cases is beneficial, only when the test cases have some value. Migrating test cases that are redundant or do cover parts of the system that are not used anymore or if they have a low quality can result in migrated test cases which cannot properly validate the migrated system. Therefore, before doing anything with the test cases, their quality needs to be evaluated. During the actual co-migration of test cases, two main challenges have to be addressed: situativity and co-evolution. The first one suggests that when a test migration method is developed, the situational context has to be considered as it influences the quality and the effort regarding the test case migration. The latter suggests that the changes that happen to the system have to be considered and eventually reflected to the test cases. Lastly, as the migrated test cases are used as safeguards for the system migration, their correct migration is crucial. Once migrated and executed, the test report may also contain some false positives and false negatives which could potentially lead to false conclusions about the correctness of the migrated system. Therefore, the validation of the test case migration itself is also necessary. We address the aforementioned challenges by proposing a framework which provides an end-to-end-solution which addresses the three general migration phases: Pre-Migration Phase, Migration Phase, and Post-Migration Phase. Firstly, in the Pre-Migration Phase, a test case quality evaluation is performed to evaluate the quality of the existing test cases. Then, in the main phase of the approach, i.e., the Migration Phase, by employing situational method engineering a situational method for the test cases is developed and enacted. We extend the basic method development process with a co-evolution analysis in order to detect and reflect the changes from the system migration to the test cases. Finally, in the last phase, namely the Post-Migration Phase, we validate the test case migration by applying mutation analysis. In order to demonstrate the applicability of the developed framework in practice, we performed a feasibility study in which parts of the well-known Eclipse Modeling Framework (EMF) along with the Object Constraint Language (OCL) were migrated to the multi-platform enabled modelling framework CrossEcore. |
02.06.2020 16:00 SE Colloquium https://uol.de/se?vc-oberseminar | |
Thomas Sprock:
Repository Managementsystem für Delta Language
Bei der Realisierung eines Softwareprojektes sind UML-Diagramme ein wichtiges Kommunikationsmittel. Mit ihnen werden unter anderem Schnittstellen eindeutig definiert oder Prozesse mit dem Kunden exakt abgestimmt. Die Abteilung Softwaretechnik der Uni Oldenburg hat mit CoMo (Collaborativ Modelling) -ein Fork vom Kotelett - eine Erweiterung des UML-Designers entwickelt, mit dem es möglich ist, Aktivitätsdiagramme parallel in Echtzeit zu bearbeiten. Weiterhin ermöglicht dieses Toll eine Versionierung der Diagramme. Zur Koordination der Clients und der Versionierung der Diagramme ist ein zentraler Server notwendig. Ziel dieser Arbeit ist es, einen neuen Server zu entwickeln, welcher mindestens den gleichen Funktionsumfang wie die zwei bestehenden Server hat. Bei der Neuentwicklung des Servers soll weiterhin darauf geachtet werden, dass dieser wartungsfreundlich und erweiterbar gestaltet wird, um so auf die Erweiterungen des Clients serverseitig reagieren zu können. |
05.05.2020 16:00 SE Colloquium https://conf.uol.de/b/chr-adq-nwp | |
Lena Janssen:
Agiler Festpreis
In der heutigen Zeit entscheiden sich viele Softwareentwicklungsunternehmen dafür, nach den agilen Vorgehensmodellen, wie beispielsweise Scrum, zu entwickeln. Der Nachteil bei diesen Modellen ist jedoch, dass der Preis und die Dauer des gesamten Projektes nicht von Beginn an bekannt sind. Im Gegensatz dazu lassen sich in den klassischen Vorgehensmodellen (beispielsweise das Wasserfallmodell) ein definiertes Ende festlegen sowie ein Festpreis kalkulieren. Zu Beginn der Entwicklung nach den klassischen Vorgehensmodellen gibt es eine Phase, in welcher die Anforderungen in einem Pflichtenheft festgehalten werden. Anhand dieses Pflichtenheftes lässt sich ein Festpreis für das gesamte Projekt kalkulieren, da die Anforderungen an das Projekt genauestens definiert werden. Dies ist bei den agilen Vorgehensmodellen aufgrund der iterativen Arbeitsweise und der damit einhergehenden Flexibilität gegenüber Änderungen nicht möglich. Im Laufe der Zeit gibt es immer wieder neue Anforderungen oder Anforderungsänderungen, welche die Kalkulation eines Festpreises erschweren. Viele Auftraggeber wünschen sich eine Entwicklung nach den agilen Vorgehensmodellen, wollen jedoch auch einen Festpreis oder zumindest eine ungefähre Preisvorstellung für die Entwicklung eines Projektes erfahren. Das Ziel dieser Arbeit ist daher die Entwicklung eines Leitfadens, wie sich eine Preiskalkulation in agilen Vorgehensmodellen einbinden lässt, um sowohl dem Kunden als auch dem Dienstleister finanzielle Sicherheit bieten zu können. Um dieses Ziel zu erlangen wird mit einem Unternehmen zusammen an einer geeigneten Lösung gearbeitet. Innerhalb von drei zweimonatigen Iterationen werden Lösungsansätze untersucht und getestet. Am Ende dieser Iterationen werden erfolgreiche Lösungsansätze analysiert und validiert, damit diese als Handlungsempfehlung dienen können. |
31.03.2020 16:00 SE Colloquium https://conf.uol.de/b/chr-adq-nwp | |
Kristina Tapken:
Agiles Requirements Management
Ein systematisches Requirements-Engineering und -Management im Softwareentwicklungsprozess ist in der heutigen Zeit eine erfolgskritische Disziplin für den Projekterfolg. Studien belegen, dass ein Großteil aller Fehler bereits in der Analysephase eines Projektes entstehen. Als Hauptursache lässt sich die Variabilität von Anforderungen fixieren, die in der klassischen Softwareentwicklung (V-Modell, Wasserfall-Modell) aufgrund einer starken Konzentration der Spezifikation von Anforderungen zu Projektbeginn nur bedingt Berücksichtigung finden. Resultat hieraus ist eine strikte Abarbeitung in Phasen, die infolge einer im späteren Projektverlauf stattfindenden Phase für das Änderungswesen Einbußen der Qualität von Anforderungen und somit eine inkonsistente Umsetzung der sich ändernden Kundenwünsche im Softwareentwicklungsprozess zur Folge haben kann. Demgegenüber steht die agile Softwareentwicklung, die durch eine zielgerichtete und kontinuierliche Spezifikation von Anforderungen die Definition, Klärung und Änderung neuer oder bereits bestehender Anforderungen über den gesamten Lebenszyklus einer Software ermöglichen kann. Die Vorgehensweise zur Spezifikation von Anforderungen mit unterschiedlichen Detaillierungsgrad zu unterschiedlichen Projektzeitpunkten ist dabei im agilen Anforderungsmanagementprozess nicht vollumfänglich definiert. Diese Arbeit befasst sich daher mit der Forschungsfrage: „Wie kann die Qualität von Anforderungen zu unterschiedlichen Projektzeitpunkten mittels definierter Kriterien im agilen Requirements Management sichergestellt werden?“ Ziel dieser Arbeit ist die Entwicklung eines Qualitätssicherungsleitfadens, der ein Vorgehen zur Entwicklung qualitativ hochwertiger Anforderungen mittels konstruktiver Qualitätssicherungsmaßnahmen im agilen Anforderungsmanagementprozess mitsamt der Überprüfung des Qualitätserreichungsgrades dieser Anforderungen durch den Einsatz von analytischen Qualitätssicherungsmethoden zu festgelegten Prüfzeitpunkten bereitstellt. |
28.01.2020 17:00 SE Colloquium V1 3-310 (im Flur) | |
Christian Blank:
Agiles Anforderungsmanagement
Die klassische Anforderungserhebung ist seit Jahrzehnten ein fester Bestandteil in der klassischen Softwareentwicklung. Das vollständige Definieren von Anforderungen, vor Beginn der Umsetzung, dient zu Unterstützung, dass Projekte nicht zu kostenintensiver werden als nötig. Dem gegenüber steht der populäre Ansatz der agilen Softwareentwicklung. Insbesondere durch die hohe Flexibilität, welche sich in der Anpassungsfähigkeit der Anforderungen widerspiegelt, ist dieser Ansatz so beliebt. In der agilen Softwareentwicklung hat sich Scrum, als das verbreitetste Vorgehensmodellen, etabliert. Anders als die klassische Anforderungserhebung ist die Anforderungserhebung in Scrum nicht vollumfänglich definiert. So liefert Scrum vor allem auf die Frage „Wie werden die User Stories, welche in Scrum benötigt werden, erhoben?“ keine Antwort. Diese Arbeit befasst sich daher mit der Forschungsfrage Wie kann die Anforderungserhebung im Kontext von Scrum verbessert werden?. Ziel dieser Arbeit ist es ein Konzept für eine agile Anforderungserhebung zu entwickeln, welches auf die bestehende Anforderungserhebung von Scrum aufbaut und diese verbessert. Um das Ziel dieser Arbeit zu erreichen, wurde der bewährte Ansatz der klassischen Anforderungserhebung analysiert. Des Weiteren wurde der IST-Zustand der Anforderungserhebung von Scrum beleuchtet und somit die vorhandenen Defizite aufgedeckt, welche, durch das in dieser Arbeit entwickelte Konzept, ausgeglichen werden sollen. Die Entwicklung des Konzepts wurde auf Basis der klassischen Anforderungserhebung und weiteren Aspekten aus der Fachliteratur durchgeführt. Für eine praxisnahe Validierung des Konzepts wurden zum einen Jira als bestehende Software für die Produktentwicklung gewählt als auch eine eigene Software mit dem Namen Anmato, für die Anforderungserhebung, entwickelt. Das Konzept wurde sowohl durch den Einsatz bei der Entwicklung von Anmato als auch durch ein Beispielprodukt validiert. Als Ergebnis kann festgehalten werden, dass das entwickelte Konzept die Anforderungserhebung in Scrum verbessert und somit auch den Weg zu den User Stories beschreibt. |
28.01.2020 16:00 SE Colloquium V1 3-310 (im Flur) | |
Pascal Säfken:
Transformation von Excel-Tabellen in EMF-Modelle
In der Wirtschaft oder auch an anderen Stellen, wie zum Beispiel an Universitäten, werden Daten oft mittels verschiedenen Systemen bzw. Programmen erstellt, bearbeitet und verwaltet. Um die Daten aus allen Systemen und Programmen konsistent halten zu können, ist es sinnvoll, diese in einer gemeinsamen Datenbasis zu integrieren. Dazu müssen Daten unter anderem verglichen und zusammengeführt werden. Hierfür wird das Eclipse Modeling Framework (EMF) als Datenbasis genutzt, unter anderem weil es geeignete Konzepte zum Vergleichen (Model Compare) und zum Zusammenführen (Model Merge) von dem im Framework beinhalteten EMF-Modell bietet. In dieser Arbeit wird erarbeitet, inwiefern Dateien des Tabellenkalkulationsprogramm Microsoft Excel als EMF-Modelle dargestellt werden können und ob dabei Probleme auftreten. Hierfür wird ein Konzept entwickelt, wie Excel-Dateien als EMF-Modell dargestellt und wie sie dahin sowie wieder zurück transformiert werden können. Dazu wird ein Meta-Modell entwickelt, welches klar definiert, wie eine Excel-Arbeitsmappe als EMF-Modell dargestellt werden muss. Außerdem wird ein Transformator implementiert, der dieses Konzept umsetzt und somit eine Transformation von Excel-Dateien in EMF-Modelle sowie die äquivalente Retransformation bewerkstelligt. Dieser Transformator wird zudem mittels in der Arbeit aufgestellten Akzeptanztests validiert. Die Ergebnisse dieser Arbeit sind unter anderem, dass ein adäquates Meta-Modell entworfen und ein Transformator, der eine Transformation unter diesem Meta-Modell umsetzt, implementiert werden konnten. Hierbei wurde das Konzept jedoch an zwei Stellen vereinfacht umgesetzt, da eine Umsetzung jeweils zu umfangreich gewesen wäre. In beiden Fällen wäre aber eine adäquatere Umsetzung möglich, die jeweils in Grundzügen am Ende der Arbeit aufgezeigt werden. Außerdem sind bei der Implementierung ein paar Probleme aufgrund des verwendeten Frameworks aufgetreten, die zu Informationsverlusten nach der Transformation von dem EMF-Modell zur Excel-Datei führten. Trotz dieser Probleme konnte ein Konzept entwickelt und implementiert werden, mit dem Excel-Dateien der beiden Standardformate xls sowie xlsx transformiert werden können. Hierbei ist eine Transformation von Excel-Arbeitsmappen mit einem oder mehreren Tabellenblättern möglich. Außerdem werden die in Tabellenblättern beinhalteten Zellen korrekt in ihrer Position, mit ihren Inhalten sowie den möglichen Formatierungen transformiert. Hierzu zählen unter anderem nummerische, textuelle sowie boolesche Werte als Inhalte sowie Schriftformatierungen, Zellenformatierungen und Zahlenformate als Formatierungsmöglichkeiten. Des Weiteren werden unter anderem Strukturen, wie Tabellen und Listen, und bedingte Formatierungen in der Transformation berücksichtigt. |
10.12.2019 17:00 SE Colloquium V1 3-310 (im Flur) | |
Manuel Wilde:
Extraktion von Modellen aus Datenbanken
In der heutigen Zeit gewinnen moderne Softwaresysteme eine immer wachsende Bedeutung. Dies hat zu folge, dass immer mehr Daten entstehen, welche miteinander verarbeitet werden müssen. Jedoch liegt das Problem an der häufigen Heterogenität, also der Verschiedenheit, der Datenquellen. Durch verschiedene Modellierungssprachen können diese Informationen als Modelle dargestellt werden. Diese Modelle können auf technischer Sicht als Graph gesehen werden. Dabei wird jedes Datum durch einen Knoten und die Beziehungen zwischen ihnen durch Kanten realisiert. Dadurch, dass sich verschiedene Möglichkeiten entwickelt haben, um die selben Datenbestände zu beschreiben, sind diese Modelle auf Grund ihrer unterschiedlichen Semantik, also die Art ihre Informationen darzustellen, nicht immer miteinander vergleichbar. Um die Vergleichbarkeit dieser Daten zu realisieren, müssen diese in ein einheitliches Modell transformiert werden. Erst wenn diese Voraussetzung erfüllt werden kann, kann eine Datenintegration zwischen ursprünglich heterogenen Modellen angestrebt werden. Dies bedeutet, dass die verschiedenen Datenquellen zu einem großen Datensatz zu verarbeitet, um diese anschließend gemeinsam zu nutzen. Die Daten in relationalen Datenbanken liegen nicht in einer graphenorientierten Datenstruktur vor, sondern werden in tabellarischer Form hinterlegt. Ziel dieser Bachelorarbeit ist es zu untersuchen, ob sich die Daten einer relationalen Datenbank in ein Modell übertragen lassen, um so eine Synchronisation zwischen dem Datenbestand in einer relationalen Datenbank und den Informationen ein einem dazu passenden Modell herstellen lässt. |
10.12.2019 16:00 SE Colloquium V1 3-310 (im Flur) | |
Kimberly Hebig:
Modellierung im Selbststudium
Während der Programmierausbildung in der Fachrichtung Informatik an der Universität Oldenburg wird neben theoretischen Inhalten auch das Modellieren und Programmieren von Systemen gelehrt. Laut einer repräsentativen Umfrage unter Bachelorstudierenden wird die praktische Umsetzung der Modellierungs- und Programmierungstechniken allerdings als schwer erachtet. Den Studierenden soll daher mit Hilfe von automatisiert bewerteten Übungsaufgaben das Selbststudiums erleichtert werden. Das Projekt InnovationPlus befasst sich mit der Umsetzung dieses Ziels und entwickelt hierfür eine Lernplattform. In diesem Vortrag wird erläutert, wie die Studierenden eine Beurteilung erhalten wollen und ein Konzept erklärt, wie Aufgaben gestaltet sein müssen, damit sie automatisiert beurteilt werden können. Dazu wird ein Prototyp vorgeführt. |
26.11.2019 16:00 SE Colloquium V1 3-310 (im Flur) | |
Martin Haase:
Plattformübergreifende Entwicklung von Apps
Bei der Entwicklung einer Anwendung für Smartphones (App) ist das Ziel meistens einen großen Nutzerkreis zu erschließen. Da der Smartphonemarkt allerdings mit Android und iOS von zwei Betriebssysteme (Plattformen) mit unterschiedlichen Standards zur Entwicklung einer App dominiert wird, muss die Anwendung zum Erreichen dieses Ziels plattformübergreifend entwickelt werden. Dieses bedeutet, dass jeweils eine App für Android und eine für iOS entwickelt werden müsste. Um die Nutzung der Anwendung auch für weitere Plattformen zu ermöglichen, kann die Anwendung noch einmal für das Web als Webapp umgesetzt werden. So müssten allerdings von der Anwendung drei Apps entwickelt werden. Wenn die Apps jeweils einzeln für jede Plattform entwickelt werden müssten, würde das einen großen Aufwand darstellen. Daher stellt sich die Frage nach Lösungen, die eine effizientere Entwicklung der drei Apps ermöglichen. Um diese Frage zu beantworten, wird in dieser Arbeit ein Überblick über mögliche Lösungsansätze und deren Einsatzgebiete geboten. Am Fallbeispiel der Entwicklung einer plattformübergreifenden Anwendung, für das Kunstprojekt „Time is Fake“ des Kunsttechnikers Michael Olsen, wurde ein Lösungsansatz erfolgreich praktisch umgesetzt. |
19.11.2019 16:00 SE Colloquium V1 3-310 (im Flur) | |
Stefan Michel:
Synchronisierung verteilter Zugangsdaten mit MoConseMI
Viele Berechtigungssysteme bestehen aus mehreren verteilten Berechtigungsdateien, welche dann verschiedene Aufgaben erfüllen. Dadurch entstehen Herausforderungen, wie die Konsistenzprüfung des Systems. In der Abteilung Softwaretechnik wird ein solches Berechtigungsystem verwendet und soll als Fallbeispiel der Abschlussarbeit dienen. Die dezentrale Natur behindert die Synchronität des gesamten Systems, zum Beispiel bei Updates der Nutzernamen muss dieser in jeder Datei gesucht und verändert werden, was ineffizient und fehleranfällig ist. Um Konsistenz automatisiert sicherzustellen, wurde der MoConseMI-Ansatz gewählt. MoConseMI wurde dazu entwickelt Modelle zu synchronisieren, indem ihre (Meta-) Modelle mit Hilfe von speziellen Operatoren zu einem integriertem (Meta-) Modell vereint werden. Diese speziellen Operatoren werden dann genutzt, um alle Modelle untereinander konsistent zu halten. Mit Hilfe von MoConseMI wurden die Authentifizierungsdaten, durch Metamodellintegration und CoEvolution, zu einem integrierten Datensatz vereint. Die eigentliche Problemstellung war dabei nicht, dieses konkrete Problem zu lösen. Vielmehr war dabei zu untersuchen, ob MoConseMI ein geeignetes Mittel sein kann, diese Problemkategorie der Synchronisierung von verteilten Zugangsdaten im Allgemeinen zu lösen. Zur Validierung der Problemlösung wurden Anforderungen definiert, die für das Fallbeispiel formuliert wurden, aber auf die Problemklasse der verteilten Zugangsdaten übertragbar sind. Anhand dieser wurde evaluiert, ob MoConseMI geeignet für diese Problemklasse ist. |
29.10.2019 16:00 SE Colloquium neuland - Büro für Informatik GmbH, Konsul-Smidt-Str. 8G, 28217 Bremen | |
Jasmin Sommer:
Agilitäts-Ausprägungen in der Softwareentwicklung
Viele Unternehmen in der Softwareentwicklung arbeiten aufgrund ihrer komplexen Umwelt agil. Dabei müssen sie häufig feststellen, dass sie ihre gewünschten Vorteile nicht vollständig erreichen können. Ein möglicher Grund des Nichterreichens einzelner Vorteile liegt in der zu geringen Ausprägung der agilen Arbeitsweise. Die Arbeit baut auf der Hypothese auf, dass es vielen Unternehmen schwerfällt die Agilitätsausprägung einzelner Teams einzuschätzen und aus ihrer Arbeitsweise konkrete Handlungsbedarfe zu identifizieren. Daher wird sich innerhalb der Arbeit mit der Forschungsfrage: „Wie kann die Agilitätsausprägung einzelner Teams offengelegt werden, um konkrete Handlungsbereiche zu identifizieren?“ beschäftigt. Ziel der Arbeit ist es, eine Methodik zur Klassifikation der Agilitätsausprägung einzelner Teams aufzubauen, damit die Teams konkrete Handlungsbedarfe aufdecken und bereits erste Handlungsempfehlungen ableiten können. Um das Ziel der Arbeit zu erreichen, wurde die agile Arbeitsweise grundlegend analysiert. Zudem wurden bestehende Klassifikationen der Agilität beleuchtet, um Schwächen und Lücken aufzudecken, die die hier aufzubauende Methodik schließen soll. Aufgebaut wurde die Methodik anhand einer ausführlichen Literaturrecherche und einzelner Experteninterviews bei der neuland – Büro für Informatik GmbH, einem Softwareentwicklungsunternehmen aus Bremen. Eine Validierung der Methodik fand, durch die Einordnung verschiedener Teams, ebenfalls bei neuland statt. Zusätzlich wurde die Meinung agiler Experten zu der aufgebauten Methodik eingeholt. Als Ergebnis kann festgehalten werden, dass sich die aufgebaute Methodik zur Aufdeckung der Agilitätsausprägung verschiedener Teams von neuland eignet. Ebenfalls konnten erste Handlungsempfehlungen ausgesprochen werden. Die agilen Experten sehen in der Methodik ein großes Potenzial. |
18.09.2019 16:00 SE Colloquium V1 3-310 (im Flur) | |
Thomas Sprock:
Repository Managementsystem für Delta Language
In der Softwareentwicklung werden alle Beteiligten durch allerlei Tooling unterstützt. In der Planungsphase, in der es darum geht die Systeme inklusive der Abläufe durch UML-Diagramme zu beschreiben, können die Entwickler auf CoMo - einem Fork vom Kotelett - zur Hilfe nehmen. CoMo (Collaborative Modeling) ist eine Erweiterung des UML-Designers. Mit diesem Tool ist es möglich parallel in Echtzeit an Aktivitätsdiagramme (weitere Diagrammtypen folgen) zu arbeiten. Hinzu kommt, dass durch dieses Tool eine Versionierung der Diagramme möglich ist. Hierfür ist ein zentraler Server notwendig, der sowohl die Mikro- also auch die Makroversionierung koordiniert. Da der Client durch studentische Arbeiten stets erweitert wird und auch neue Features serverseitig gefordert werden, soll der CoMo-Server vollständig überarbeitet werden. Bei der Neuentwicklung des Servers soll darauf geachtet werden, dass dieser mindestens den gleichen Funktionsumfang wie die bestehenden zwei Server hat sowie die zuvor erwähnten Neuerungen. Um dies zu gewährleisten gilt es die bestehenden Server analysieren und in einen neuen, wartungsfreundlichen und erweiterbaren Server zu überführen. |
17.09.2019 17:00 Disputation A4 2-221 | |
Ruthbetha Kateule:
Carl von Ossietzky University
Reference Architecture for Smart Environmental Information Systems
Smart environmental information systems (SEISs) are playing a more prominent role in modern society as the utilization of SEISs has dramatically increased for effectively monitoring and controlling environmental events. This is achieved by firstly, monitoring and displaying the environmental conditions. Afterwards, the environmental conditions are analysed and manipulated with the intent of preventing or reducing the effects of various environmental phenomena, i.e. air pollution, fire, flood, road traffic congestion etc. The wireless sensor-actuator networks (WSANs) enable SEISs to monitor the environment in both non-real-time and real-time on remote and inaccessible places, diagnostics, and finally protection of further environmental severe phenomena. The intention of SEISs is not restricted to only gathering and manipulating data from various locations, but also to disseminate information required by practitioners such as researchers, planners, and policy-makers for making crucial decisions regarding the management and improvement of the environment. Although there is a high potential, the growth of SEISs is coupled with the existence of various hardware devices, extensive use of off-the-shelf components, growth of the size, various stakeholders and multiple programming languages. The inevitable complexity of such systems makes the development and maintenance of the SEISs to be difficult, time-consuming and require extensive knowledge of the domain. Dealing with such complexity can be challenging for even most experienced software engineers such as architects, developers and maintainers if start from scratch. Since, in spite of the considerable relevance and established architectural knowledge of the existing SEISs, there is a lack of a reference architecture for SEISs that supports the development of SEISs. This can be achieved by replacing the ad-hoc solutions (which focus on single-solution development) with reuse-driven and knowledge-based best practices for SEISs. A conventional method for maximizing the reusability of established knowledge and best-practices of systems that belong to a particular domain is a Reference Architecture. The reference architecture encompasses systems common sets of requirements, architecture designs, and software elements from the previous software developments mainly existing concrete software architectures that can be applied to a number of concrete systems in a particular domain. The elements of these software architectures which are being reused in the reference architecture are proven to be good. It is argued that the employment of reference architecture in SEISs would facilitate the development of SEISs by reducing the SEISs development time and efforts. Therefore, the main objective of this thesis is to propose a reference architecture for SEISs that would serve as a baseline for creating concrete SEISs. An effective approach to describe an understandable and easier maintainable software architectural description is by partitioning the software architecture into a number of separate views. Each view addresses one aspect of the architecture using a specific set of models from a specific viewpoint. Therefore this thesis proposes a required set of Viewpoints for SEISs, some of these viewpoints are adopted from Siemens view model. Essential viewpoints for SEISs include conceptual, module, execution, code, topology, and data viewpoints. Furthermore, these viewpoints have been integrated to ensure conceptual integrity and consistency in the construction of a well-integrated system. Such viewpoints are applied in the development of the reference architecture for SEISs (RefSEISs). The description of the RefSEISs follows the ISO/IEC/IEEE 42010:2011 standard for the architectural description and adopts the best practices established in the existing SEISs. Thus, the proposed RefSEISs encompasses various software artefacts and knowledge such as the sets of stakeholders, concerns, requirements and architectural designs that could be reused in the construction of concrete SEISs architectures. As proof of concept, the proposed RefSEISs is applied to several applications. First, the RefSEIS is applied in the construction of forest fire detection system as new concrete SEIS to demonstrate the applicability of the proposed RefSEISs in real scenarios and verification of the design with the requirements. Secondly, a conceptual validation is presented in which the proposed RefSEISs is used for mapping some of the existing SEISs; Forest Fire Monitoring System (IPNAS), Urban Air Quality Monitoring System, Flood Risk Assessment System and Indoor Air Quality Monitoring System. These mappings demonstrated the proposed RefSEISs provides insights into how to improve the existing SEISs since the similarities and differences of existing SEISs with respect to RefSEISs have been described. An analysis of these experiences showed that the proposed RefSEISs effectively supports the constructions of new concrete SEISs since the time and efforts required for developing and maintaining forest fire detection system have been substantially reduced. And also the mappings have demonstrated that the proposed RefSEISs can be used to compare and improve the existing SEISs by describing the similarities, differences, and how such SEISs can be improved. Results indicated that the RefSEISs has a positive influence in achieving the requirements of SEISs. This RefSEIS presents, therefore, good perspectives to be adopted and contribute to the development and maintenance of SEISs. |
03.09.2019 17:00 SE Colloquium V1 3-310 (im Flur) | |
Pascal Säfken:
Transformation von Excel-Tabellen in EMF-Modelle
Microsoft Excel ist ein sehr weit verbreitetes Tabellenkalkulationsprogramm, mit dem Daten auf unterschiedlicher Weise bearbeitet werden können. Zum Vergleichen, Zusammenzuführen oder Integrieren der Daten von Excel-Tabellen, gibt es jedoch keine Möglichkeiten. Ein Problem hierbei ist, dass der Aufbau von Excel-Tabellen nicht explizit definiert ist. Um dieses Problem zu lösen, sollen Excel-Tabellen als Modell dargestellt werden, wobei die Erstellung eines Meta-Modells als explizite Definition für den Aufbau einer Excel-Tabelle dient. Hierbei wird das Eclipse Modeling Framework (EMF) zur Arbeit mit Modellen genutzt. Das Ziel dieser Arbeit liegt somit darin, herauszufinden, inwiefern die Transformation von Excel-Tabellen in EMF-Modelle möglich ist. Das heißt, dass herausgefunden werden soll, welche Probleme bei der Transformation auftreten können und ob es dabei zu Verlusten von Daten und von Funktionalitäten der Excel-Tabellen kommen kann. Dazu wird ein Konzept für die Transformation inklusive des benötigten Meta-Modells erstellt und zur Validierung dieses Konzeptes wird ein entsprechender Transformator implementiert. |
03.09.2019 16:00 SE Colloquium V1 3-310 (im Flur) | |
Christian Blank:
Agile Anforderungserhebung in der Softwareentwicklung
Die klassische Anforderungserhebung ist seit Jahrzehnten ein fester Bestandteil in der klassischen Softwareentwicklung. Das vollständige Definieren von Anforderungen, vor Beginn der Umsetzung, dient zu Unterstützung, dass Projekte nicht kostenintensiver werden, als nötig. Dem gegenüber steht der populäre Ansatz der agilen Softwareentwicklung. Insbesondere durch die hohe Flexibilität, in der Anpassungsfähigkeit der Anforderungen, ist dieser Ansatz so beliebt. In der agilen Softwareentwicklung haben sich unterschiedliche Vorgehensmodelle etabliert. Scrum, als das verbreitetste unter den agilen Vorgehensmodellen, wird in dieser Arbeit als Basis für die agile Anforderungserhebung betrachtet. Sowohl die klassische Anforderungserhebung als auch die Anforderungserhebung in Scrum, weisen unterschiedliche Stärken und Schwächen auf. Daher stellt sich die Frage, wie sich, durch eine Kombination beider Ansätze die jeweiligen Schwächen auflösen lassen. Um diese Frage zu beantworten, wird zunächst ein Überblick über die klassische und agile Softwareentwicklung, mit Fokus auf die dort enthaltenen Anforderungserhebung, geschaffen. Über eine Auflistung der Defizite, soll eine mögliche Kombination der beiden Ansätze erarbeitet werden. Diese Kombination wird in Scrum, in Form einer Integration in Jira, erarbeitet. Hierbei wird insbesondere der Prozess ausgehend von einer Anforderung in Form einer User Story hin zu den in Scrum benötigten Tasks untersucht. |
07.08.2019 09:00 SE Colloquium A3 2-209 | |
Martin Haase:
Plattformübergreifende Entwicklung von Apps für Android, iOS und Web
Bei der Entwicklung einer Anwendung für Smartphones (App) ist das Ziel meistens einen großen Nutzerkreis zu erschließen. Da es auf dem Smartphonemarkt allerdings mit Android und iOS zwei weit verbreitete Betriebssysteme (Plattformen) mit unterschiedlichen Standards zur Entwicklung einer App gibt, muss die Anwendung plattformübergreifend entwickelt werden. Dies bedeutet, dass jeweils eine App für Android und eine für iOS entwickelt werden muss. Um die Nutzung der App auch für weiteren Plattformen zu ermöglichen, kann die Anwendung noch einmal für das Web als Webapp umgesetzt werden. So müssten aber am Ende von der Anwendung drei Apps entwickelt werden. Wenn die Apps jeweils einzeln für jede Plattform entwickelt werden müssten, würde das einen großen Aufwand bedeuten. Daher stellt sich die Frage nach Lösungen, die eine effizientere Entwicklung der drei Apps ermöglichen. Um diese Frage zu beantworten, soll in dieser Arbeit ein Überblick über mögliche Lösungsarten und deren Einsatzgebiete geboten werden. Am Fallbeispiel der Entwicklung einer plattformübergreifenden Anwendung, für das Kunstprojekt „Time is Fake“ des Kunsttechnikers Michael Olsen, soll dann eine Lösungsart praktisch umgesetzt werden. |
18.07.2019 18:00 SE Colloquium A2 2-219 | |
Florian Brandt:
Automatische Extraktion von Ontologien aus Wikipedia
Wissen existiert oft nur in einer für den Menschen lesbaren Form, zum Beispiel als Text auf einer Webseite oder in einem Buch. Formale Ontologien hingegen ermöglichen es, Wissen über eine Domäne in einer maschinenlesbaren Form zu modellieren. Dieses kann bestehende Daten um eine Semantik erweitern oder mit formalen Methoden ausgewertet werden. Umfassende Ontologien werden vorwiegend unter großem Arbeitsaufwand von Wissenschaftlern und Ingenieuren erstellt, deshalb ist es relevant, diesen Prozess zu automatisieren. Wikis wie Wikipedia können als Grundlage für eine Ontologie dienen, da die gesammelten Informationen frei verfügbar sind und kontinuierlich aktualisiert werden. Allerdings ist die dieser Wikis für den Menschen ausgelegt und stellt damit einige Herausforderungen an eine automatische Verarbeitung. Im Rahmen dieser Bachelorarbeit wurde ein Verfahren entwickelt, mit dem bestehende Wikis automatisch ausgewertet und in eine Ontologie überführt werden können. Dabei sollte es möglich sein, unterschiedliche Verfahren in diesen Prozess zu integrieren, um die Nutzbarkeit der vorhandenen Informationen zu verbessern und somit die resultierende Ontologie für den jeweiligen Verwendungszweck anzupassen. Dieses allgemeine Verfahren wurde in einem Framework realisiert um anschließend als konkretes Anwendungsbeispiel die Extraktion von Ontologien aus Wikipedia zu ermöglichen. |
18.07.2019 17:00 SE Colloquium A2 2-219 | |
Kimberly Hebig:
Modellierung im Selbststudium
|
09.07.2019 17:00 SE Colloquium A2 2-219 | |
Stephan Michel:
Synchronisierung verteilter Zugangsdaten mit MoConseMI
Viele Berechtigungssysteme bestehen aus mehreren verteilten Berechtigungsdateien, welche dann verschiedene Aufgaben erfüllen. Dadurch entstehen Herausforderungen, wie die Konsistenzprüfung des Systems. Anwendungsfelder solcher Berechtigungssysteme sind weit: Banken, Social Media oder Unternehmensintern. In der Abteilung Softwaretechnik wird ein solches Berechtigungsystem verwendet und soll als Fallbeispiel der Abschlussarbeit dienen. Die dezentrale Natur behindert die Synchronität des gesamten Systems, zum Beispiel bei Updates der Nutzernamen muss dieser in jeder Datei gesucht und verändert werden, was ineffizient und fehleranfällig ist. Um Konsistenz automatisiert sicherzustellen, wird der MoConseMI-Ansatz gewählt. MoConseMI wurde dazu entwickelt Modelle zu synchronisieren, indem ihre (Meta-) Modelle mit Hilfe von speziellen Operatoren zu einem integriertem (Meta-) Modell vereint werden. Diese speziellen Operatoren werden dann genutzt, um alle Modelle untereinander konsistent zu halten. Mit Hilfe von MoConseMI sollen die Authentifizierungsdaten, durch Metamodellintegration und CoEvolution, zu einem integrierten Datensatz vereint werden. Die eigentliche Problemstellung ist dabei nicht, dieses konkrete Problem einer gemeinsamen Keychain zu lösen. Vielmehr ist dabei zu untersuchen, ob MoConseMI ein geeignetes Mittel sein kann, diese Problemkategorie der Synchronisierung von verteilten Zugangsdaten im Allgemeinen zu lösen. Diese Arbeit dient als Leitfaden für die Problemlösung und soll die gesammelten Erfahrungen wiedergeben. Zur Validierung der Problemlösung werden Probleme definiert, die für das Fallbeispiel formuliert werden, aber auf die Problemklasse der verteilten Zugangsdaten übertragbar sind. Anhand dieser soll evaluiert werden, ob MoConseMI geeignet für diese Problemklasse ist. |
09.07.2019 16:00 SE Colloquium A2 2-219 | |
Carina Ressmann:
Domain-spezifische Entwicklungssprachen für Internet of Things
In vielen Bereichen der Informatik ist relativ klar, welche Sprachen zum Programmieren und Modellieren verwendet werden, um bestimmte Probleme zu lösen. Im Vergleich dazu gibt es nur wenige Daten darüber, welche Entwicklungssprachen im Internet of Things verwendet werden, insbesondere welche Sprachen für welche Probleme geeignet sind. So ist in der Arbeit ein Katalog entstanden, der die domain-spezifischen Sprachen im Bereich Internet of Things darstellt und mit entwickelten Anforderungen vergleicht. Um dies erstellen zu können wurden zunächst Anforderungen entwickelt. Auch sind verschiedene Zwecke entstanden, mit denen die Sprachen verglichen werden können. |
02.07.2019 08:30 SE Colloquium A5 1-160 | |
Jan Jelschen (itemis AG):
Gastvorlesung: Software Engineering in the Wild
Im Rahmen der Vorlesung "Softwaretechnik II" hält Jan Jelschen von der itemis AG einen Gastvortrag zum Thema "Software Engineering in the Wild". |
04.06.2019 17:00 SE Colloquium A2 2-219 | |
Jasmin Sommer:
Agilitäts-Grade in der Softwareentwicklung
Die Agilität ist in aller Munde und so gut wie jedes Unternehmen in der Softwareentwicklung arbeitet „agil“. Die Vorteile der agilen Vorgehensweise, wie eine höhere Produktivität und geringe Time to Market sind dabei vielversprechend. Dennoch erzielen viele Unternehmen die erhofften Vorteile nicht. Das liegt unter anderem daran, dass viele Unternehmen sich agiler einschätzen, als sie wirklich sind. An dieser Problematik soll die Masterarbeit ansetzen. Dazu soll ein Raster zur Klassifikation der Agilität aufgebaut werden. Innerhalb des Rasters sollen Schwächen und Lücken der bereits in der Literatur auffindbaren Klassifikationen der Agilität aufbereitet und geschlossen werden. Agile Werte, Prinzipien und Praktiken sollen miteinander verbunden werden. Durch das Raster soll es Unternehmen möglich werden eine bessere Einschätzung der agilen Arbeitsweise vorzunehmen und so zu erkennen, warum möglicherweise die erhofften Vorteile nicht erreicht wurden. Das Raster zur Klassifikation der Agilität wird auf Basis der neuland – Büro für Informatik GmbH entwickelt und validiert. neuland eignet sich als mittelständisches Softwareunternehmen mit vielen agilen Teams, als Basis eines solchen Rasters, durch jahrelange Erfahrungen in der agilen Vorgehensweise. |
04.06.2019 16:00 SE Colloquium A2 2-219 | |
Marc Grimpo:
Kollaborative Modellierung von Zustandsdiagrammen in Echtzeit
Im Rahmen professioneller Softwareentwicklung werden UML Diagramme erstellt, die häufigen Änderungen ausgesetzt sind. Um eine reibungslose Zusammenarbeit zwischen den an den Diagrammen interessierten Stakeholdern zu gewährleisten, ist es wünschenswert, dass alle von ihnen über Änderungen an Diagrammen zeitnah informiert werden. Für die kollaborative Entwicklung von Quellcode werden zum Lösen dieses Problems Versionskontrollsysteme wie Git und Subversion eingesetzt. Da diese für Quellcode entwickelten Werkzeuge sich nicht für die Verwaltung von Modellen wie UML Diagrammen eignen, wird an Alternativen geforscht. Im Zentrum der Forschung steht hierbei die Frage nach geeigneten Model Difference Representation Ansätzen. Der Difference Language (DL) Ansatz ist ein solcher Ansatz, der auf beliebige Modelle anwendbar ist und der durch seine mitgelieferten Difference Language Services die Anwendung auf konkrete Probleme und existierende Modellierungswerkzeuge erleichtern möchte. In dieser Bachelorarbeit soll die Anwendbarkeit des DL Ansatzes validiert werden, indem die Difference Language Services mit dem Editor für UML Zustandsdiagramme des Modellierungswerkzeugs UML Designer integriert werden. Durch diese Integration von UML Designer und DL wird ein Werkzeug für die kollaborative Bearbeitung von UML Zustandsdiagrammen erstellt. Hierbei wird auf vorhergehende Arbeit in diesem Bereich, insbesondere die CoMo-Anwendung, zurückgegriffen. |
04.06.2019 10:30 A3 2-209 | |
Inter-Model Consistency Preservation
In multi-perspective software development, several perspectives exist that present different views on the developed artefacts like sourcecode, architecture descriptions, requirements, and test cases. Because there is a lot of overlapping information between perspectives and some perspectives contain additional implicit relationships between each other, there is a strong need to keep the data of different perspectives consistent. As an example, architecture descriptions like UML component and class diagrams represent important aspects of the sourcecode, which results in the need for synchronizing diagrams and sourcecode. In software engineering projects, the data of each perspective are represented by a model conforming to a metamodel. To solve this model consistency problem, there exist two general approaches: Synthetic approaches manually create pairwise transformations to synchronize models of different perspectives. Projectional approaches rely on an integrated metamodel (called Single Underlying MetaModel, SUMM), which describes the current domain consisting of the metamodels of all the single perspectives. The models of each single perspective are projected from the Single Underlying Model (SUM) and allow for changing the SUM. In this way, the SUM ensures the consistency between the single models for the different perspectives. This thesis follows the projectional SUMM approach, because SUMMs reduce duplicated data and synchronization effort and serve as single point-of-truth regarding consistency. Another advantage of SUMMs is their possibility to retrieve additional information like traceability data which cannot be represented in single metamodels, only. Furthermore, existing modeling techniques like model transformation languages, model versioning, and constraints benefit from SUMMs, because, in general, these techniques support only one metamodel (the SUMM) and not several ones (the single metamodels). Since the metamodels of the perspectives are often predefined by existing tools and domain-specific languages, they have to be reused in the SUMM. Additionally, models for the perspectives often already exist in ongoing projects or legacy data and have to be reused in the SUM. This PhD thesis aims at developing and validating a method for integrating already existing single metamodels and models into one SUMM and SUM with the goal to keep the corresponding single models consistent. Technically, the targeted integration and consistency preservation are realized by special and reusable operators, which transform metamodels and models step-by-step at the same time. The developed and implemented approach to keep related models consistent to each other will be validated in the domains object oriented-software development and sensor-based environmental information systems. |
21.05.2019 16:00 SE Colloquium A2 2-219 | |
Tino Hoffmann, Marvin Menke:
Optimierung eines Entwicklungsprozesses
Die präsentierte Arbeit bewegt sich im Spannungsfeld zwischen klassischen und agilen Vorgehensmodellen. Wobei in dem untersuchten Projekt der klassische Ansatz vorliegt. Es umfasst die Weiterentwicklung und Wartung einer Onlinevertriebsplattform für Gebrauchtwagen, mit allen Geschäftsprozessen, die dafür benötigt werden. Das grundlegende Vorgehensmodell im Projekt ist das Wasserfallmodell, was Einfluss auf die personelle Besetzung und den organisatorischen Projektablauf hat. Derzeit kommt es im Projekt häufig zu Terminüberschreitungen in den frühen Phasen des Entwicklungsprozesses. Dies führt in einem Vorgehensmodell, wie dem Wasserfallmodell, zwangsläufig zu Engpässen bei den nachfolgenden Phasen, sowie den damit verknüpften Aufgaben. Die internen Strukturen sind teilweise unklar und unverständlich. Dementsprechend ist das Arbeiten sehr individuell mit durchaus unterschiedlichen Ergebnissen, was gerade in diesem Projekt vermehrt zu Diskussionen führt. Der Eindruck des Arbeitsumfeld lässt den Schluss zu, dass es an klar dokumentierten und strukturierten Arbeitsabläufen fehlt, welche durch eine kontinuierlichen Verbesserungsprozess weiterentwickelt werden. Die Masterarbeit hat das Ziel, unter Berücksichtigung der bestehenden Rahmenbedingungen und Herausforderungen, mit optimierten Prozessen und standardisierten Tools zu einer Verbesserung des Entwicklungsprozesses und messbaren Projektergebnissen beizutragen. |
30.04.2019 08:30 SE Colloquium A5 1-160 | |
Andreas Freese (BTC AG):
Gastvorlesung: Agilität in der Praxis
Im Rahmen der Vorlesung "Softwaretechnik II" hält Andreas Freese von der BTC AG einen Gastvortrag zum Thema "Agilität in der Praxis". Dabei berichtet er aus der Praxis im Projektalltag von BTC vom praktischen Einsatz von Scrum und geht dabei auch auf agile Aufwandsschätzung und die Zusammenarbeit mehrerer Teams ein. |
09.04.2019 16:00 SE Colloquium A2 2-219 | |
Janusz Piotrowski:
ISO/IEC/IEEE 42010 und die Anwendung auf softwareintensive Systeme
Das Ziel der Bachelorarbeit war es die Anwendbarkeit des Architekturstandards ISO/IEC/IEEE 42010 auf drei Ausprägungen softwareintensiver Systeme zu überprüfen. Der Standard ISO/IEC/IEEE 42010 (nachfolgend Standard 42010) dient zur Erstellung von Architekturbeschreibungen und damit zur Standardisierung von Architekturen der Informatik. Diese Standardisierung ist wichtig, um eine Grundlage für die Kommunikation über Architekturen in der Informatik zu schaffen. Der Standard 42010 stellt ein konzeptuelles Modell zur Verfügung mit welchem eine jede Architektur eines Systemes standardisiert werden soll. Dieses konzeptuelle Modell kann als ein Abbild oder Schema bezeichnet werden, welches die Komponenten, welche Architekturbeschreibungen besitzen, abbildet und Zusammenhänge aufzeigt. Der Standard 42010 baut auf dem Standard IEEE 1471 auf, welcher grundlegend für die Erstellung von Architekturbeschreibungen von Softwaresystemen gedacht war. Deswegen wurden auch die Unterschiede des Standards 42010 gegenüber dem IEEE 1471 herausgearbeitet. Die Architekturen in der Informatik umfassen jedoch viele weitere Architekturen, als nur die Softwarearchitekturen. Als Beispiele seien hier Enterprisearchitekturen oder Architekturen von IoT-Systemen genannt. Für jede Ausprägung gibt es etablierte Schemata zur Erstellung dieser Systeme beziehungsweise derer Architekturen. Auf Grundlage dieser Schemata wurde die Anwendbarkeit des Standards 42010 auf die Enterprisearchitekturen, Softwarearchitekturen und Architekturen von IoT-Systemen gezeigt. Zusätzlich wurden diese Schemata auch auf die vom Standard 42010 gestellten Anforderungen überprüft. Des Weiteren wurde Kritik am Standard 42010 und mögliche Verbesserungsvorschläge für diesen formuliert. |
02.04.2019 16:00 SE Colloquium A2 2-219 | |
Sebastian Rutter:
Ein Framework zum Autolayouting von Graphen
Ein Graph muss ansprechend und strukturiert dargestellt werden, damit er hilfreich für die Repräsentation von Informationen ist. Dazu wird ein gutes Layout benötigt, das dabei hilft, den Graphen lesbar zu gestalten. Wenn der Graph später manuell verwendet werden soll, um Personen den Sachverhalt anschaulich zu präsentieren, wird dies durch einen unlesbaren Graphen beeinträchtigt. Einen Graphen manuell zu layouten kann vor allem bei sehr großen Graphen zeitaufwändig sein. Viele Softwareprojekte haben mehrere Tausend Klassen, manche sogar Millionen, die in Diagrammen abgebildet werden. Außerdem verändern sich Projekte im Laufe der Zeit, was wiederum eine Anpassung der Diagramme notwendig macht. Dieser Vorgang sollte deswegen automatisiert werden, um Zeit zu sparen. Ein manuell gezeichnetes Ergebnis wird zwar meistens qualitativ besser sein, dafür ist automatisches Layouten erheblich schneller und sollte ein akzeptables Ergebnis liefern. Es gibt unzählige verschiedene Graphen, von denen jeder eigene Kriterien zur Darstellung beinhaltet. Die meisten Graphen haben unterschiedliche Knoten und Kanten. Manche benötigen eine Beschriftung der Kanten, andere haben komplexe Inhalte in den Knoten. Kurz gesagt, es ist so gut wie unmöglich, ein einzelnes Verfahren zu entwickeln, das auf alle Graphen Arten anwendbar ist. Deswegen wird hier eine erweiterbare Lösung gebraucht, ein Framework. |
26.03.2019 16:00 SE Colloquium A2 2-219 | |
Christian Spalding:
Verwaltung von Abschlussarbeiten
In jedem Semester an der Carl von Ossietzky Universität in Oldenburg schreiben zahlreiche Informatikstudenten eine Abschlussarbeit, einige davon in der Abteilung Softwaretechnik. Beim Betreuen von Abschlussarbeiten handelt es sich um einen komplexen Prozess, der ausführlich geplant und dokumentiert werden muss. Ziel dieser Arbeit ist es, den Verwaltungsvorgang der Arbeitsbetreuung in der Abteilung Softwaretechnik als klar definierten Geschäftsprozess darzustellen. Basierend auf dem Geschäftsprozess wird eine webbasierte Anwendung zur Prozessunterstützung konzipiert und entwickelt. |
05.03.2019 16:00 SE Colloquium A2 2-219 | |
Giorgi Kartvelishvili:
Inkrementelles Parsen von Java-Code
Der Java-Quellcode muss in einen abstrakten Syntaxgraphen überführt werden, um effektivere Arbeit auf dem Quellcode zu ermöglichen. Da moderne Softwaresysteme immer komplexer und umfangreicher werden, ist das ständige Neuparsen des abstrakten Syntaxgraphen zeit- und rechenintensiv. Es ist daher lohnenswert, möglichst große Teile des bestehenden abstrakten Syntaxgraphen beizubehalten und die nur tatsächlich von einer Änderung betroffenen Teile neu zu parsen und diese anschließend mit dem abstrakten Syntaxgraphen zusammenzuführen. Diese Arbeit verwendet einen Parser, der im Rahmen einer Bachelorarbeit „A Framework for Abstract Semantic Graphs“ von Meyer im Jahr 2016 bereitgestellt wurde. Dieser Parser ermöglicht es, den Java-Code in einen abstrakten Syntaxgraphen zu überführen. Ziel dieser Arbeit ist es, den Prozess des Parsens zu beschleunigen, dessen Lösungsansatz die Bereitstellung eines inkrementellen Parsers ist. |
26.02.2019 17:00 SE Colloquium A2 2-219 | |
Behailu Getachew Wolde:
Intelligent Test Coverage Approach For Testing The Cloud
Recently, cloud computing becomes flourishing to fill the growing demands of resources in the market. Meantime, the cloud system realizes a set of technologies, practices, and options used to abstract its service provisioning from the underlying implementations. Such system offers a lot of services for end users. These services are arranged in a cascading manner with layers from top to bottom. Functionality (i.e., application) to use as the top, non-functionality (i.e., service level agreements (SLAs)) to implement as the middle and infrastructure to execute as the bottom as a result of this layering. On the one hand, the service distinction with layers enables them very easy with outsourcing each independently. They create an opportunity to pose a challenge for quality assurance on another hand. Quality assurance is a way of guaranteeing software service from the failures. One way of assuring this service is testing. However, tester knows only service interface while the implementation and the infrastructure is decoupled and remained hidden. As a result, testing becomes difficult for regular testing procedures as is not done directly using the source codes. This work proposes an optimal test coverage approach based on black box implementations using the interface provided for testing the cloud. This approach adopts the data points of the service feature based on behavior driven approach. During adapting the service behavior, the feature characterization based on the service data structure, input domain and feature model are introduced. Based on this model, a test case is generated. Then, the optimization methods are followed to optimize the test data. Finally, a data-driven testing is performed to instantiate the test cases. As validation and evaluation, sample NEMo mobility API specification is used, which is a System Under Test (SUT). |
26.02.2019 16:00 SE Colloquium A2 2-219 | |
Florian Brandt:
Automatische Extraktion von Ontologien aus Wikipedia
Wissen existiert oft nur in einer für den Menschen lesbaren Form, zum Beispiel als Text auf einer Webseite oder in einem Buch. Formale Ontologien hingegen ermöglichen es, Wissen über eine Domäne in einer maschinenlesbaren Form zu modellieren. Dieses kann bestehende Daten um eine Semantik erweitern oder mit formalen Methoden ausgewertet werden. Umfassende Ontologien werden vorwiegend unter großem Arbeitsaufwand von Wissenschaftlern und Ingenieuren erstellt, deshalb ist es relevant, diesen Prozess zu automatisieren. Wikipedia kann als Grundlage für eine Ontologie dienen, da die gesammelten Informationen frei verfügbar sind und kontinuierlich aktualisiert werden. Allerdings ist die Struktur von Wikipedia für den Menschen ausgelegt und stellt damit einige Herausforderungen an eine automatische Verarbeitung. Im Rahmen dieser Bachelorarbeit wird ein Framework entwickelt, mit dem Abzüge der Wikipedia-Datenbank ausgewertet und in eine Ontologie überführt werden können. Dabei soll es möglich sein, unterschiedliche Algorithmen in den Prozess einzubinden, um die Nutzbarkeit der vorhandenen Informationen zu verbessern. Als Anwendungsbeispiel wird ein Algorithmus implementiert, der relevante Kategorien von Seiten identifiziert und irrelevante oder falsche entfernt. |
19.02.2019 17:00 SE Colloquium A2 2-219 | |
Gerrit Schöne:
Sensor Fusion in Smart Cities
Die Wichtigkeit von Smart Cities und der darin bestehenden Prozesse und Dienste steigt mit der immer steigenden Anzahl von Einwohnern und Wohnfläche, welche im großen Konflikt zu der limitierten Anzahl an Ressourcen steht, welche eine einzelne Stadt bieten kann. Diese Wichtigkeit wird unter anderem vom Klimaziel „2020 climate & energy package“ der Europäischen Union unterstrichen. Um dieser steigenden Wichtigkeit nachzukommen müssen Dienste im Kontext von Smart Cities immer größer werdende Datenmengen verarbeiten und eine nahezu perfekte Leistung vollbringen. Ein Lösungsansatz, um die geforderte Leistung zu garantieren, ist das Integrieren von Sensor Fusion Methoden in eine Smart City Referenzarchitektur. |
12.02.2019 17:00 SE Colloquium A2 2-219 | |
Johannes Meier:
Single Underlying Models for Projectional, Multi-View Environments
Multi-view environments provide different views of software systems optimized for different stakeholders. One way of ensuring consistency of overlapping and inter-dependent information contained in such views is to project them “on demand” from a Single Underlying Model (SUM). However, there are various ways of building and evolving such SUMs. This paper presents criteria to distinguish them, describes three archetypical approaches for building SUMs, and analyzes their advantages and disadvantages. From these criteria, guidelines for choosing which approach to use in specific application areas are derived. |
12.02.2019 16:00 SE Colloquium A2 2-219 | |
Muzaffar Artikov:
Vision on MDE-based development and maintenance of IoT systems
Internet of things is one of the fast evolving domains that encompass hardware, software, and network technologies. Most of the challenges in IoT development and maintenance caused by the lack of standardization and heterogeneous nature of its components. Model-driven engineering considered as one of the effective methodologies to meet IoT development and maintenance challenges. In the scope of the presentation, some of the IoT development and maintenance challenges will be discussed and would be proposed some MDE-based ideas to meet these challenges. |
11.02.2019 13:15 Disputation A4 2-221 | |
Dilshod Kuryazov:
Carl von Ossietzky University
Model Difference Representation
As a software engineering paradigm, Model-Driven Software Engineering (MDSE) is the modern day style of software development which supports well-suited abstraction concepts to software development activities. Software models (e.g., in UML) are the key artifacts in MDSE activities. Like the source code of software systems, software models are constantly changed during their development and evolutionary life-cycle. Over time, models become large and complex raising a need for collaborative modeling of several developers, designers and stakeholders (i.e., collaborators) on shared models. In collaborative modeling, modeling deltas are the first-class entities and play an essential role in storing, exchanging and synchronizing the changes between the subsequent and parallel revisions of evolving models. Thus, the efficient representation of changes in modeling deltas is crucial and a challenge. This talk presents a Difference Language (DL) to the problem of model difference presentation in collaborative modeling. The proposed DL is meta-model generic, operation-based, modeling tool generic, reusable, applicable, and extensible. Associated technical support further focuses on providing a catalog of supplementary services which allow for reusing and exploiting DL-based modeling deltas. As the proof of the concept, the approach is applied to several applications areas such as concurrent collaborative modeling, sequential collaborative modeling and model history analysis applications. |
29.01.2019 16:00 SE Colloquium A2 2-219 | |
Henrik Hillmer:
Analyse von Referenzmodellen - Definition, Anwendung und Qualität
Der Begriff Referenzmodell wird in vielen Branchen bzw. wissenschaftlichen Disziplinen verwendet, wie z.B. der Wirtschaft, Wirtschaftsinformatik und Softwaretechnik. Jedoch gibt es selbst innerhalb der einzelnen Disziplinen keine einheitliche Definition des Begriffs Referenzmodell. Neben der Frage, was ein Referenzmodell ist, stellt sich auch die Frage wie es gewinnbringend eingesetzt wird und wie ein qualitativ hochwertiges Referenzmodell aussieht. Diese Arbeit hat sich mit diesen Fragestellungen auseinandergesetzt. Es wurde eine allgemeine Definition erarbeitet, derzeitige Anwendungsfelder beleuchtet und Qualitätskriterien erarbeitet und angewendet. |
2018
04.12.2018 16:00 SE Colloquium A2 2-219 | |
Muzaffar Artikov:
Multi-view Approach for IoT Development
Internet of things (IoT) is a nascent technology and one of the fast evolving industries in the world. In the framework of IoT, more and more devices are equipped with network connectivity to autonomously provide "smarter" services, forming the Internet of Things. With the expansion of the IoT industry, the development of IoT is becoming increasingly actual. Various concepts are being developed to simplify and structuring various aspects of IoT systems, but the one complex and integrated solution for the development process is still remaining as an unsolved task. In the scope of presentation would be discussed some challenges of IoT development, and would be presented some initial ideas on resolving this challenges using Model-driven Engineering methodology. |
27.11.2018 16:00 SE Colloquium A2 2-219 | |
Behailu Getachew Wolde:
BB2T2CA: Interface Based Coverage Approach For Testing The Cloud
Recently, cloud computing becomes flourishing to fill the growing demands of resources in the market. Meantime, the cloud system realizes a set of technologies, practices, and options used to abstract its service provisioning from the underlying implementations. Such system offers a lot of services for end users. These services are arranged in a cascading manner with layers from top to bottom. Functionality (i.e., application) to use as the top, non-functionality (i.e., service level agreements (SLAs)) to implement as the middle and infrastructure to execute as the bottom as a result of this layering. On the one hand, the service distinction with layers enables them very easy with outsourcing each independently. They create an opportunity to pose a challenge for quality assurance on another hand. Quality assurance is a way of guaranteeing software service from the failures. One way of assuring this service is testing. However, tester knows only service interface while the implementation and the infrastructure is decoupled and remains hidden. As a result, testing becomes difficult for regular testing procedures as is not done directly using the source codes. This work proposes a coverage approach based on black box implementations using the interface provided for testing the cloud,i.e., BB2T2CA. BB2T2CA descriptions use the service interface to compute the functional size, complexity and quality metrics based on standards of ISO/IEC 20926:2009 and IEEE/IEC 25010. This approach adopts the size method to describe the functional specification and analysis in multiple views of analysis, specification, interface, and action model. Based on these views, designing of test architecture, conceptual and concrete test sequence are defined. BB2T2CA uses the test sequence as an input for the model to introduce a test model which generates test data. Then, optimizing these test data with a range of classes using black box approaches are made. As validation and evaluation, sample four NEMo mobility instance test requests are used to implement the optimized test case specifications and execute these instances on NEMo mobility platform, which is a System Under Test of the Cloud (SUTC). |
20.11.2018 16:00 SE Colloquium A02 2-219 | |
Ruthbetha Kateule:
Reference Architecture for Sensor Based Environmental Information System (RefSEISs)
With the recent advancements in information and communication technologies (ICTs), the use of sensor based environmental information systems (SEISs) has dramatically increased for effective monitoring and controlling of environmental events. Such systems include road traffic congestion, air pollution, forest fire, landslides, and flood detection systems. SEISs require the use of various hardware platforms, extensive use of off-the-shelf components and multiple programming languages. SEISs are associated with little experience in the fields and inadequate abstractions, and to the best of our knowledge, a reference architecture for SEISs domain is missing. As a consequence, SEISs are built from scratch which consumes more time and efforts in minimizing functional complexity. All these issues make the development and maintenance of SEISs to be more difficult and challenging. Therefore, this research proposes a reference architecture for sensor based environmental information systems (RefSEISs) that would serve as a blueprint and starting point for creating SEISs. The description of this RefSEISs and its derived instances are based on ISO/IEC 42010:2007 Recommended Practice for Architectural Description of Software-Intensive Systems. The proposed RefSEISs adopts Siemens view model to establish the required architectural viewpoints and a Unified Modeling Language (UML) for designing architectural viewpoints and views.The proposed RefSEISs cater to diverse stakeholders, technologies, platforms and devices. The applicability of the proposed RefSEISs i is demonstrated through instantiation to the concrete architecture of real scenarios mainly forest fire detection system and mapping to the existing SEISs. |
06.11.2018 16:00 SE Colloquium A2 2-219 | |
Nancy Kramer:
Schulung: Erstellung einer DSL mit EMF, Sirius und Xtext
Modellgetriebener Softwareentwicklung ist heutzutage eine immer größer werdende Bedeutung zuzuschreiben. Während die Programmierung nur den einen Teil des Software-Engineerings darstellt, ist die Modellierung ein weiterer wichtiger Teil. Die Modellierung ist nicht nur ein Abschnitt in der Entwicklung, sondern zieht sich querschneidend durch den gesamten Prozess. Sprachen wie zum Beispiel UML (Unified Modeling Language) stellen verschiedene Sprachmittel zur Verfügung, um eine ausführliche Dokumentation und Architektur eines Softwaresystems, sowie Systemspezikation durch Modelle zu schaffen. Dennnoch reichen diese Sprachmittel oftmals nicht aus um gegebene Sachverhalte perfekt abzubilden, sodass eine eigene Domänenspezifische Sprache entwickelt werden muss. Diese kann entweder textuell oder grafisch dargestellt werden. Tools, wie zum Beispiel EMF bieten durch die Einbindung von Sirius und Xtext beide Formen der DSL-Entwicklung an. Dennoch stellt sich hier das Problem der unzureichenden Dokumentation und der fehlenden Tutorials zur Verwendung dieser Tools. In dieser Masterarbeit soll eine Schulung entwickelt werden, wie so eine Domänenspezifische Sprache in der Theorie entwickelt und mit den Tools EMF, Sirius und Xtext umgesetzt werden kann. |
02.11.2018 14:00 SE Colloquium A2 2-219 | |
Giorgi Kartvelishvili:
Inkrementelles Parsen von Java-Code
Der Java-Quellcode muss in einen abstrakten Syntaxgraphen überführt werden, um effektivere Arbeit auf dem Quellcode zu ermöglichen. Da moderne Softwaresysteme immer komplexer und umfangreicher werden, ist das ständige Neuparsen des abstrakten Syntaxgraphen zeit- und rechenintensiv und in manchen Fällen ist es sogar unmöglich, sehr umfangreichen Quellcode neu zu parsen. Es ist daher lohnenswert, möglichst große Teile des bestehenden abstrakten Syntaxgraphen beizubehalten und die nur tatsächlich von einer Änderung betroffenen Teile neu zu parsen und diese anschließend mit dem abstrakten Syntaxgraphen zusammenzuführen. Diese Arbeit verwendet einen Parser, der im Rahmen einer Bachelorarbeit (Aljoscha Meyer, 2016: A Frame- work for Abstract Semantic Graphs) bereitgestellt wurde. Dieser Parser ermöglicht es, Java-Code in einen abstrakten Syntaxgraphen zu überführen. Ziel dieser Arbeit ist es, Prozess des Parsens zu beschleunigen, dessen Lösungsansatz Bereitstellung eines inkrementellen Parsers ist. |
30.10.2018 13:00 SE Colloquium A2 2-219 | |
Johannes Jakel:
Analysen von Metadaten agiler Projekte
Agile Vorgehensmodelle gewannen in den letzten Jahren immer mehr an Bedeutung und sind heute die meist verwendete Variante zur Softwareentwicklung. Dabei wird eine Vielzahl von Metadaten erzeugt, die für Analysen verwendet werden können, wie z.B. wie die Metadaten der Tickets oder Commits eines Projekts. Dennoch steht nicht fest, welche Analysen anhand der Metadaten ermöglicht werden und welche Daten überhaupt in einem agilen Projekt vorliegen. Daher stellt sich die Forschungsfrage, welche Analysen anhand der Metadaten möglich sind und welche Datengrundlage hierzu geboten wird. Um diese Frage zu beantworten, wurden Interviews mit Mitarbeitern der iteratec GmbH durchgeführt. Anhand dessen wurden gewollte Analysen zu den Metadaten erhoben. Zudem wurden drei Projekte, die als Datengrundlage für diese Arbeit fungieren, bereitgestellt. Es erfolgte eine Ermittlung der benötigten Metadaten zur Umsetzung der gewollten Analysen der Interviewpartner. Diese wurden den vorhandenen Daten der Beispielprojekte gegenübergestellt, um ein Schema der Daten zu erzeugen, welches alle benötigten Daten für die Durchführung der Analysen bereitstellt. Dieser Vergleich zeigte ein Defizit in den vorhandenen Daten auf, welcher durch die nicht vorhandene Datenpflege oder die nicht vorhandenen Notwendigkeit für diese begründet ist. Dadurch wurde eine Durchführung der gewollten Analysen anhand der Datengrundlage ausgeschlossen. Zur Validierung des Schemas wurden dennoch aufgezeigt, wie eine Durchführung der Daten anhand des Schemas ermöglicht wird. Zur richtigen Umsetzung der Pflege der Daten wird die Datenextraktion dieser betrachtet. Es erfolgte eine Beschreibung der verwendeten Programme, hinsichtlich der möglichen Abdeckung des vorgestellten Schemas, um anschließend eine Empfehlung anzugeben. Zusätzlich wurde auf die benötigten Prozesse zur Generierung und Pflege der Daten eingegangen, da diese maßgeblich für die Qualität der Daten verantwortlich sind. Diese Prozesse sind eine Voraussetzung, um die Analysen vollständig durchführen zu können. Nicht betrachtet sind dabei die Metadaten des Quellcodes, da in dieser Arbeit lediglich auf die verwendeten Programme und nicht auf das erzeugte Produkt eingegangen werden soll. Das heißt, hier wird der Prozess zur Herstellung der Software betrachtet und nicht das Produkt selbst. |
23.10.2018 17:00 SE Colloquium A2 2-219 | |
Sebastian Schmidt:
Plattformübergreifende Implementierung von Geschäftslogik
Die Geschäftstätigkeit eines Unternehmens folgt sogenannten Geschäftsregeln. In modernen Unternehmen werden viele Geschäftsprozesse durch Software- und Hardwaresysteme unterstützt. In diesen Systemen sind die Geschäftsregeln eines Unternehmens in Form von Geschäftslogik abgebildet. Bei der Umsetzung, Wartung und Erweiterung dieser Geschäftslogik ergeben sich verschiedene Probleme und Herausforderungen, insbesondere dann, wenn dieselbe Geschäftslogik auf verschiedenen Plattformen benötigt wird. Die Wahl des richtigen Konzepts für die Implementierung der Geschäftslogik ist entscheidend, um die Anforderungen eines Unternehmens erfüllen zu können. In dieser Masterarbeit wurde ein Verfahren entwickelt, über das ein Unternehmen systematisch ein Konzept für die plattformübergreifende Implementierung von Geschäftslogik in ihren Unternehmensanwendungen auswählen kann. Hierfür wurden allgemeine Anforderungen an ein solches Konzept anhand eines fiktiven Unternehmens ermittelt. Auf Basis dieser Anforderungsanalyse wurden verschiedene mögliche Konzepte beschrieben, analysiert und miteinander verglichen. Das Ergebnis dieser Konzeptanalyse wurde in Form eines Entscheidungsbaums zusammengefasst. Dieser Entscheidungsbaum kann von Unternehmen dazu verwendet werden, um ein Konzept für die plattformübergreifende Implementierung von Geschäftslogik auszuwählen. Die Entscheidungen basieren auf den allgemeinen Anforderungen an ein solches Konzept. Dies ermöglicht die Auswahl eines Konzepts, ohne die verschiedenen möglichen Konzepte aufwendig miteinander vergleichen zu müssen. |
23.10.2018 16:00 SE Colloquium A2 2-219 | |
Christian Spalding:
Verwaltung von Abschlussarbeiten
In jedem Semester an der Carl von Ossietzky Universität in Oldenburg schreiben zahlreiche Informatikstudenten eine Abschlussarbeit, einige davon in der Abteilung Softwaretechnik. Beim Betreuen von Abschlussarbeiten handelt es sich um einen komplexen Prozess, der ausführlich geplant und dokumentiert werden muss. Ziel dieser Arbeit ist es, den Verwaltungsvorgang der Arbeitsbetreuung in der Abteilung Softwaretechnik als klar definierten Geschäftsprozess darzustellen. Basierend auf dem Geschäftsprozess wird eine webbasierte Anwendung zur Prozessunterstützung konzipiert und entwickelt. |
16.10.2018 16:00 SE Colloquium A2 2-219 | |
Gerrit Schöne:
Sensor Fusion in Smart Cities
Die Wichtigkeit von Smart Cities und der darin bestehenden Prozesse und Dienste steigt mit der immer steigenden Anzahl von Einwohnern und Wohnfläche, welche im großen Konflikt zu der limitierten Anzahl an Ressourcen steht, welche eine einzelne Stadt bieten kann. Diese Wichtigkeit wird unter anderem vom Klimaziel „2020 climate & energy package“ der Europäischen Union unterstrichen. Um dieser steigenden Wichtigkeit nachzukommen müssen Dienste im Kontext von Smart Cities immer größer werdende Datenmengen verarbeiten und eine nahezu perfekte Leistung vollbringen. Ein Lösungsansatz, um die geforderte Leistung zu garantieren, ist das Integrieren von Sensor Fusion Methoden in eine Smart City Referenzarchitektur. |
15.10.2018 8:00 ED Colloquium A1 0-005 | |
Ziel dieser Projektgruppe war die Entwicklung eines selbstorientiertes, installationsarmen, zeit- und energieeffizienten Rasenmähsystems. Details finden sich hier. |
09.10.2018 16:45 SE Colloquium A2 2-219 | |
Sebastian Rutter:
Ein Framework zum Autolayouting von Graphen
Ein Graph muss ansprechend und strukturiert dargestellt werden, damit er hilfreich für die Repräsentation von Informationen ist. Dazu wird ein gutes Layout benötigt, das dabei hilft, den Graphen lesbar zu gestalten. Wenn der Graph später manuell verwendet werden soll, um Personen den Sachverhalt anschaulich zu präsentieren, wird dies durch einen unlesbaren Graphen beeinträchtigt. Einen Graphen manuell zu layouten kann vor allem bei sehr großen Graphen zeitaufwändig sein. Viele Softwareprojekte haben mehrere Tausend Klassen, manche sogar Millionen, die in Diagrammen abgebildet werden. Außerdem verändern sich Projekte im Laufeder Zeit, was wiederum eine Anpassung der Diagramme notwendig macht. Dieser Vorgang sollte deswegen automatisiert werden, um Zeit zu sparen. Ein manuell gezeichnetes Ergebnis wird zwar meistens qualitativ besser sein, dafür ist automatisches Layouten erheblich schneller und sollte ein akzeptables Ergebnis liefern. Es gibt unzählige verschiedene Graphen, von denen jeder eigene Kriterien zur Darstellung beinhaltet. Die meisten Graphen haben unterschiedliche Knoten und Kanten. Manche benötigen eine Beschriftung der Kanten, andere haben komplexe Inhalte in den Knoten. Kurz gesagt, es ist so gut wie unmöglich, ein einzelnes Verfahren zu entwickeln, das auf alle Graphen Arten anwendbar ist. Deswegen wird hier eine erweiterbare Lösung gebraucht, ein Framework. |
09.10.2018 16:00 SE Colloquium A2 2-219 | |
Timo Bühring:
ASG-Generator für C++
Um Quellcode maschinell analysieren und bearbeiten zu können - beispielsweise für Code-Refactoring - ist das direkte Arbeiten auf dem Quellcode unpraktisch. Daher wird der Code in der Regel zuvor in einen Abstrakten Syntaxgraphen (ASG) überführt; eine Datenstruktur, die den Code struktiert in Form eines Graphen darstellt und sich so leichter analysieren lässt. Diese Überführung geschieht durch einen Parser. Dabei nutzt jeder Parser seinen eigenen ASG-Meta-Modell, welcher sich an kein übergreifendes Meta-Meta-Modell hält. In dieser Arbeit wird ein Verfahren entwickelt, um einen solchen ASG mit dem Ecore-Meta-Meta-Modell des Eclipse Modelling Framework kompatibel zu machen. Dazu muss der ASG eines Parsers mit dem Ecore-MMM kompatibel gemacht werden, sowie ein Programm gebaut werden, welches konkrete C++ Programme in eine Instanz dieses Meta-Modells und wieder zurück wandeln kann. Sowohl das Erstellen des Metamodells als auch die Übersetzung eines Programms soll dabei so automatisiert wie Möglich funktionieren. |
02.10.2018 16:45 SE Colloquium A2 2-219 | |
Dilshod Kuryazov:
Delta-Driven Collaborative Modeling
Model-Driven Engineering has become a significant means in software development activities, which is well-suited to design and develop large-scale software systems. Developing and maintaining large-scale model-driven software systems entails a need for collaborative modeling by a large number of software designers and developers. As the first-class entities of the model-driven engineering paradigm, software models are constantly changed during development and maintenance. Collaborative modeling support for frequently synchronizing model changes between collaborators is required. Thereby, a solid change representation support for model changes plays an essential role for collaborative modeling systems. This paper applies a meta-model generic, operation-based and textual difference language to existing domain-specific modeling tool UML Designer and demonstrates a collaborative modeling application - CoMo. It is validated for UML activity diagrams. |
02.10.2018 16:00 SE Colloquium A2 2-219 | |
Johannes Meier:
Model Consistency ensured by Metamodel Integration
To keep semantically interrelated and physically separated artifacts consistent to each other is challenging. Consistency between such artifacts, described by models and conforming to metamodels, targets mainly synchronizing overlapping information and additional relations between them. This paper depicts an approach to synchronize models by integrating models together with their metamodels into an integrated (meta)model using special operators. These operators are used to keep all models consistent to each other, which is discussed for two consistency rules along three use cases. |
25.09.2018 16:45 SE Colloquium A2 2-219 | |
Muzaffar Artikov:
Model-Driven Internet of Things
Smart technologies employ sensors, actors, communication protocols and home servers to increase the efficiency of city services and processes. Nowadays, smart systems and software architectures are reaching new levels of complexity, necessitating appropriate engineering methodologies. Model-Driven Software Engineering provides the required foundations for formally define generic architectures and development of software support on the top of IoT. To cope with ever growing complexity of such software architectures, model-driven approaches can extensively be applied to modeling of the IoT technologies as well as developing and maintaining software systems and platforms for ”Smart X” technologies. In the presentation initial ideas about applying MDE approaches to IoT domain will be discussed in terms of “Model-driven Internet of things” PhD topic. |
25.09.2018 16:00 SE Colloquium A2 2-219 | |
Christian Schönberg:
Agilität in nicht-agilen Unternehmen
Agile Methoden wie Scrum sind seit einiger Zeit in der Softwareentwicklung etabliert. Dies kann in Unternehmen, die nicht ihre gesamte Organisation auf Agilität umstellen wollen oder können, zu Konflikten zwischen den agilen und den nicht-agilen Unternehmensbereichen führen. Relevant ist dies insbesondere für Unternehmen, welche die Vorteile der Agilität nutzen wollen, aber gleichzeitig strengen regulatorischen oder organisatorischen Vorschriften unterliegen. In diesem Beitrag wird anhand theoretischer und praktischer Untersuchungen exemplarisch für Scrum gezeigt, an welchen Stellen diese Konflikte entstehen können. Zur Entschärfung der Konflikte werden Handlungsempfehlungen vorgestellt, so dass agile Vorgehensmodelle erfolgreich auch in Unternehmen mit klassischer Linienorganisation und Projektmanagement eingesetzt werden können. |
11.09.2018 9:00 SE Colloquium A2 2-219 | |
Johannes Meier:
Model Consistency ensured by Metamodel Integration
Keeping semantically interrelated and physically separated artifacts consistent with each other is a challenge. Consistency between such artifacts, described by models and conforming to metamodels, targets mainly synchronization of overlapping information and additional relations between them. This presentation depicts an approach to synchronize models by integrating models together with their metamodels into an integrated (meta)model using special operators. These operators are used to keep all models consistent with each other, which is discussed along two consistency rules for a simplified software development project. |
31.07.2018 16:00 SE Colloquium A2 2-219 | |
Johannes Jakel:
Analysen von Meta-Daten agiler Projekte
In agilen Projekten werden eine Vielzahl von Tools zur Verwaltung genutzt. Diese Tools beinhalten eine Vielzahl von Informationen, die sich teilweise in Verbindung setzen lassen. Daher stellen sich die Fragen, welche Metadaten in agilen Projekten existieren, was aus ihnen gewonnen werden kann und in wie weit sich diese untereinander verknüpfen lassen. Ziel dieser Arbeit ist die Erhebung der vorhandenen Datenquellen sowie der Interessen und Bedenken der einzelnen Mitarbeiter eines agilen Teams. Zusätzlich sollen Analysen, die aus den Interessen der Interviewpartner gebildet werden, mit den erhobenen Daten durchgeführt und evaluiert werden. Es wurden drei Projekte der Firma iteratec als Beispiele für diese Arbeit gewählt und ein Teil der Mitarbeiter der jeweiligen Teams wurden interviewt. Durch die Interviews konnten die Projekte, deren verwendeten Tools und die Interessen sowie Bedenken der Interviewpartner erhoben werden. Die Tools dienen in dieser Arbeit als Grundlagen der Metadaten, auf denen die Analysen durchgeführt werden. Im nächsten Schritt dieser Arbeit sollen aus den geäußerten Interessen die Analysen entwickelt und evaluiert werden. |
17.07.2018 16:00 SE Colloquium A2 2-219 | |
Dilshod Kuryazov, Phillip Bühring:
Usage of DORI in NEMo: Status Report
The NEMo project aims at developing a sustainable mobility platform to facilitate sustainable fulfillment of mobility needs in rural areas. In order to meet the core objectives of NEMo, the envisioned mobility platform must be sustainable itself by providing flexibility in co-evolution with changing and novel mobility needs, services, and business models. The SENSEI approach proposes a model-driven, service-oriented and component-based means to define mobility services in terms of technology-independent services and their functionalities that are mapped automatically to suitable, reusable software components. The NEMo mobility platform requires an interactivity support for performing user interactions with the mobility platform. Since interactivity support is usually only anchored in the source code implicitly, both the implementations of interactive user interfaces and program logic become blurred. Thus, sustainability of interactivity support becomes a challenge to subsequently maintain overall interaction. The students project group DORI (Do Your Own Reactive Interface) intends to provide tool support for designing state-based interactivity models to describe the overall interaction by GUI states and transitions between GUI states. This talk initially describes the application of SENSEI to the NEMo mobility platform, and explains benefits in terms of sustainability by flexible and adaptable software development architecture. Thereafter, the talk reports on the current state of integration of DORI to NEMo vertical prototype. |
02.07.2018 16:00 SE Colloquium A2 2-219 | |
Nancy Kramer:
Schulung: Erstellung einer DSL mit EMF, Sirius und Xtext
Modellgetriebener Softwareentwicklung ist heutzutage eine immer größer werdende Bedeutung zuzuschreiben. Während die Programmierung nur den einen Teil des Software-Engineerings darstellt, ist die Modellierung ein weiterer wichtiger Teil. Die Modellierung ist nicht nur ein Abschnitt in der Entwicklung, sondern zieht sich querschneidend durch den gesamten Prozess. Sprachen wie zum Beispiel UML (Unified Modeling Language) stellen verschiedene Sprachmittel zur Verfügung, um eine ausführliche Dokumentation und Architektur eines Softwaresystems, sowie Systemspezikation durch Modelle zu schaffen. Dennnoch reichen diese Sprachmittel oftmals nicht aus um gegebene Sachverhalte perfekt abzubilden, sodass eine eigene Domänenspezifische Sprache entwickelt werden muss. Diese kann entweder textuell oder grafisch dargestellt werden. Tools, wie zum Beispiel EMF bieten durch die Einbindung von Sirius und Xtext beide Formen der DSL-Entwicklung an. Dennoch stellt sich hier das Problem der unzureichenden Dokumentation und der fehlenden Tutorials zur Verwendung dieser Tools. In dieser Masterarbeit soll eine Schulung entwickelt werden, wie so eine Domänenspezifische Sprache in der Theorie entwickelt und mit den Tools EMF, Sirius und Xtext umgesetzt werden kann. |
19.06.2018 8:30 SE Colloquium A5 1-160 | |
Dr. Yvette Teiken:
Praxisvortrag zu Industrie 4.0
Die Themen Industrie 4.0 und Digitalisierung sind in aller Munde. Smarte Maschinen und automatisierte Produktion ist das erklärte Ziel von IoT Systemen. Bei IoT Systemen handelt es sich um spezielle, verteilte Software Systeme, die die eine oder andere Software-technische Herausforderung bieten. In diesem Vortrag werden diese Herausforderungen beschrieben und deren konkrete Lösungen an Hand von echten Problemen gezeigt. Dr. Yvette Teiken ist CTO bei der erminas GmbH. Ihr Fokus liegt auf Datenanalyse und den sich daraus ergebenden Potentialen für die Entwicklung der Industrie 4.0 und den Digitalisierungsprozessen in Unternehmen. Zu ihren digitalen Werkzeugen gehören unter anderem .NET, C#, Angular. Neben der analytischen und konzeptionellen Arbeit koordiniert sie internationale Software-Entwicklungsprojekte und kümmert sich um die Mitarbeiterentwicklung. Sie organisiert die .NET-Usergroup Oldenburg und vernetzt bei erminas Meet Ups Unternehmer, Entwickler und Politiker mit dem Ziel, technische Augenhöhe zu schaffen und für gesellschaftliche Umbrüche durch die Digitalisierung zu sensibilisieren. |
19.06.2018 16:00 SE Colloquium A2 2-219 | |
Sebastian Schmidt:
Plattform- und einsatzunabhängige Implementierung von Geschäftslogik für Unternehmensanwendungen
Die meisten Geschäftsprozesse eines modernen Unternehmens werden von Softwaresystemen unterstützt. Die Geschäftsprozesse werden über explizit oder implizit aufgestellte Geschäftsregeln definiert, die innerhalb von Anwendungen in Form von Geschäftslogik implementiert werden. Die Qualität und Wartbarkeit dieser Geschäftslogik wirkt sich direkt auf die Wettbewerbsfähigkeit eines Unternehmens aus: Nur wenn ein Unternehmen seine Geschäftslogik effizient modifizieren kann, kann es seine Geschäftsprozesse effektiv an ein sich änderndes Marktumfeld anpassen. Die IT-Infrastruktur von Unternehmen besteht häufig aus unterschiedlichen Softwaresystemen und Plattformen. Die Geschäftsregeln eines Unternehmens werden dabei in verschiedenen Anwendungen umgesetzt. Um auch in so einem heterogenen Umfeld die Geschäftslogik eines Unternehmens effizient warten und erweitern zu können, ist ein übergreifendes Konzept für die plattform- und einsatzunabhängige Implementierung von Geschäftslogik notwendig. In dieser Masterarbeit wird ein solches Konzept auf Basis der Stärken und Schwächen bestehender Lösungen entwickelt und anhand der Anforderungen an eine Unternehmensanwendung evaluiert. |
12.06.2018 16:00 SE Colloquium A14 1-111 | |
Prof. Dr.-Ing. Anca Ionita:
Models, between diversity and unification
Although models are introduced for a simplified representation of reality, they may reach high complexity and variety, as they can go much beyond the immediate perception. The presentation will survey models used in three application areas, in order to get the picture of their diversity, along with the quest for unification. First, one will consider the development of wide-scope applications by reuniting domains corresponding to different concerns, based on composing domain-specific languages, models, and tools. Then, one will regard service-oriented systems, coming up with process models for service orchestration, ontology-based mappings for service binding, but also models of the evolution required at the level of organizational structures. Finally, one will contemplate hazard management systems, where models related to software development coexist with mathematical models of the natural phenomena, subject to risks like air or water pollution. Such examples show a great diversity in terms of views, modeling languages, notations, semantics, often imposed by the diversity of stakeholders involved. In this context, the unification does not stand in a universal modeling language, but in a multitude of transformations, mappings or compositions that lead the diversity towards the common goal desired. |
29.05.2018 17:00 SE Colloquium A02 2-219 | |
Hendrick Flerlage:
Automatisierung von System-Regressionstests
In einem Kundenprojekt der BTC AG wird eine Online-Plattform zur Verwaltung von Telekommunikationsinfrastruktur entwickelt. Dabei ist die Qualität der ausgelieferten Software ein essentieller Faktor für dessen Akzeptanz bei dem Kunden. Darum werden in regelmäßigen Abständen manuelle Regressionstests auf Systemstufe vor der Auslieferung durchgeführt, welche das korrekte Verhalten der bereits implementierten Funktionen sicherstellen sollen. Die Erstellung und Ausführung dieser manuellen Regressionstests übernehmen agile Tester. Bedingt durch sich verändernde Anforderungen und einem wachsenden Funktionsumfang der Online-Plattform, wächst das Set an Regressionstests, die auszuführen sind. Mit der steigenden Anzahl des Sets, wird ebenfalls mehr Zeit für die manuelle Ausführung dieses benötigt. Jedoch bleibt das dafür zur Verfügung stehende Zeitpensum unverändert. Dadurch konkurriert die Zeit zunehmend mit dem Testen des Systems, da die Zeit nicht reicht um die manuellen Regressionstests auszuführen und Tests für aktuelle User Stories zu erstellen. Die Durchführung der System-Regressionstests ist jedoch notwendig, um den Nachweis erbringen zu können, dass es durch neue oder geänderte Funktionen zu keinen Beeinträchtigungen nicht geänderter Funktionalitäten kommt. Ziel dieser Bachelorthesis ist es deshalb, diesen zeitlichen Engpass zu reduzieren. Darum wird eine System-Testumgebung geschaffen, in dem die agilen Tester selbstständig System-Regressionstests implementieren können, um dessen Durchführung und Auswertung zu automatisieren. Darüber hinaus wird ein Leitfaden erarbeitet, der neue und bestehende System- Regressionstests analysieren soll. Ziel dieser Analyse ist die Überprüfung, ob es sich bei dem untersuchten Testfall um System-Regressionstestfall handelt und ob dieser in der System-Testumgebung implementiert werden kann. Durch den Leitfaden werden die System-Regressionstestfälle reduziert, da vermeintliche System-Regressionstestfälle auf andere Teststufen und Testarten delegiert werden. Die System-Testumgebung bietet dann die Möglichkeit System-Regressionstests zu automatisieren, um so die manuelle Durchführungszeit zu reduzieren. Sodass die System-Regressionstests weiter ausgeführt werden und dennoch mehr Zeit für die aktuellen User Stories des Sprints verbleibt. Um dies zu erreichen, wird zunächst eine Analyse erstellt, welche Probleme bei einem vorangegangenen, gescheiterten Testautomatisierungsversuch auftraten. Im Anschluss wird der Leitfaden entwickelt, dazu werden Merkmale identifiziert die einen System-Regressionstestfall ausmachen. Zudem wird der Aufwand für Implementierung und Wartung untersucht. Im Anschluss wird die System-Testumgebung aufgebaut, in der sich durch den Leitfaden als geeignet identifizierte Testfälle automatisieren lassen. Diese beiden Artefakte werden in einem Zyklus in das Kundenprojekt eingebunden, um überprüfen zu können, ob das zeitliche Problem dadurch reduziert werden kann. |
29.05.2018 16:00 SE Colloquium A02 2-219 | |
Max Harms:
Ermöglichen von Dependency Injection durch Refactorings
Isolierbare Softwarekomponenten sind insbesondere für eine bessere Testbarkeit eines Softwaresystems wünschenswert. Nur so ist z.B. der Einsatz von Unit-Tests möglich, die einzelne Klassen auf vorher festgelegte Spezifikationen testen. Zur Realisierung solcher voneinander isolierbaren Komponenten hat sich Dependency Injection (DI) als mögliches Pattern etabliert. Hierbei werden benötigte Abhängigkeiten zu anderen Komponenten des Systems nicht innerhalb der Komponenten selbst erzeugt, sondern von außen übergeben. Dies erlaubt etwa den Austausch dieser Abhängigkeiten in Tests. Es ist somit wünschenswert, auch für bereits existierenden Code den Einsatz von DI zu ermöglichen. Diese Arbeit bildet eine Wissensgrundlage, anhand derer Entwickler diese notwendigen Änderungen vornehmen können. Hierfür werden Code Smells für die Programmiersprache Java (Version 8) identifiziert, die nicht dem Prinzip der DI entsprechen. Für diese werden Refactorings angegeben, mit denen Entwickler sie durch DI-freundliche Alternativen ersetzen können. Mittels einer Implementierung in Form eines Plugins wird darüber hinaus eine Möglichkeit betrachtet, die Entwickler bei diesem Vorgehen zu unterstützen. In der Evaluation wird schließlich untersucht, ob es Entwicklern mit den Ergebnissen der Arbeit möglich ist, Code Smells in einer existierenden Codebasis selbsttätig zu identifizieren und aufzulösen. |
15.05.2018 16:00 SE Colloquium A02 2-219 | |
Timo Bühring:
Modellbasierte Darstellung von C++ Code
Um Quellcode maschinell analysieren und bearbeiten zu können - beispielsweise für Code-Refactoring - ist das direkte Arbeiten auf dem Quellcode unpraktisch. Daher wird der Code in der Regel zuvor in einen Abstrakten Syntaxgraphen (ASG) überführt; eine Datenstruktur, die den Code struktiert in Form eines Graphen darstellt und sich so leichter analysieren lässt. Diese Überführung geschieht durch einen Parser. Die so entstehenden Syntaxgraphen sind vom Parser definiert und folgen keinem einheitlichen Modell. In dieser Arbeit wird ein Verfahren entwickelt, um einen solchen ASG mit dem Eclipse Modelling Framework kompatibel zu machen. Dazu muss ein Metamodell erstellt werden, welches den ASG eines Parsers beschreibt, sowie eine Möglichkeit, C++ Code in eine Instanz dieses Metamodells und wieder zurück zu überführen. Sowohl das Erstellen des Metamodells als auch die Übersetzung eines Programms soll dabei so automatisiert wie Möglich funktionieren. |
08.05.2018 16:00 SE Colloquium A02 2-219 | |
Ruthbetha Kateule:
Reference Architecture for Sensor Based Environmental Information System (RefSEISs)
Sensor based environmental information systems (SEISs) prevent or reduce the effects of various environmental phenomena or situation mainly air pollution, fire, landslides, flood, road traffic congestion and others. The increased in size and complexity of SEISs, together with the critical time-to-market needs enforce organizations or institutions to continuously seek efficient techniques in order to improve the designs or services offered by such systems. The diversity of such systems is observed on the dimension of the application domain and fulfillment of a particular set of systems attributes mainly maintainability, interoperability and energy efficiency. On technical perspective, these systems possess similar subsystems that could be generalized into three subsystems mainly: Sensors and Actuators subsystem refers to the devices that measure physical environment events i.e., temperature, humidity etc., pre-processing the collected data and alter the state of environmental phenomena to satisfy intended objectives of a system. Information Control Centre subsystem which integrates, analyses, processes, stores and visualizes the information as received from the sensors and generates alarms and events via actuators based on the objectives of particular system. Communication subsystem which facilitates the interactions between aforementioned subsystems. This puts a great responsibility on informatics researchers and architects to provide a generic architecture that would facilitate the rapid development and maintenance of such systems. To realize this concept, this research proposes a general abstraction representation namely a reference architecture to represent a common denominator of sensor based environmental information systems. The description of this reference architecture and its derived instances are based on ISO/IEC 42010:2007 Recommended Practice for Architectural Description of Software-Intensive Systems. This standard prescribes the crucial architectural elements mainly stakeholders, concerns, viewpoints, views and others. The proposed reference architecture adopts Siemens view model to establish the required architectural viewpoints. Unified Modeling Language (UML) a de facto standard in software industry is adopted to design architectural viewpoints and views. The applicability of the proposed reference architecture is demonstrated through instantiation to the concrete architectures of real scenarios mainly forest fire and air pollution detection systems and will be tested for various scenarios. |
03.04.2018 17:00 SE Colloquium A2 2-219 | |
Philipp Stib:
Analyse von Kommunikationsprotokollen für Sensorknoten
Zum Messen von physikalischen Größen (wie Schall, Druck, Temperatur, Bewegung, etc.) werden Sensoren benötigt. Diese ermitteln die physikalischen Werte und wandeln diese in elektrische Energie um. Um die elektrische Energie wieder zurück zu wandeln, werden Aktoren oder Aktuatoren benutzt. Sie setzen die elektrische Energie wieder in eine physikalische Größe zurück. Sowohl Sensoren als auch Aktoren werden heute immer mehr Benutzt um bestimmte IST-Zustände ermitteln zu können, sei es im Auto, in Produktionsstätten, in der Hausautomation oder in der Umwelt. Alle Anwendungsmöglichkeiten besitzen dabei unterschiedliche Eigenschaften oder Kriterien. Einen wichtigen Kernpunkt, stellt dabei die Kommunikation. Wie sollen die Daten zwischen den Sensoren, Aktoren und der Überwachungsstelle ausgetauscht werden? Was für verschiedene Möglichkeiten des Datenaustausches oder welche effektiveren Methoden gibt es zu dem gewählten Szenario? Wie können Kriterien und Eigenschaften durch die Kommunikation bewältigt werden? Um solche Fragen zu beantworten wurde eine Protokollliste erstellt, die verschiedene Standards wie I2C oder Bluetooth beinhaltet und Antwort auf eine mögliche Kommunikation bietet. Aus dieser Liste von Protokollen kann dann für ein Szenario ein passendes Protokoll gefunden werden. Ziel ist es auf ein auftretendes Szenario einen passenden Standard anwenden zu können. In diesem Vortrag werden Grundlagen, Protokolle und Anwendungsszenarien gezeigt, die die Kommunikation von Sensoren- oder Aktuatorennetzwerke mit sich bringen. |
03.04.2018 16:00 SE Colloquium A02 2-219 | |
Phillip Bühring:
Autolayouting von Klassendiagrammen
(missing) |
13.02.2018 17:00 SE Colloquium A02 2-219 | |
Dilshod Kuryazov:
Collaborative Modeling enabled by Version Control
Model-Driven Software Development is a key field in software development activities which is well-suited to design and develop large-scale software systems. Developing and maintaining large-scale model-driven software systems entail a need for collaborative modeling by a large number of software designers and developers. As long as software models are constantly changed during development and maintenance, collaborative modeling requires frequently sharing of model changes between collaborators. Thereby, a solid change representation support for model changes plays an essential role for collaborative modeling systems. This paper focuses on the problem of model change representation for collaborative modeling. It introduces a meta-model generic, operation-based and textual difference language to represent model changes in collaborative modeling. This paper (talk) also demonstrates a collaborative modeling application Kotelett. |
13.02.2018 16:00 SE Colloquium A02 2-219 | |
Max Harms:
Ermöglichen von Dependency Injection durch Refactorings
Isolierbare Softwarekomponenten sind insbesondere für die bessere Testbarkeit von Systemen wünschenswert. Nur so ist der Einsatz von Unit- oder Komponententests möglich, die z.B. einzelne Klassen auf vorher festgelegte Spezifikationen testen. Zur Realisierung solcher voneinander isolierbaren Komponenten hat sich Dependency Injection (DI) als Pattern etabliert. Hierbei werden benötigte Abhängigkeiten zu anderen Komponenten des Systems nicht innerhalb der Komponenten selbst bereitgestellt, sondern von außen übergeben. Dies erlaubt den Austausch dieser Abhängigkeiten in Tests. Es ist somit wünschenswert, auch für bereits existierenden Code den Einsatz von DI zu ermöglichen. Diese Arbeit identifiziert hierfür Code Smells für die Programmiersprache Java (Version 8), die nicht dem Prinzip der DI entsprechen. Für diese werden Refactorings angegeben, welche sie durch DI-freundliche Alternativen ersetzen können. |
30.01.2018 16:00 SE Colloquium A02 2-219 | |
Johannes Meier:
Metamodel Integration using Reference Metamodels
Johannes Meier hält den Probevortrag für die Präsentation des aktuellen Standes seiner Doktorarbeit unter dem Arbeitstitel "Metamodel Integration using Reference Metamodels" auf einem internen Workshop in Karlsruhe. |
29.01.2018 16:00 SE Colloquium A2 2-219 | |
Jens Wotte:
Time is Fake
Die Zeit ist für den Großteil der Menschheit von großer Bedeutung. Fast jeder richtet sein Leben danach aus. Die Zeitmessung ist ein wichtiger Bestandteil der modernen Gesellschaft und erlaubt es unter anderem, Ordnung innerhalb dieser zu wahren. Mit Time is Fake möchte der Künstler Michael Olsen den Gedanken vermitteln, dass Zeit eine Illusion sei und damit die Bedeutung des Zeitbegriffs relativieren. Im Zentrum dieser Idee steht eine vierflächige Uhr, welche durch zufällig ausgeführte Bewegungsmuster die Rolle eines Harlekins einnimmt und so dem Betrachter die Idee vermittelt. Während normale Uhren sich stets im Uhrzeigersinn bewegen, bewegen sich die Zeiger hier willkürlich. Bei den Bewegungen der Zeiger gibt es keinen Bezug zwischen den Uhren, sowie zwischen den Zeigern der Uhren. Zusätzlich soll bei Bedarf die korrekte Uhrzeit angezeigt werden können. Dabei kommt pro Uhr ein Display zum Einsatz, das in der Lage ist Texte anzueigen. Im Rahmen dieser Arbeit soll eine Uhr entwickelt werden, die mindestens vier Ziffernblätter unterstützt und dabei dieses Bild der Zeit an den Betrachter weitergeben kann. Die Realisierung der Uhr wird auf Basis von Microcontrollern und einem Einplatinenrechner vorgenommen. Dafür werden mögliche Hardwarekomponenten untersucht und hinsichtlich ihrer Eignung und Kompatibilität untereinander bewertet. Zwei besonders wichtige Aspekte bei der Entwicklung des Systems sind Erweiterbarkeit und Flexibilität. Das System soll so entworfen werden, dass zum einen die implementierten Bewegungsmuster der Uhrzeiger durch weitere ergänzt werden können. Zum anderen sollen möglichst leicht weitere Uhren, die sich durch eine unterschiedliche Funktionsweise auszeichnen können, in das System integriert werden können. Zudem sollen verschiedene Displaytypen unterstützt werden, die auch möglichst leicht auszuwechseln sein sollen. Durch diese Anforderungen soll so ein System entstehen, das mit einer Steuerung und möglichst wenigen Ergänzungen unterschiedliche Uhren unterstützt. |
16.01.2018 16:00 SE Colloquium A2 2-219 | |
Kimberly Hebig:
UML-Designer vs. Papyrus
Es gibt eine Großzahl an UML-Modellierungstools. In jedem ist es möglich, UML-Diagramme zu stellen - mal besser, mal weniger gut. Das richtige Tool für den dauerhaften Einsatz hängt von verschiedenen spezifisch zu definierenden Anforderungen ab. In diesem Vortrag sollen die UML-Modellierungstools UML-Designer und Papyrus für den Einsatz in Forschung und Lehre in der Abteilung Softwaretechnik miteinander verglichen werden. Dabei wird zunächst herausgestellt, welche Anforderungen sich an ein UML-Modellierungstool ergeben. Folgend werden die Tools eingeführt und anhand der Anforderungen belegt, inwiefern sie für den täglichen Einsatz genutzt werden können. Abschließend wird eines der beiden Tools als geeigneter herausgestellt und die Diskussion eingeleitet. |
09.01.2018 16:00 SE Colloquium A2 2-219 | |
Maik Appeldorn:
Kollaborative Modellierung von Aktivitätsdiagrammen in Echtzeit
Heutzutage ist es üblich, zu entwickelnde Software mittels UML-Diagrammen zu modellieren, da sie die Absprache zwischen den verschiedenen Stakeholdern (Auftraggebern, Entwicklern, etc.) erleichtern. Typischerweise modelliert jedes Mitglied eines Entwicklerteams nach seiner eigenen Vorstellung, wodurch sich die Modelle teilweise stark voneinander unterscheiden. Da gerade zu Beginn der Planung einer Software viele Modelle erstellt und verändert werden, ist es essentiell, dass alle Stakeholder schnellst möglich über die Änderungen informiert werden. Standardmäßige Versionsverwaltungssysteme wie Git und SVN bieten hierfür keine optimale Lösung, da sie mit sequentiellen Aktualisieren arbeiten und haupsächlich auf die Verwaltung von Source-Code spezialisiert sind. Bei vielen Änderungen an Modellen in kurzer Zeit lann es somit zu Problemen beim Aktualisieren kommen. So auftretende Konflikte müssen dann manuell behoben werden. Um also möglichst produktives und efizientes Arbeiten zu gewährleisten, muss eine Möglichkeit geschaffen werden, wie verschieden Nutzer zur selben Zeit gemeinsam an dem selbem Modell arbeiten können und sofort über Änderungen informiert werden. Eine Lösung dieses Problems ist die kollaborative Modellierung in Echtzeit. Sie beschreibt das gemeinsame Modellieren an ein und dem selben Diagramm zum gleichen Zeitpunkt von verschiedenen Clienten aus. Ziel dieser Arbeit ist es daher ein Open-Source Modellierungswerkzeug um den DOL-Ansatz zur kollaborativen Modellierung zu erweitern.Hierzu wird der UML-Designer(Sirius) genommen und mit dem DOL-Ansatz erweitert, um kollaborative Modellierung für Aktivitäsdiagramme zu ermöglichen. |
12.12.2017 17:00 SE Colloquium A2 2-219 | |
Jan Brunnberg:
Mobilitätsservice für Gruppenfahrdienste
Im Rahmen des NEMo Projekts sollen Mobilitätsservices entstehen, welche insbesondere die Mobilität in den ländlichen Regionen verbessern. Einer dieser Mobilitätsservices trägt den Namen „Mobilitätsservice für Gruppenfahrdienste“. Die Softwareunterstützung für diesen Dienst wird innerhalb der Bachelorarbeit prototypisch realisiert. Zur Strukturierung der Bachelorarbeit wurde die NEMo Taxonomie verwendet. Die Taxonomie besteht aus mehreren Schichten, die von der Charakterisierung des Mobilitätsservice (MobilityService) über die Beschreibung der Geschäftsprozesse (Business Models and Processes) bis hin zu den informationstechnischen Aspekten der Entwicklung reichen (IT Services, IT Components). Gerade bei Letzterem wird eine weitere Besonderheit genutzt: SENSEI. Der SENSEI-Ansatz soll im Kontext der Bachelorarbeit erprobt werden. Dazu werden mit Hilfe von SENSEI auf der Konzeptionsebene IT-Services und Orchestrierungen modelliert, welche die Grundlage für die Implementierung darstellen. Ziel der Bachelorarbeit ist es, die Softwareunterstützung für den Dienst „Mobilitätsservice für Gruppenfahrdienste“ prototypisch zu entwickeln. Dabei soll, neben dem Prototyp, die Anwendung der NEMo Taxonomie und des SENSEI Ansatzes bewertet werden. |
12.12.2017 16:00 SE Colloquium A2 2-219 | |
Kimberly Hebig:
Mobilitätsservices - Katalog für NEMo
Immer mehr Menschen ziehen vom Land in die Städte, wodurch sich das öffentliche Leben zunehmend in diese verschiebt. Die weiterhin auf dem Land lebenden Menschen sind darauf angewiesen, entweder ihren privaten Pkw oder die öffentlichen Verkehrsmittel zu nutzen, um ihre Arbeit oder andere Einrichtungen zu erreichen. Durch diese Verschiebung hat sich die Anzahl nutzbarer Mobilitätsangebote reduziert. Um dennoch die Nutzung umweltfreundlicher und öffentlicher Verkehrsmittel zu erhöhen und somit die Umweltbelastung durch die negativen Auswirkungen des Verkehrs zu senken, bietet das Projekt NEMo - Nachhaltige Erfüllung von Mobilitätsbedürfnissen im ländlichen Raum- eine Software-Unterstützung. Sie ermöglicht Nutzern, die passende Mobilitätslösung für sich zu finden. NEMo hat jedoch keine Übersicht, an der sich die zu erledigenden Softwarearbeiten zur Erweiterung der Software-Unterstützung orientieren können. Ziel dieser Arbeit war es daher, einen Katalog für Mobilitätsservices zu entwerfen und mit ersten Einträgen zu füllen. Es wurden dafür ein einheitliches Verständnis und ein struktureller Rahmen für die Einträge in Form einer Taxonomie geschaffen und Anforderungen an das Gesamtsystem und die Softwaresysteme erhoben. Zudem wurden Mobilitätsservices kategorisiert, ein Template zur Beschreibung und ein Raster entwickelt, mit Hilfe dessen die Mobilitätsservices in dem Katalog anhand der Ziele von NEMo bewertet werden können. NEMo hat jedoch keine Übersicht, an der sich die zu erledigenden Softwarearbeiten zur Erweiterung der Software-Unterstützung orientieren können. Ziel dieser Arbeit war es daher, einen Katalog für Mobilitätsservices zu entwerfen und mit ersten Einträgen zu füllen. Es wurden dafür ein einheitliches Verständnis und ein struktureller Rahmen für die Einträge in Form einer Taxonomie geschaffen und Anforderungen an das Gesamtsystem und die Softwaresysteme erhoben. Zudem wurden Mobilitätsservices kategorisiert, ein Template zur Beschreibung und ein Raster entwickelt, mit Hilfe dessen die Mobilitätsservices in dem Katalog anhand der Ziele von NEMo bewertet werden können. |
05.12.2017 16:00 SE Colloquium A2 2-219 | |
Maximilian Pahl:
Privater Mitfahrdienst für das Projekt NEMo
Das Projekt NEMo ist zurzeit ein Arbeitsgebiet in der Abteilung Softwaretechnik der Universität Oldenburg. Im Rahmen dieses Projektes wird versucht, die ländliche Mobilität durch die Kombination verschiedener bestehender oder neu entwickelter Mobilitätsdienste zu verbessern. In dieser Bachelorarbeit ist ein neuer Mobilitätsdienst entworfen und als Prototyp implementiert worden. Der Prototyp wurde anhand einer Taxonomie entwickelt, welche im Rahmen von NEMo erstellt wurde. Dieser neue Mobilitätsdienst, welcher 'privater Mitfahrdienst' genannt wird, ist ein atomarer Dienst. Das heißt, er soll Menschen nicht den gesamten Weg vom Start zum Ziel befördern, sondern in Kombination mit anderen atomaren Mobilitätsdiensten genutzt werden. Der private Mitfahrdienst soll Nutzern die Möglichkeit geben Strecken, die sie zu fahren planen, anzugeben und so anderen Nutzern ermöglichen auf diesen Strecken mitzufahren. Der Entwurf des privaten Mitfahrdienstes umfasst die Beschreibung des Mitfahrdienstes, die Beschreibung der Geschäftsprozesse, die Interaktionen des Nutzers mit der Softwareunterstützung und die Implementierung der Softwareunterstützung. Der Prototyp der Softwareunterstützung ist eine Webanwendung, da der Dienst wahrscheinlich meist mobil genutzt wird und somit auf Smartphones und Heimrechnern nutzbar sein muss. Anhand des Prototyps und der im Entwicklungsprozess gesammelten Erkenntnisse kann die Tauglichkeit der Taxonomie für die Beschreibung und Entwicklung von Mobilitätsdiensten anschließend bewertet werden. |
14.11.2017 16:00 SE Colloquium A2 2-219 | |
Henrik Hillmer:
Analyse von Referenzmodellen - Definition, Anwendung und Qualität
Der Begriff Referenzmodell wird in vielen Branchen bzw. wissenschaftlichen Disziplinen verwendet, wie z.B. der Wirtschaft, Wirtschaftsinformatik und Softwaretechnik. Jedoch gibt es selbst innerhalb der einzelnen Disziplinen keine einheitliche Definition des Begriffs Referenzmodell. Dies ist ein Problem welches sich diese Masterarbeit annimmt. In der Zwischenpräsentation werden weitere Probleme und Lösungsansätze präsentiert. Zudem wird ein Überblick darüber gegeben wie Referenzmodelle aussehen können, wie diese angewendet werden und wie eine einheitliche Definition des Begriffs aussehen kann. |
07.11.2017 15:00 SE Colloquium A2 2-219 | |
Carina Henkensiefken:
Analyse der Qualitätssicherung in der SAP ERP Entwicklung bei der CEWE Stiftung & Co. KGaA
Die Qualität von Softwareprodukten und Softwareentwicklungsprozessen ist ein wichtiger Bestandteil innerhalb der Softwareentwicklung. Die Masterarbeit befasst sich mit der Optimierung der Softwarequalität im Bereich der SAP-ERP-Entwicklung bei der CEWE Stiftung & Co. KGaA (CEWE). Hierzu wurden vier der acht Kriterien aus der ISO 25010 ausgewählt, die für die SAP-ERP-Entwicklung bei CEWE relevant sind. Es werden die Funktionalität, die Effizienz, die Wartbarkeit und die Zuverlässigkeit analysiert. Zur Verbesserung der Qualität bzgl. dieser Kriterien werden drei Maßnahmen im Rahmen der Masterarbeit umgesetzt. Als erstes wird die Anforderungserhebung durch die Einführung von Anforderungsformularen optimiert. Der Nutzen dieser Formulare wird mittels Interviews mit dem Entwicklerteam und den Erstellern der Anforderungen validiert. Mithilfe einer verbesserten Anforderungserhebung soll die Vollständigkeit in der Funktionalität gewährleistet werden. Bezüglich der Wartbarkeit ist eine Optimierung der Programmstruktur und Lesbarkeit geplant. Diese sollen durch die Einhaltung von Programmierrichtlinien erzielt werden. Um die Verbesserung der Lesbarkeit zu validieren, wird ein bestehendes Programm nach den Programmierrichtlinien überarbeitet. Die beiden Versionen werden anschließend verglichen und mit dem Entwicklerteam in einem Review diskutiert. Außerdem sollen die Programmierrichtlinien um Richtlinien zum effizienten Programmieren erweitert werden, sodass die Laufzeit der Programme sich verbessert. Zur Validierung dessen wird die Laufzeit der beiden Programmversionen miteinander verglichen. Als dritte Maßnahme werden Unit-Tests in der SAP-ERP-Entwicklung eingeführt. Mithilfe von Unit-Tests lässt sich die Korrektheit von Software bestätigen. Hierfür werden Programmtemplates als Kopiervorlagen erstellt. Die Ergebnisse der einzelnen Maßnahmen werden in der Präsentation vorgestellt. Insgesamt konnten erste Schritte zur Verbesserung der Softwarequalität erfolgreich umgesetzt werden. Dennoch sollte hier zukünftig kontinuierlich geprüft werden, welche weiteren Möglichkeiten es gibt, die Softwarequalität zu optimieren. |
24.10.2017 16:00 SE Colloquium A2 2-219 | |
Hendrick Flerlage:
Automatisierung von System-Regressionstests
In dem untersuchten Kundenprojekt der BTC AG, in dem eine Online-Plattform zur Organisation und Verwaltung von Telekommunikationsinfrastruktur entwickelt wird, ist die Qualität der ausgelieferten Software ein essentieller Faktor für dessen Akzeptanz. Dafür werden unter anderem in regelmäßigen Abständen manuelle Regressionstests auf Systemebene vor der Auslieferung ausgeführt, welche die korrekte Funktionalität der bereits implementierten Funktionen sicherstellen. Die Erstellung und Ausführung dieser manuellen Regressionstests übernehmen agile Tester. Durch den steigenden Funktionsumfang und den sich verändernden Anforderungen unter Scrum an die Software, wird immer mehr Zeit benötigt das wachsende Set an Regressionstests auszuführen. Jedoch bleibt das dafür zur Verfügung stehende Zeit- pensum unverändert. Die Ausführung der Regressionstests ist allerdings essentiell um die Qualität der Software zu gewährleisten. Zudem steigt die Komplexität durch den steigenden Funktionsumfang und die Anforderungswandel durch Stakeholder. Durch die steigende Komplexität des Systems und dessen Funktionsumfang steht die Zeit immer mehr in Konkurrenz mit der Qualität des Systems, da die Zeit nicht reicht um die manuellen Regressionstests auszuführen und Tests für aktuelle User Stories zu erstellen. Ziel dieser Bachelorthesis ist es deshalb, die Zeit zur Durchführung der Regressionstestset zu vermindern, wobei die Qualität der Software gleich bleiben muss. Sodass das Set an Regressionstests bestehen bleibt, allerdings in kürzerer Zeit durchgeführt werden muss. Dazu wird eine Systemumgebung geschaffen, in dem die agilen Tester selbstständig automatisierte Tests implementieren können, nachdem sie anhand von einem erarbeiteten Leitfaden geeignete Tests zur Testautomatisierung identifiziert haben. Dieser Leitfaden soll die geeignete Teststufe eines Testfalls identifizieren und den Aufwand der Implementierung und Wartungsaufwand gegenüber der zyklisch manuellen Aus- führung des Testfalls abwägen. Dazu wird zunächst eine Analyse erstellt welche Ursachen es bei einem vorangegangenen Versuch gab Tests zu automatisieren, welcher scheiterte. Im Anschluss wird der Leitfaden als eine Art Kosten-Nutzen Analyse von Testfällen erstellt, um sagen zu können wann es sich lohnt einen manuellen Testfall zu automatisieren und auf welcher Ebene. Danach wird eine Umgebung aufgebaut in der sich die geeigneten Regressionstests automatisieren lassen. Daraufhin werden exemplarisch einige manuelle Tests automatisiert und nach einem Sprint evaluiert. |
17.10.2017 17:00 SE Colloquium A02 2-219 | |
Phillip Bühring:
Autolayouting von Klassendiagrammen
(missing) |
17.10.2017 16:00 SE Colloquium A2 2-219 | |
Philipp Stib:
Analyse von Kommunikationsprotokollen für Sensorknoten
Zum Messen von physikalischen Größen (wie Schall, Druck, Temperatur, Bewegung, etc.) werden Sensoren benötigt. Diese ermitteln die physikalischen Werte und wandeln diese in elektrische Energie um. Um die elektrische Energie wieder zurück zu wandeln, werden Aktoren oder Aktuatoren benutzt. Sie setzen die elektrische Energie wieder in eine physikalische Größe zurück. Sowohl Sensoren als auch Aktoren werden heute immer mehr Benutzt um bestimmte IST-Zustände ermitteln zu können, sei es im Auto, in Produktionsstätten, in der Hausautomation oder in der Umwelt. Alle Anwendungsmöglichkeiten besitzen dabei unterschiedliche Eigenschaften oder Kriterien. Einen wichtigen Kernpunkt, stellt dabei die Kommunikation. Wie sollen die Daten zwischen den Sensoren, Aktoren und der Überwachungsstelle ausgetauscht werden? Was für verschiedene Möglichkeiten des Datenaustausches oder welche effektiveren Methoden gibt es zu dem gewählten Szenario? Wie können Kriterien und Eigenschaften durch die Kommunikation bewältigt werden? Um solche Fragen zu beantworten wurde eine Protokollliste erstellt, die verschiedene Standards wie I2C oder Bluetooth beinhaltet und Antwort auf eine mögliche Kommunikation bietet. Aus dieser Liste von Protokollen kann dann für ein Szenario ein passendes Protokoll gefunden werden. Ziel ist es auf ein auftretendes Szenario einen passenden Standard anwenden zu können. In diesem Vortrag werden Grundlagen, Protokolle und Anwendungsszenarien gezeigt, die die Kommunikation von Sensoren- oder Aktuatorennetzwerke mit sich bringen. |
10.10.2017 16:00 SE Colloquium Bremen | |
Muhammed Altuntas:
Tool-Chain zur Software-Migration nach HANA
Mit Intelligent Data Analytics (IDA), einer Eigenentwicklung der KPMG, werden Analysen im Bereich des Berechtigungsmanagements durchgeführt, um Schwachstellen und Risiken aufzudecken. Die Ergebnisse dieser Analysen werden dafür genutzt, um Kunden Maßnahmen und Verbesserungsprozesse im Berechtigungswesen vorzuschlagen. Im Rahmen des IDA-Migrationsprojekts werden die IDA-Analysen, die derzeit mit T-SQL-Prozeduren auf einer relationalen Datenbank ausgeführt werden, in eine In-Memory-Datenbank am Beispiel der SAP HANA überführt. Im Rahmen dieser Arbeit wird das Ziel verfolgt, ein IDA-Migrationsprozess bzw. -Vorgehensmodell zu erarbeiten und mit der Entwicklung einer Tool-Chain exemplarisch die Migration von zwei IDA-Analysen aus einem MS-SQLServer in die HANA-Datenbank zu überführen. Zur Unterstützung des IDA-Migrationsprozesses wird eine Tool-Chain entwickelt, die sowohl eine Alt-Code-Sanierung (Tool 1), eine Umwandlung von T-SQL-Code in HANA-SQL (Tool 2) und HANA-seitige Automatisierungen/Optimierungen (Tool 3) vornimmt. Um die Ergebnisse der Arbeit zu evaluieren, werden sowohl die exemplarisch migrierten IDA-Analysen als auch die im Rahmen dieser Arbeit entwickelte Tool-Chain betrachtet. Nach einer erfolgreich abgeschlossenen exemplarischen IDA-Migration wird im Rahmen der Evaluierung die Tool-Chain für die gesamten IDA-Analysen angewendet und bewertet. |
26.09.2017 16:00 SE Colloquium A02 2-219 | |
Julia Fischer:
Einbettung von Scrum im Unternehmen
Die Integration von agilen Verfahren der Softwareentwicklung in einen größeren Unternehmenskontext mit möglicherweise klassischen hierarchischen Strukturen führt unter Umständen zu Interessens-, Zuständigkeits- und Verantwortungskonflikten, die im Rahmen der Arbeit identifiziert, analysiert und nach Möglichkeit auch gelöst werden sollen. |
19.09.2017 16:00 SE Colloquium A02 2-219 | |
Behailu Getachew Wolde:
What Microsoft Azure looks like and how to use its capability in the real scenarios
Microsoft Azure is one of the key players of cloud providers, which shares the largest market next to Amazon Web Service (AWS). Azure has a number of built-in functionality and idea for providing its domain services via the INTERNET. In this regard, one may become wondering about knowing issues like "What functionality and ideas do Azure have"? "How to use Azure's features in the real scenarios"? The objective of this topic primarily focuses to introduce about Azure's basic domain services and, also to see partial features of Azure with a simple implementation. |
05.09.2017 17:40 SE Colloquium A02 2-219 | |
Jan Brunnberg:
Mobilitätsservice für Gruppenfahrdienste
Das NEMo-Projekt strebt die nachhaltige Erfüllung von Mobilitätsbedürfnissen im ländlichen Raum an. Die Informatik spielt dabei eine Schlüsselrolle. Sie soll dieses Ziel durch die Entwicklung einer Mobilitätsplattform unterstützen, die serviceorientierte, komponentenbasierte und modellgetriebene Techniken nutzt, um bestimmte Funktionen bereitzustellen. Diese können dann von den Softwareunterstützungen der neu geschaffenen Mobilitätsservices gemeinsam genutzt werden. Bei dem in dieser Arbeit zu betrachtenden Mobilitätsservice liegt das Hauptaugenmerk auf dem Transport von Personen zu Supermärkten. Dabei bieten nicht nur die Supermärkte, sondern auch Privatpersonen ihre Fahrdienste an. Ziel ist es eine Softwareunterstützung für diesen Mobilitätsservice zu konzipieren und prototypisch zu realisieren. Dabei soll das in der Abteilung Softwaretechnik entwickelte SENSEI-Framework (Software Evolution Service Integration) genutzt werden, um auf der Grundlage von den zuvor erhobenen Geschäftsprozessen Funktionseinheiten zu modellieren. Diese Modelle und Orchestrationen stellen dann die Grundlage für die Implementierung dar. |
05.09.2017 16:50 SE Colloquium A02 2-219 | |
Maximilian Pahl:
Privater Mitfahrdienst für das Projekt NEMo
Das Projekt NEMo ist zurzeit ein Arbeitsgebiet in der Abteilung Softwaretechnik der Universität Oldenburg. Im Rahmen dieses Projektes wird versucht, die ländliche Mobilität durch die Kombination verschiedener bestehender oder neu entwickelter Mobilitätsdienste zu verbessern. In dieser Bachelorarbeit soll ein neuer Mobilitätsdienst entworfen und als Prototyp implementiert werden. Dieser neue Mobilitätsdienst, welcher 'privater Mitfahrdienst' genannt wird, ist ein atomarer Dienst. Das heißt, er soll Menschen nicht den gesamten Weg vom Start zum Ziel befördern, sondern in Kombination mit anderen atomaren Mobilitätsdiensten genutzt werden. Der private Mitfahrdienst soll Nutzern die Möglichkeit geben Strecken, die sie zu fahren planen, anzugeben und so anderen Nutzern ermöglichen auf diesen Strecken mitzufahren. Der Anreiz zum Nutzen dieses Mobilitätsdienstes ist nicht Geld, sondern ein projekteigenes Bonuspunktesystem. Der Entwurf des privaten Mitfahrdienstes umfasst die Beschreibung des Mitfahrdienstes, der Geschäftsprozesse und der Interaktion des Nutzers mit der Softwareunterstützung. Der Prototyp der Softwareunterstützung wird eine repsonsive Webanwendung werden, da der Dienst wahrscheinlich meist mobil genutzt wird und somit auf Smartphones und Heimrechnern nutzbar sein muss. Im Rahmen dieses Vortrages wird der Mobilitätsdienst ausführlich beschrieben und der derzeitige Stand der Bachelorarbeit gezeigt. |
05.09.2017 16:00 SE Colloquium A02 2-219 | |
Kimberly Hebig:
Mobilitätsservices - Katalog für NEMo
Immer mehr Menschen ziehen in den ländlichen Raum, wobei sich das öffentliche Leben zunehmend in die Städte verschiebt. Die auf dem Land lebenden Menschen sind daher darauf angewiesen, entweder ihren privaten PKW oder aber die öffentlichen Verkehrsmittel zu nutzen, um ihre Arbeit oder andere Einrichtungen zu erreichen. Um die Nutzung der öffentlichen Verkehrsmittel zu erhöhen, versucht das Projekt NEMo-Nachhaltige Erfüllung von Mobilitätsbedürfnissen im ländlichen Raum - den Menschen durch eine Software-Unterstützung zu helfen, die für sie beste Verkehrsverbindung zu finden. Innerhalb des Projektes fehlt jedoch eine Übersicht, an der sich die zu erledigenden Softwareentwicklungsarbeiten orientieren können. In diesem Vortrag soll ein Ansatz für einen solchen Überblick über integrierbare Mobilitätsservices in Form eines Katalogs gezeigt werden. Es wird der begriffliche und systematische Ansatz durch eine Taxonomie herausgestellt und die Grundlagen für den Katalog beschrieben. Dabei werden die vier Ebenen von NEMo erklärt und dabei auch das jeweilige Vorgehen bei der Erstellung von Katalogeinträgen auf diesen Ebenen. Dieses Vorgehen wird an einem Beispiel verdeutlicht. |
06.06.2017 16:00 SE Colloquium A02 2-219 | |
Phillip Kramer:
Erarbeitung und prototypische Realisierung eines Konzepts zur Herstellung von Traceability in der Entwicklung einer Software-Produktlinie
Gegenstand dieser Arbeit ist aufbauend auf einer ersten Problemstellung, den IST-Zustand der Software-Produktlinie BTC | AMM der BTC zu erfassen und zu analysieren. Der Fokus liegt auf die im Softwareentwicklungsprozess erstellten Artefakte, die Beziehungen zwischen den Artefakten, deren Traceability-Informationen sowie die Export-Möglichkeiten der Traceability-Informationen der Artefakte durch die verwendeten Tools. Kern der Erfassung und Analyse des IST-Zustands ist die Erstellung eines Domänenmodells der Artefakte sowie die Aufstellung von Traceability-Szenarien. Das erstellte Domänenmodell der Artefakte bildet die Basis für die Erarbeitung und prototypischen Realisierung eines Lösungsansatzes zur Herstellung von Traceability in der Entwicklung der Software-Produktlinie BTC | AMM und insbesondere zur Durchführung von Impact-Analysen (dt. Auswirkungsanalysen) über die im Softwareentwicklungsprozess des BTC | AMM erstellten Artefakte. Auf Basis des analysierten IST-Zustands wird ein Lösungskonzept erarbeitet und prototypisch realisiert, um das Problem "die Durchführung von Impact-Analysen über alle Softwareartefakte hinweg ist nur erschwert möglich und zugleich manuell, aufwendig sowie fehleranfällig" zu mindern oder sogar zu beseitigen. Das Ergebnis der prototypischen Realisierung des Lösungskonzepts, ist das Vorliegen eines Tools, mit dem Traceability in der Entwicklung der Software-Produktlinie hergestellt und weiterführend die Durchführung von Impact-Analysen (dt. Auswirkungsanalysen) ermöglicht wird. Anschließend wird das Tool von den Mitarbeitern der BTC unter Verwendung eines Fragebogens validiert. Die Validierung wird mit einer Ergebnisformulierung abgeschlossen, die weiterführend als Grundlage für das Aufzeigen von Handlungsempfehlungen für die Verantwortlichen des BTC | AMM dient. Für die Beherrschung ihrer Software-Produktlinie BTC | AMM und die Kontrolle, insbesondere der Nachverfolgbarkeit, zwischen den in dem Softwareentwicklungsprozess erstellten Artefakten, benötigt die BTC Impact-Analysen (dt. Auswirkungsanalysen), mit deren Durchführung, schnellstmöglich und effizient Auswirkungen von Artefakt-Änderungen nachverfolgt und kontrolliert werden können. Als Mehrwert könnten u.a. Kosteneinsparungen erzielt und Aufwandsschätzungen verbessert und erleichtert werden. |
30.05.2017 16:00 SE Colloquium A02 2-219 | |
Christian Schönberg:
Grundlagen von Ontologies
Christian Schönberg stellt in seinem Vortrag die Grundlagen von Ontologies vor und vergleicht diese mit den grundlegenden (Meta-)Modellierungskonzepten. |
23.05.2017 16:00 SE Colloquium A02 2-219 | |
Behailu Wolde:
Client Side Formal Approach For Testing The Cloud
Cloud computing is a new paradigm that has capability to provide functionality (i.e., service-level agreement (SLA)) and quality of service (QoS) for clients to interact without knowing with each other in new ways via an Internet. Based on the literatures, cloud enables using resources of distributed applications based on an SLA which includes complex dimensions, massive internal variability and remotely accessible free to be reused on-demand by distributed clients . However, the quality of cloud that is promised as per the SLA becomes blurred and intractable when one would wish to verify the expected benefits and thus, there is a need to validate using a new approach based on an interface scenario at the level of server sides, i.e., components. To ensure the SLA, the intended approach requires to have a new testing requirements that enable to capture a set of formal artifacts of service specifications for testing the cloud (TTC). TTC enables to specify a service capability to ensure quality of cloud without the access to components (i.e., service implementations). The difficulty is, thus, how to represent an approach using formalized functions to help client side testers (CSTs) understand for covering the required SLA as well as how to adapt test procedures for CSTs to use abstract test cases (ATCs) from the created approach to test service implementations. In addition, testing is not an easy job since TTC at the client side is not as simple as testing traditional software due to the test cases which base only on an interface scenario are not sufficient to cover all necessary input values for components. The solution idea is to create a Client Side Formal Approach (CSFA) for TTC as a Service (T2CaaS) from which the test procedures are set for CSTs to use the ATCs for validating and measuring test coverage of components for distributed clients; the goal is to measure and validate cloud functionality and QoS based on the CSFA that is created to TTC. T2CaaS uses the specific scenarios of a service for quality requirements from which testing requirements (i.e., test conditions) are described. Based on the test conditions, test cases from abstract service interface are derived to create CSFA. The identified ATCs are adapted to TTCN-3 (Testing and Test Control Notation 3) code and executed on the specific service, which is a System Under Test (SUT). At last, the expected results against test results are computed based on the standard metrics that are defined to validate risks of performance,availability, security, reliability, and resiliency. |
02.05.2017 16:00 SE Colloquium A02 2-219 | |
Muhammed Altuntas:
Tool-Chain zur Software-Migration nach HANA
Mit Intelligent Data Analytics (IDA), einer Eigenentwicklung der KPMG, werden Analysen im Bereich des Berechtigungsmanagements durchgeführt, um Schwachstellen und Risiken aufzudecken. Die Ergebnisse dieser Analysen werden dafür genutzt, um Kunden Maßnahmen und Verbesserungsprozesse im Berechtigungswesen vorzuschlagen. Im Rahmen des IDA-Migrationsprojekts werden die IDA-Analysen, die derzeit mit T-SQL-Prozeduren auf einer relationalen Datenbank ausgeführt werden, in eine In-Memory-Datenbank am Beispiel der SAP HANA überführt. Im Rahmen dieser Arbeit wird das Ziel verfolgt, ein IDA-Migrationsprozess bzw. -Vorgehensmodell zu erarbeiten und mit der Entwicklung einer Tool-Chain beispielhaft die Migration der IDA-Analysen aus einem MS-SQLServer in die HANA-Datenbank zu überführen. Zur Unterstützung des IDA-Migrationsprozesses wird eine Tool-Chain entwickelt, die sowohl eine Alt-Code-Sanierung (Tool 1), eine Umwandlung von T-SQL-Code in HANA-SQL (Tool 2) und HANA-seitige Automatisierungen/Optimierungen (Tool 3) vornimmt. Um die Ergebnisse der Arbeit zu evaluieren, werden sowohl die migrierten IDA-Analysen als auch die im Rahmen dieser Arbeit entwickelte Tool-Chain bewertet. Für den Beweis einer erfolgreichen Migration, werden die Ergebnisse der IDA-Analysen auf Korrektheit geprüft. Für die Evaluierung der Tool-Chain werden Qualitätskriterien definiert, mit Hilfe dieser sowohl die Entwicklung als auch die Anwendung der Tool-Chain bewertet wird. |
18.04.2017 17:00 SE Colloquium A02 2-219 | |
Kevin Aland:
Testen der Cloud - Eine strukturierte Literaturrecherche
Cloud-Computing ist ein hochaktuelles Thema. Die Big Player der IT-Industrie IBM, Google, Microsoft, Apple und Amazon bieten cloudbasierte Dienste an. Cloud Computing kann wertvolle Beiträge leisten und ganze Branchen zum positiven verändern. Von nahezu allen führenden Analysten wird Cloud Computing als einer der Top-5 IT-Trends gesehen. Es wird nicht mehr diskutiert ob Cloud Computing überhaupt eine praktikable Möglichkeit des IT-Sourcing ist, sondern vielmehr, wie diese Möglichkeit sich sicher mit hohem Nutzen für Firmen einsetzen lässt. Firmen versprechen sich vom Einsatz der Cloud Kostenreduktion, Flexibilität und vollkommen neue Geschäftsmodelle. Die Bereitstellung solcher Dienste wirft allerdings auch einige Fragen auf: Wie wird eine Cloud überhaupt getestet? Wie wird ein Service, der in einer Cloud Infrastruktur ausgeführt wird, getestet? Muss er eventuell anders getestet werden als Software die an einem Desktop ausgeführt wird. Diese Punkte werden in Form einer strukturierten Literaturrecherche beantwortet. Zuvor wird eine umfassende Taxonomie zum Thema Cloud und Testen der Cloud erstellt, damit alle Begrifflichkeiten klar definiert sind und eine Unterscheidung vorgenommen werden kann. |
18.04.2017 16:00 SE Colloquium A02 2-219 | |
Janine Haase:
Spezifikationsorientiertes Testen
Die Masterarbeit zum Thema „Spezifikationsorientiertes Testen“ wird im Rahmen eines IT-Projekts geschrieben, welches Fahrzeugverkaufs-Software für einen Fahrzeughersteller betreut und laufend weiterentwickelt. Jede Weiterentwicklung der Software durchläuft innerhalb des Projekts einen Prozess, in dem zu Beginn in Zusammenarbeit mit dem Autohersteller eine sogenannte Fachspezifikation, eine Zusammenstellung aller Anforderungen und weiterer für die Umsetzung relevanter Aspekte, erstellt wird, auf der alle folgenden Entwicklungs- und Testaktivitäten basieren. Aufgrund individueller Auslegung der Spezifikationsvorlage, uneindeutigen Formulierungen und teilweise lückenhaften Beschreibungen werden die Arbeiten des Entwicklungs- und des Testteams erschwert und zeitintensiv, sodass die Gefahr besteht, dass entweder die Softwarequalität leidet oder längere Bearbeitungszeiten hingenommen werden müssen. Um eine bessere und zuverlässigere, das bedeutet umfassendere bzw. tiefgründigere Testfallerstellung zur Überprüfung und Verbesserung der Softwarequalität zu ermöglichen, soll innerhalb dieser Arbeit das bestehende Template für Fachspezifikationen so überarbeitet werden, dass möglichst eindeutige und konsistente Informationen für das Entwickler- und das Testteam zur Verfügung gestellt werden können. Dafür werden vier Fachspezifikationen und deren Umsetzungen analysiert und ein neues Fachspezifikations-Template erstellt. Mithilfe des neuen Templates werden für eine bereits umgesetzte Weiterentwicklung eine neue Fachspezifikation und darauf basierend entsprechende Testfälle erstellt. Der benötigte Zeitaufwand für Fachspezifizierung und Testfallerstellung soll über die vorliegenden Analysedaten abgeglichen werden. Dazu wird eine Prüfung stattfinden, ob die zur damaligen Umsetzung durch Tester (intern) und durch Kunden (extern) aufgedeckten Fehlerwirkungen durch die neuen Testfälle ggf. früher und vor allem intern zu finden gewesen wären. Damit soll das neue Template zur Fachspezifikation als Problemlösungsansatz validiert werden. |
11.04.2017 16:00 SE Colloquium A02 2-219 | |
Timo Schlömer:
Modellgetriebene GUI Erstellung für serviceorientierte Anwendungen
Im Forschungsprojekt 'NEMo' ("Nachhaltige Erfüllung von Mobilitätsbedürfnissen im ländlichen Raum") sollen die Mobilitätsbedürfnisse der auf dem Land lebenden Bevölkerung durch innovative Ideen und durch die Nutzung von IT-Infrastruktur verbessert werden. Eine modulare, serviceorientierte Softwarearchitektur bietet sich an, um in diesem, sich ständig ändernden Markt, Änderung schnell in die IT-Infrastrukur einzupflegen. Das in dieser Abteilung entwickelte 'SENSEI' ("Software Evolution Service Integration") Framework kann Services modellgetrieben orchestrieren und soll im NEMo Projekt eingesetzt werden. Bei der Erstellung von graphischen Benutzeroberflächen stellen sich jedoch andere Herausforderungen an Software, als für im Hintergrund agierende Services. Interaktion der Anwendungen mit dem Nutzer und zustandsbasierte Bedienelemente sind im SENSEI Ansatz bislang noch nicht berücksichtigt worden und benötigen neue Modellierungselemente. In der Masterarbeit "Modellgetriebene GUI Erstellung für serviceorientierte Anwendungen" soll der SENSEI Ansatz um Interaktion erweitert werden und ein Interpreter erstellt werden, der ein Modell einer graphischen Benutzeroberfläche zu einer ausführbaren (und von einem Benutzer nutzbaren) Anwendung überführen kann. Um den Nutzen dieser Erweiterung im NEMo Forschungsprojekt zu demonstrieren, wird eine Webseite durch den Interpreter erstellt, welche einen typischen Anwendungsfall im Projekt wiederspiegelt. |
04.04.2017 17:00 SE Colloquium A02 2-219 | |
Carina Henkensiefken:
Analyse der Qualitätssicherung in der SAP ERP Entwicklung bei der CEWE Stiftung & Co. KGaA
Die Qualität von Softwareprodukten und Softwareentwicklungsprozessen ist ein wichtiger Bestandteil innerhalb der Softwareentwicklung. Die Masterarbeit befasst sich mit der Optimierung der Softwarequalität im Bereich der SAP-ERP-Entwicklung bei der CEWE Stiftung & Co. KGaA (CEWE). Hierzu wurden vier der acht Kriterien aus der ISO 25010 ausgewählt, die für die SAP-ERP-Entwicklung bei CEWE relevant sind. Es werden die Funktionalität, die Effizienz, die Wartbarkeit und die Zuverlässigkeit analysiert. Zur Verbesserung der Qualität bzgl. dieser Kriterien werden drei Maßnahmen im Rahmen der Masterarbeit umgesetzt. Als erstes wird die Anforderungserhebung durch die Einführung von Anforderungstemplates optimiert. Der Nutzen dieser Templates wird mittels Interviews mit dem Entwicklungsteam validiert. Mithilfe einer verbesserten Anforderungserhebung soll die Vollständigkeit in der Funktionalität gewährleistet werden. Bezüglich der Wartbarkeit ist eine Optimierung der Programmstruktur und Lesbarkeit geplant. Diese sollen durch die Einhaltung von Programmierrichtlinien erzielt werden. Um die Verbesserung der Lesbarkeit zu validieren, wird ein bestehendes Programm nach den Programmierrichtlinien überarbeitet. Die beiden Versionen werden anschließend verglichen und mit dem Entwicklungsteam diskutiert. Als dritte Maßnahme werden Unit-Tests in der SAP-ERP-Entwicklung eingeführt. Mithilfe von Unit-Tests lässt sich die Korrektheit von Software bestätigen. Hierfür werden Programmiertemplates als Kopiervorlagen erstellt. |
14.03.2017 17:00 SE Colloquium A02 2-219 | |
Tolga Tanimaz:
Architekturmodellierung für eine Sensor-gesteuerte Pflanzenaufzucht
Bei der Abschlusspräsentation, mit dem Titel: „Architekturmodellierung für eine Sensor-gesteuerte Pflanzenaufzucht“, werden die erarbeiteten Ergebnisse dieser Arbeit vorgestellt. Ziel dieser Arbeit ist es, eine Software-Architekturmodellierung eines Prototypes vorzunehmen, welches sich im Bereich der Sensor-gesteuerten Pflanzenaufzucht befindet. Das Unternehmen erminas GmbH hat im Rahmen dieser Bachelorarbeit einem Interview zugestimmt, in der Fragen zu den Funktionsweisen und Interessen der Stakeholder beantwortet wurden. Im weiteren Verlauf dieser Präsentation, werden die Herangehensweisen und die Ergebnisse, welche auf diesem Interview aufbauen, präsentiert. Aus den erarbeiteten Informationen der Anforderungsanalyse, wurde nach dem Siemens four Views Verfahren eine Software-Architektur nach modelliert. Die View und Viewpoints wurden nach der Modellierungssprache UML 2.0 modelliert und repräsentieren zusammen die Software-Architektur der Sensor-gesteuerten Pflanzenaufzucht. |
14.03.2017 16:00 SE Colloquium A02 2-219 | |
Dennis Vorreiter:
Modellierung eines Refrenz-Metamodells für Anforderungsbeschreibungen
Die Anforderungserhebung ist unabhängig eines bestimmten Vorgehensmodells (Scrum, Extreme Programming, etc.) Grundlage der Softwareentwicklung. Die Beschreibung der dabei definierten Anforderungen erfolgt allerdings mit großer Variabilität in Formulierung und Darstellung, sodass relevante Informationen, abhängig des Vorgehensmodells, unterschiedlich verwaltet werden. Dies führt insbesondere nach Abschluss eines Projekts zu einer erschwerten Rückverfolgbarkeit zwischen Source Code oder UML-Diagrammen und einzelnen Anforderungen sowie dem Verlust von impliziten Wissen, das während des Entwicklungsprozesses gewonnen wurde. Die Masterarbeit befasst sich in diesem Kontext mit der Modellierung eines Referenz-Metamodells für Anforderungsbeschreibungen. Eine solche Referenz soll die grundlegende Struktur der Beschreibung von Anforderungen definieren und diese auf verschiedene Vorgehensmodelle anwenden können. Das Ziel dieser Arbeit ist die Modellierung und Validierung einer solchen Referenz. Hierfür wird die Art der Anforderungsbeschreibung ausgewählter Vorgehensmodelle unter einem selbstdefinierten Schema analysiert, strukturiert und mittels Metamodellen modelliert. Aus den daraus entstehenden Ergebnissen wird dann ein Referenz-Metamodell in Form eines UML-Klassendiagramms erstellt und mit Hilfe einer vorher definierten Anforderungsbeschreibung bewertet. |
07.03.2017 16:00 SE Colloquium A02 2-219 | |
Lars Deeken:
Mapping von Java auf das Dagstuhl Middle Model
Die Bachelorarbeit, mit dem Thema Mapping von Java auf das Dagstuhl Middle Model, befasst sich mit der Transformation eines Java-Programmes in eine Instanz des Dagstuhl Middle Model. Dieses Modell bietet die Möglichkeit objektorientierte Programme als Graphen darzustellen. Durch die Verallgemeinerung von objektorientierten Programmiersprachen, ist es mit diesem Modell möglich Analysen auf Programmen zu realisieren, welche in verschiedenen objektorientierte Programmiersprachen geschrieben sind. Instanzen dieses Modells bieten eine schnelle Übersicht darüber, welche Methoden oder Felder nicht verwendet werden. Durch diese Erkenntnisse können Programme optimiert und überflüssiger Code entfernt werden. Das Ziel dieser Bachelorarbeit ist es ein Programm zu realisieren, welches ein Java-Programm in eine Instanz eines Java-Metamodells transformiert um von da aus diese Instanz in eine Instanz des Dagstuhl Middle Model abzubilden. Abschließend soll diese Instanz wieder in das ursprüngliche Java-Programm übersetzt werden. Da das Dagstuhl Middle Model keine Methodeninhalte abbildet, muss für den Rückweg zum Java-Programm eine Möglichkeit gefunden werden diese dennoch zu übernehmen. |
21.02.2017 16:00 SE Colloquium A02 2-219 | |
Christian Schönberg:
Semantic Processing of Digital Documents
In my Phd thesis I present a novel approach to modelling and processing digital documents. In contrast to other modelling approaches, I model the structure of documents as indicated by the content, not as defined by technical attributes like the file format. Additionally, my meta-model can be applied to a wide range of different documents, not just to a small set of documents with a predefined set of features. The models include semantic data and content relationships, which can be further extended with domain knowledge. All of this makes my document models immediately suitable for a wide range of applications, including document consistency verification and knowledge extraction. A new separation of technical and semantic document models fuels a standardised method for obtaining semantic models. This method is effective, suitable for live processing, and easily transferable to other document types and other domains. A flexible technique for obtaining relevant data from the document models completes the approach. This includes the ability to obtain various verification models, suitable for different types of consistency criteria and for different validation formalisms. The evaluation shows the viability and effectiveness of the proposed approach. I present runtime results that are adequate for live processing, and provide and successfully apply techniques for measuring the quality of both document models and background knowledge. |
17.01.2017 16:00 SE Colloquium A02 2-219 | |
Phillip Kramer:
Erarbeitung und prototypische Realisierung eines Konzepts zur Herstellung von Traceability in der Entwicklung einer Software-Produktlinie
Cloud-Computing ist ein hochaktuelles Thema. Die Big Player der IT-Industrie IBM, Google, Microsoft, Apple und Amazon bieten cloudbasierte Dienste an. Cloud Computing kann wertvolle Beiträge leisten und ganze Branchen zum positiven verändern. Von nahezu allen führenden Analysten wird Cloud Computing als einer der Top-5 IT-Trends gesehen. Es wird nicht mehr diskutiert ob Cloud Computing überhaupt eine praktikable Möglichkeit des IT-Sourcing ist, sondern vielmehr, wie diese Möglichkeit sich sicher mit hohem Nutzen für Firmen einsetzen lässt. Firmen versprechen sich vom Einsatz der Cloud Kostenreduktion, Flexibilität und vollkommen neue Geschäftsmodelle. Die Bereitstellung solcher Dienste wirft allerdings auch einige Fragen auf: Wie wird eine Cloud überhaupt getestet? Wie wird ein Service, der in einer Cloud Infrastruktur ausgeführt wird, getestet? Muss er eventuell anders getestet werden als Software die an einem Desktop ausgeführt wird. Diese Punkte werden in Form einer strukturierten Literaturrecherche beantwortet. Zuvor wird eine umfassende Taxonomie zum Thema Cloud und Testen der Cloud erstellt, damit alle Begrifflichkeiten klar definiert sind und eine Unterscheidung vorgenommen werden kann. |
10.01.2017 15:00 SE Colloquium A02 2-219 | |
Robert Schadek:
Modellgetriebene Generierung von Software fürs Web
|
2016
-
welche Artefakte in welchen Phasen des Softwareentwicklungsprozesses generiert werden, -
welche Tools hierbei eingesetzt werden (Toolmapping) und inwieweit diese bei der Herstel-lung von Traceability unterstützen können, -
welche Traces (Traceability-Links etc.) zwischen den Artefakten vorliegen/nicht vorliegen, -
wie aus den bestehenden Artefakten (Domänenmodell der Artefakte) ein Traceability-Meta-Modell abgeleitet werden kann
22.11.2016 16:00 SE Colloquium A02 2-219 | |
Kevin Aland:
Testen der Cloud - Eine strukturierte Literaturrecherche
Die Masterarbeit, die in Kooperation mit der Business Technology Consulting AG (BTC) verfasst wird, beschäftigt sich mit der Erarbeitung und Realisierung eines Konzepts, mit dem eine Minderung oder Beseitigung des vorhandenen Problems der BTC - keine Möglichkeit Impact-Analysen über alle Soft-wareartefakte hinweg durchzuführen -, angestrebt wird. Das Konzept zielt auf die Herstellung von Traceability in der Entwicklung einer Software-Produktlinie der BTC ab. Die zentrale Fragestellung dieser Masterarbeit untersucht, ob und inwiefern das vorhandene Problem der BTC durch das Kon-zept gemindert oder beseitigt wird.
Gegenstand dieser Arbeit ist die Konzeption und anschließende Realisierung eines Lösungsansatzes, durch diesen die Fähigkeit „Traceability“
im Softwareentwicklungsprozess der Software-Produktlinie der BTC hergestellt wird. Hierfür ist die Betrachtung des etablierten Softwareentwicklungsprozess unabdingbar.
Es ist u.a. zu erfassen/identifizieren
Das Ziel der Masterarbeit ist, aufbauend auf einer ersten Problemstellung, den IST-Zustand der Soft-ware-Produktlinie der BTC zu erfassen und zu analysieren sowie eine detaillierte Problemanalyse durchzuführen. Auf Basis der zu analysierenden IST-Situation und vorliegenden Probleme wird ein Lösungsansatz konzeptioniert und alternative Lösungen aufgezeigt. Der konzeptionierte Lösungsan-satz wird anschließend prototypisch realisiert. Weiterführend wird die Validierung des realisierten Lösungsansatzes vorgenommen, für diese aus der Problemstellung abgeleitete Validierungsfälle her-angezogen werden. Abschließend werden die Ergebnisse formuliert und die erreichten Ergebnisse dieser Masterarbeit evaluiert. |
01.11.2016 16:00 SE Colloquium A02 2-219 | |
Tolga Tanimaz:
Architekturmodellierung für eine Sensor-gesteuerte Pflanzenaufzucht
Die Bachelorarbeit zum Thema "Architekturmodellierung für eine Sensor-gesteuerte Pflanzenaufzucht" befasst sich mit der Redokumentation eines Software-Systems. Ziel dieser Bachelorarbeit ist es, eine Architekturmodellierung eines Software-SystemsAnhand eines Praxisbeispiels, welches sich mit der Thematik der Sensor-gesteuerte Panzenaufzucht besch aftigt, vorzunehmen. In Kooperation mit einer Firma hat sich diese bereit erkl ärt, im Rahmen dieser Bachelorarbeit Auskunft über das bestehende Software-System und Vorstellungen über die weiter Entwicklung zu geben. Dazu wird in der ersten Phase der Anforderungserhebung ein Interview gef ührt, worin grundlegende Fragen zu den Funktionalen- und nicht Nicht-Funktionalen-Anforderungen, derzeitige Software-Architektur, Stakeholdern und Concerns gestellt werden. Nach der Validierung und Evaluation der Antworten werden die Anforderungen abgeleitet und aus diesen Informationen die Views und Viewpoints erstellt. Mit der Erstellung der Views und Viewpoints und der Bestimmung der Stakeholder und Concerns sind die wesentlichen Einflüsse und die Bestandteile dieser Software-Architektur vollst andig. Die erstellte Software-Architektur dient nicht nur einer Redokumentation, sondern kann bspw. als Praxisbeispiel verwendet werden. |
25.10.2016 16:00 SE Colloquium A02 2-219 | |
Johannes Meier:
Metamodel Integration
Johannes Meier präsentiert die aktuellen Ergebnisse seiner Doktorarbeit unter dem Arbeitstitel "Metamodel Integration" mit anschließender Diskussion. |
18.10.2016 16:00 SE Colloquium A02 2-219 | |
Christoph Küpker:
Applying the SENSEI Service Orchestration Approach to WSO2
SENSEI is a framework for software evolution tool integration. Toolchains can be defined on abstract service levels, avoiding interoperability issues of tools, using orchestration mechanisms and implementing toolchains by mapping used services to known implementations automatically. This work applies the SENSEI approach in a new domain, the WSO2 middleware for distributed systems. The thesis is embedded into the project NEMo which aims to enhance the mobility in rural areas. The goal is to assess if and how the SENSEI approach can be applied so that new functionalities can be achieved by reusing, integrating and orchestrating available services within the project in a fast, flexible and sustainable manner. The problem is solved by the implementation of an orchestration interpreter, capable of using web services provided through the WSO2 middleware. The approach is validated against project NEMo by simulating orchestrations for intermodal route generation with restricted means of transportation, showing that disadvantages of previous hard-coded solutions can possible eliminated using the orchestration approach. Gegenstand dieser Masterarbeit ist demgemäß die Erstellung einer Methode zur Evaluierung von Softwaretestwerkzeugen, sodass eine effektive Methode zur Auswahl von Softwaretestwerkzeugen bereit gestellt werden kann und in der Praxis je nach Testart die geeigneten Testwerkzeuge zur Umsetzung vorgeschlagen werden können. Eine ausführliche Untersuchung und Beschreibung der Testarten und eine Marktübersicht über die verfügbaren Testwerkzeuge zur Durchführung dieser Testarten bilden die Grundlage der vorliegenden Arbeit. Hieraus resultieren wiederum Vorschläge für eine Umsetzung in der Praxis (In der Software Engeneering Abteilung), damit eine kontinuierliche Überprüfung Ihren Software-Produkten erfolgen kann. Für die Analyse der zu untersuchten Testwerkzeuge werden Testfälle aus Q-MIG extrahiert . |
11.10.2016 16:00 SE Colloquium A02 2-219 | |
Janine Haase:
Spezifikationsorientiertes Testen
Die Masterarbeit zum Thema „Spezifikationsorientiertes Testen“ wird im Rahmen eines IT-Projekts geschrieben,welches Fahrzeugverkaufs-Software für einen Fahrzeughersteller betreut und laufend weiterentwickelt. Jede Weiterentwicklung der Software durchläuft innerhalb des Projekts einen Prozess, in dem zu Beginn in Zusammenarbeit mit dem Autohersteller eine sogenannte Fachspezifikation, eine Zusammenstellung aller Anforderungen und weiterer für die Umsetzung relevanter Aspekte, erstellt wird, auf der alle folgenden Entwicklungs- und Testaktivitäten basieren. Aufgrund individueller Auslegung der Spezifikationsvorlage, uneindeutigen Formulierungen und teilweise lückenhaften Beschreibungen werden die Arbeiten des Entwicklungs- und des Testteams erschwert und zeitintensiv, sodass die Gefahr besteht, dass entweder die Softwarequalität leidet oder längere Bearbeitungszeiten hingenommen werden müssen. Um eine bessere und zuverlässigere, das bedeutet umfassendere bzw. tiefgründigere Testfallerstellung zur Überprüfung und Verbesserung der Softwarequalität zu ermöglichen, soll innerhalb dieser Arbeit das bestehende Template für Fachspezifikationen so überarbeitet werden, dass möglichst eindeutige und konsistente Informationen für das Entwickler- und das Testteam zur Verfügung gestellt werden können. Dafür werden vier Fachspezifikationen und deren Umsetzungen analysiert und ein neues Fachspezifikations-Template erstellt. Mithilfe des neuen Templates werden für eine bereits umgesetzte Weiterentwicklung eine neue Fachspezifikation und darauf basierend entsprechende Testfälle erstellt. Der benötigte Zeitaufwand für Fachspezifizierung und Testfallerstellung soll über die vorliegenden Analysedaten abgeglichen werden. Dazu wird eine Prüfung stattfinden, ob die zur damaligen Umsetzung durch Tester (intern) und durch Kunden (extern) aufgedeckten Fehlerwirkungen durch die neuen Testfälle ggf. früher und vor allem intern zu finden gewesen wären. Damit soll das neue Template zur Fachspezifikation als Problemlösungsansatz validiert werden. |
15.09.2016 Workshop | |
Software-Engineering aims at developing and evolving software systems in an economic manner, considering project specific needs and quality goals. One of these quality goals, which become more and more important, is “energy efficiency of software systems”. Improving the energy consumption of mobile devices will not only increase the uptime and battery lifespan, it will also improve the carbon footprint. Viewing energy efficiency, is not only restricted to mobile devices, it also affects e.g. embedded systems and data centers, where energy is a major factor in costs and environmental burden. Next to serious and ongoing efforts in hardware design, on operating system level, and by optimized code generation, software engineering techniques also contribute to optimizing energy consumption by improving software design: wasting energy can be avoided by e.g. removing energy code smells, improving data-base queries and storage methodologies, exchanging fast, but energy consuming components by slower but more energy efficient alternatives. The EASED workshop series on Energy Aware Software-Engineering and Development, which will be held at EnviroInfo for the 5th time, focusses on the intensive presentation and discussion of methods and technologies to optimize the energy consumption of systems by improving the used software. |
30.08.2016 16:00 SE Colloquium A02 2-219 | |
Aljoscha Meyer:
Abstrakte Semantische Graphen für Javacode
Um automatisiert mit Sourcecode arbeiten zu können, ist eine bessere Datenstruktur als bloßer Quelltext nötig. Abstrakte semantische Graphen (ASGs) sind eine solche Darstellungsform. Neben der hierarchischen Struktur des Codes stellen sie auch Zusammenhänge zwischen verschiedenen Bestandteilen des Codes dar. In dieser Abschlussarbeit wurden ein formales Metamodell für ASGs ermittelt sowie Tooling entwickelt, um ASGs für konkrete Sprachen zu implementieren. Diese Implementierungen benutzen die API des Eclipse Modeling Frameworks, sodass die resultierenden ASGs mit beliebigen EMF basierten Tools weiterverwendet werden können. Als konkrete Anwendung wurde eine vollständige Implementierung für Java entwickelt. Sie nutzt einen bestehenden Parser, um Code in ASGs und wieder zurück zu Code zu transformieren. |
04.07.2016 10:15 SE Colloquium A05 1-158 | |
Carl Worms:
Managed Evolution of Large IT Systems - Practitioner Report
Der Vortrag behandelt das Technologie-Management grosser IT-Landschaften, wie sie z.B. bei Grossbanken anzutreffen sind. Zentral ist hierbei die hohe Komplexität, sowohl technisch wie organisatorisch. Der Referent wird vorstellen, wie eine erfolgreiche Enterprise und IT Architecture mittel- bis langfristig die Evolution einer IT-Landschaft steuert. Dieses beinhaltet die Architektur-Governance, die organisatorische Struktur (Business Architecture, Application Architecture, Platform Architecture, etc.) und Prinzipien der sogenannten "Managed Evolution", die anhand praktischer Beispiele aus der Applikations- und die Integrationsarchitektur vorgestellt wird. Ab-schliessend werden praktische Fragestellungen zum hochaktuellen Thema "Cloud-Migration von Applikati-onen" behandelt. Der Kolloquiumsvortrag von Carl Worms leitet das fünfte gemeinsame Seminar für Masterstudierende der Softwaretechnik-Arbeitsgruppen der Universität Bremen (Rainer Koschke), der Universität Hamburg (Matthias Riebisch), der Technischen Universität Hamburg-Harburg (Sibylle Schupp) und der Universität Oldenburg (Andreas Winter) ein. |
07.06.2016 16:00 SE Colloquium A02 2-219 | |
Ruthbetha Kateule:
Reference Architecture for Sensor Based Environmental Information System (RefSBEIS)
Sensor based environmental information systems are in use worldwide such as road traffic control systems, air pollution detection systems and others. However, development and maintenance of these systems are difficult and time consuming. Despite their great diversity in application domains, technically these systems possess similar components that could be unified and presented in a single standardized architecture i.e reference architecture. This reference architecture will facilitate the rapid development and maintenance of concrete system architectures for sensor based environmental information systems. In this presentation, viewpoints of the proposed Reference Architecture for Sensor based Environmental Information Systems (RefSBEIS) will be presented. |
- proposes to develop an optimal testing model that will be determined heuristically the harmony of application behaviour with cloud services.
- will consider the SOA testing approach to emulate the cloud orchestration for the optimal testing model so as to apply testing and intervention for cloud services.
- will also include validation of the optimal testing model using case studies so as ensure their code coverage and efficiency in accordance with ISO/IEC 9126 software quality standards.
31.05.2016 16:00 SE Colloquium A02 2-219 | |
Behailu Wolde:
Intelligent Software Testing in Cloud Computing
Business applications are becoming complex and difficult for manufacturing and industries to provide local testing facilities for validating and evaluating the status of real-time environments. It is indeed a challenge for conventional software testing that incurs high capital cost to simulate real-world user traffic from different geographic locations. Luckily, cloud based approach has emerged to software testing where cloud computing are leveraged its pool of computing resources through virtualization and automation of service orchestration by significantly decreasing costs. With cloud computing, software is used and not owned, and operation happens on machines that are out of the user’s control. On the other hand, software testing in cloud that can have capability on analyzing behavior of the cloud application is at infant stage and not studied very well since the dynamic nature of the application (i.e., virtual machines that place the services) on the cloud are more complex, uncertain and hard to predict the anomaly of intrinsic and external properties associated with its services. Therefore, with methodical procedures of this study, the software testing as testing cloud services effort shall have major processes such as: reviewing design specification and functional requirements, developing user scenarios and/or UML use case, designing test cases, generating minimum test cases, optimizing the minimum test cases using metaheuristic approach, test execution, and test evaluation. As a result, this vision |
24.05.2016 16:00 SE Colloquium A02 2-219 | |
Aljoscha Meyer:
Abstrakte Semantische Graphen für Javacode
Ein Abstrakter Semantischer Graph (ASG) ist eine hierarchisch strukturierte Repräsentation von Sourcecode. Beziehen sich unterschiedliche Teile von Sourcecode auf die selbe Entität der Programmiersprache, sind die entsprechenden Knoten im ASG miteinander verbunden. Diese Darstellung ist für viele Usecases der Softwaretechnik gut geeignet, beispielsweise für Metrikberechnung und Transformationen. In dieser Arbeit wird ein konkreter Ansatz entwickelt, um ASGs für Javacode zu erhalten, indem zunächst bestehende Software einen Abstrakten Syntax Baum erstellt, welcher anschließend in einen ASG transformiert wird. Der ASG wird mithilfe des Eclipse Modeling Frameworks (EMF) dargestellt, sodass beliebige general purpose tools des Frameworks schlussendlich verwendet werden können, um auf Javacode zu operieren. |
15.03.2016 16:00 SE Colloquium A02 2-219 | |
Max Harms:
Änderungsbasierte Testselektion
Das systematische Testen von umfangreicher Software führt häufig zu einer großen Anzahl von Testfällen. Diese auszuführen kann, abhängig vom Projekt, viel Zeit in Anspruch nehmen. Bei der Entwicklung kommt es jedoch häufig vor, dass kleinere Änderungen am Produktcode erfolgen, etwa um Bugfixes durchzuführen. Müssen bei diesen Änderungen alle Tests erneut ausgeführt werden, verzögert sich das Feedback an die Entwickler um die Gesamtlaufzeit der Testsuite. Testselektion versucht, diesen Effekt einzudämmen, indem nur diejenigen Tests erneut ausgeführt werden, die durch Änderungen betroffen sein könnten. Hierbei ist die Sicherheit wichtig, d.h. alle Fehler, die ohne Testselektion angezeigt werden, müssen auch von der reduzierten Testmenge aufgedeckt werden. Diese Arbeit erarbeitet ein solches Verfahren und implementiert es in einem Java-Tool. Das Tool wird genutzt, um den Effekt einer Testselektion auf das Beispielprojekt Q-MIG und weitere Open-Source-Projekte zu evaluieren. |
01.03.2016 16:00 SE Colloquium A02 2-219 | |
Carolin Huy:
Visualisierung von Qualitätsmerkmalen in der Softwaremigration
Grundstein für die Aufgabenstellung dieser Masterarbeit ist das Kooperationsprojekt "Entwicklung einer qualitätsgetriebenen, generischen Werkzeugkette für die Software-Migration (Q-MIG)" der Firma pro et con und der Abteilung Softwaretechnik der Universität Oldenburg. Dies befasst sich mit der Migration von Softwaresystemen und deren Qualitätserhaltung. Dabei wurden Techniken entwickelt, um die Migration automatisiert durchzuführen und die Qualität der verschiedenen Softwaresysteme zu überprüfen. Im Rahmen dieser Masterarbeit erfolgte eine Anforderungserhebung an ein Werkzeug zur Visualisierung von Qualitätsmerkmalen in der Softwaremigration. Zum besseren Verständnis wurden die Anwendungsfälle eines solchen Werkzeugs identifiziert und konkrete Lösungsansätze für mögliche Visualisierungen erstellt. Zudem wurde der Einsatz bereits existierender Werkzeuge diskutiert. |
24.02.2016 17:00 SE Colloquium A02 2-219 | |
Johannes Meier:
Towards Metamodel Integration Using Reference Metamodels
The complexity of modern software engineering projects increases with growing numbers of artefacts, domain specific languages, and stakeholders with their concerns. To overcome these demands, different viewpoints are used to describe different languages specifying different artefacts, specific concerns of stakeholders, and domain specific languages. Therefore, the use of different viewpoints together in one software engineering project increases and requires technical support for automatic synchronization of the used viewpoints. This paper gives an overview about use cases for viewpoint synchronization and compares their fulfillment by existing approaches. As result, this vision paper proposes a new approach for synchronization of viewpoints to overcome the presented use cases with focus on reduction in synchronization and integration effort, on reuse of integration knowledge, and on metamodel evolution. |
12.01.2016 16:00 SE Colloquium A02 2-219 | |
Ola Mustafa:
Model-based migration methodology for object-oriented legacy systems to cloud environment
The evolution of cloud computing technology with its key feature of sharing resources of infrastructure, platform, software and business, triggers the development vision of many organizations to adopt such technology because of various drivers by migrating their legacy applications. Challenges of complexity, lack of proven methods and strategies and the short term experience in such field discourage many organizations of taking the risk of migration. That evolves the research direction of investigating the methods and strategies of migrating legacy systems to cloud environment trying to provide a roadmap for businesses to follow in order to achieve such a challenging mission. Different business models, architectures, programming languages and many other factors make it impossible to have one general solution for migrating all legacy systems and there will be still legacy systems with higher risk and cost to migrate than other systems. Many considerations lead to different methods and strategies in research, each concentrate on a particular phase in the migration process. Investigating the research work leads to this proposal which suggests narrowing the focus of legacy systems scope which will guarantee a certain base of granularity and shared characteristics and as a result, a focused solution. Different processes need to be considered for different migration strategies, and different tasks will be involved accordingly. Moreover, it has been also observed that there is hardly any guidance available for migrating existing systems to cloud computing in terms of software engineering aspects regarding object-oriented legacy systems. This presentation will discuss the statement of proposing a model-based methodology for object-oriented based legacy systems to cloud environment and the motivation behind the research, related work, research design and methodology, research questions for the proposed research. |
15.12.2015 16:00 SE Colloquium A02 2-219 | |
Johannes Meier:
Metamodel Integration using Reference Metamodels
In multi-perspective software development, several perspectives exist presenting different views on the developed artefacts like sourcecode, architecture descriptions, requirements, and testcases. Because some perspectives handle the same data and all the data have relationships between each other, there is a strong need for synchronization of the data between different perspectives. As example, architecture descriptions like UML component and class diagrams show the main parts of the sourcecode, which results in the need for synchronization between diagrams and sourcecode. To solve this problem, there exist two general approaches: Synthetic approaches create manually transformations for the synchronization of the data between different perspectives. Projectional approaches create an integrated metamodel (called SUMM) which describes the complete current domain (here software development) consisting of the viewpoints of all perspectives. The perspectives read and write data directly from and to one big model containing all data of all perspectives conforming to the SUMM. This thesis follows the projectional SUMM approach using integrated metamodels. The problem in the area of integrated metamodels is, that there exist no approach for creating SUMMs. Therefore, this PhD thesis aims at developing and validating a method for integrating single metamodels (CMMs) into one SUMM. |
10.11.2015 16:00 SE Colloquium A02 2-219 | |
Liliane Anick Tchoua Tsafack:
Evaluierung von Software Testwerkzeuge
Heutzutage bestimmen Softwareprodukte unseren Alltag, in dem alles automatisiert wird, wie etwa die Telefonie, der Kalender, der Einkauf, der Zahlungsverkehr, Verkehrsmittel usw. Diese zunehmende Symbiose mit Softwareprodukten macht immer höhere Investitionen in Qualität sichernde Maßnahmen notwendig, damit hoch qualitative Softwareprodukte auf dem Markt angeboten werden können und diese zudem kontinuierlich ihr Qualitätsniveau behalten. Eine Maßnahme, die dies möglich macht, ist der Einsatz von Softwaretestwerkzeugen. Es wird jedoch in der Praxis eine Vielzahl von Testwerkzeugen angeboten, die verschiedene Testaufgaben durchführen können, sodass eine Übersicht im Sinne einer Entscheidung über die geeigneten Werkzeuge für die jeweiligen Testaufgaben erschwert ist. In der Softwaretechnik-Abteilung der Carl von Ossietzky Universität Oldenburg werden aktuell mehrere Software-Produkte entwickelt , betreut und angepasst , wobei diese kontinuierlich überprüft werden müssen, sodass es notwendig ist, hierfür effiziente Lösungen zu finden. z.B.: Q-MIG (Qualitätsgetriebenen, generischen Werkzeugkette für die Software-Migration ) Q-MIG ist ein Software Produkt der Software Engeneering Abteilung und pro et con GmbH zur Untersuchung der Qualität von Software unter Migration und den Aufbau eines integrierten Toolchain um diese zu unterstützen. Gegenstand dieser Masterarbeit ist demgemäß die Erstellung einer Methode zur Evaluierung von Softwaretestwerkzeugen, sodass eine effektive Methode zur Auswahl von Softwaretestwerkzeugen bereit gestellt werden kann und in der Praxis je nach Testart die geeigneten Testwerkzeuge zur Umsetzung vorgeschlagen werden können. Eine ausführliche Untersuchung und Beschreibung der Testarten und eine Marktübersicht über die verfügbaren Testwerkzeuge zur Durchführung dieser Testarten bilden die Grundlage der vorliegenden Arbeit. Hieraus resultieren wiederum Vorschläge für eine Umsetzung in der Praxis (In der Software Engeneering Abteilung), damit eine kontinuierliche Überprüfung Ihren Software-Produkten erfolgen kann. Für die Analyse der zu untersuchten Testwerkzeuge werden Testfälle aus Q-MIG extrahiert . |
- Enabling software evolution practitioners to easily build toolchains tailored to their project-specific needs, focusing on the techniques to be employed, and the processes to be supported, while being as implementation-agnostic as possible, and abstract from interoperability issues.
- Enabling tool developers to easily build tools with standardized, interoperable interfaces, or extend existing tools, with as little limitations to implementation technology choices as possible.
- surveying tools and techniques, and compiling them into acatalog of standardized software evolution services,
- utilizing existing, component-based technology to provide an integration framework using the catalog as a basis, and
- providing a means to describe software evolution processes in terms of coordinated services, and to automatically generate toolchains based on the integration framework.
03.11.2015 16:00 SE Colloquium A02 2-219 | |
Jan Jelschen:
Software Evolution Services – A Framework for the Integration and Development of Flexible and Reusable
Toolchains
Large software evolution, migration, or reengineering projects usually require a combination of different techniques to analyze, reverse engineer, transform, and visualize (legacy) software systems under evolution. As each project has different goals, toolchains supporting their processes need to be tailored individually to their specific requirements. Many tools exist, yet mostly only implement a single technique, and are usually not designed for interoperability. Therefore, for each project, a toolchain has to be built by selecting the techniques required, finding appropriate tools implementing them, and then integrating these tools. With little to no means of interoperability, this involves creating a lot of glue code and data transformations to “wire up” all tools in the desired ways, a tedious and error-prone task. It yields brittle and inflexible toolchains, as extending or changing the toolchain, or swapping one tool for an alternative implementation, will require to also write new glue code. Consequently, this code is also non-reusable, as it is usually hard-wired to specific interfaces of the tools glued together. The lack of tool interoperability is recognized by the software evolution research community as a general challenge of the field. So far, existing approaches were aimed at integrating on a low-level via exchange file formats, building a closed platform without the ability to easily incorporate existing tools, or leveraging similarities of certain sets of tools, limiting application range. The proposed PhD thesis puts forward theSensei-approach (Software EvolutioN Service Integration), aimed at improving software evolution tool interoperability, and largely automate toolchain integration. Based on the fact that a large body of software evolution tools exist, yet they lack sufficient interoperability means to be easily integrated into the required, tailor-made toolchain, the following two main objectives are derived: The approach taken towards these objectives is based on viewing software evolution techniques as services, to abstract from interoperability issues. It entails For validation, will be applied to real-world projects, e.g. for Q-MIG, a joint venture of University of Oldenburg’s software engineering group and pro et con GmbH, aimed at investigating the quality of software under migration, and building an integrated toolchain to support it. Furthermore, is thought to be applicable beyond the field of software evolution. To put this claim to the test, it is planned to apply the approach to at least one different field, e.g. toolchains supporting the development of energy-efficient applications, as well as a self-application. |
13.10.2015 17:00 SE Colloquium A02 2-219 | |
Ruthbetha Kateule:
Improve Transport by Cost-Effective and easily Adaptable sensors
This research aims at improving the utilization of the existing road infrastructure by cost-effective and easily adaptable sensors in collecting traffic information, traffic flow optimization, guidance mechanisms for traffic operators while controlling traffic flow as well as provision of up-to-date traffic information to travellers. The research will conduct thoroughly investigation on the development of the generic Wireless Sensor Networks (WSN) architecture and traffic control models considering the road networks characteristics of Dar es salaam city in Tanzania as case of study. The successful completion of this research will improve the performance of road transportation sector in developing countries hence contributing to the socioeconomic development. This talk will give an overview on the concepts and techniques underlying modern Software architecting |
13.10.2015 16:00 SE Colloquium A02 2-219 | |
Max Harms:
Ein Verfahren zur änderungsbasierten Testselektion: Evaluation am Beispiel des Projekts Q-MIG mit einem
Java-Tool
Das systematische Testen von umfangreicher Software führt häufig zu einer großen Anzahl von Testfällen. Diese auszuführen kann, abhängig vom Projekt, viel Zeit in Anspruch nehmen. Bei der Entwicklung kommt es jedoch häufig vor, dass kleinere Änderungen am Produktcode erfolgen, etwa um Bugfixes durchzuführen. Müssen auch bei diesen alle Tests erneut ausgeführt werden, um die Korrektheit der Software zu gewährleisten, verzögert sich das Feedback an die Entwickler um die Gesamtlaufzeit der Testsuite. Testselektion versucht, diesen Effekt einzudämmen, indem nur diejenigen Tests erneut ausgeführt werden, die durch Änderungen betroffen sein könnten. Diese Arbeit stellt ein solches Verfahren vor und implementiert es in einem Java-Tool. Das Tool wird genutzt, um den Effekt einer Testselektion auf das Beispielprojekt Q-MIG zu evaluieren. |
06.10.2015 16:00 SE Colloquium A02 2-219 | |
Thomas Crone:
Analyse der Modernisierungsstrategie bei einem mittelständischen Unternehmen
Die Firma DM EDV und Bürosysteme GmbH ist Anbieter von Softwarelösungen für den Pflegebereich. Die Hauptprodukte sind die Abrechnungsprogramme DM APS und DM HVP für die ambulante sowie stationäre Pflege, welche über lange Jahre entwickelt, gewartet und erfolgreich eingesetzt wurden. Um zukunftsfähig zu bleiben, werden diese Produkte derzeit modernisiert. Dabei müssen bestehende Funktionalitäten in eine moderne Umgebung migriert und zur Erhöhung der Softwarequalität saniert werden. Darüber hinaus sollen auch neue Funktionen und Verbesserungen eingepflegt werden. In der Masterarbeit wurde eine Ist-Analyse dieses Modernisierungs-Projektes sowie des aktuellen Vorgehens durchgeführt und mit Vorgehensmodellen aus der Literatur abgeglichen. Dabei wurde aus den Erkenntnissen der Ist-Analyse sowie der Literatur ein alternatives Vorgehensmodell erarbeitet, welches die Besonderheiten der Modernisierung berücksichtigt. |
22.09.2015 16:00 SE Colloquium A02 2-219 | |
Jan Jelschen:
Service-Oriented Toolchains for Software Evolution
Software evolution projects need to be supported by integrated toolchains, yet can suffer from inadequate tool interoperability. Practitioners are forced to deal with technical integration issues, instead of focusing on their projects’ actual objectives. Lacking integration support, the resulting toolchains are rigid and inflexible, impeding project progress. This talk presents SENSEI, a service-oriented support framework for toolchain-building, that clearly separates software evolution needs from implementing tools and interoperability issues. It aims to improve interoperability using component-based principles, and provides model-driven code generation to partly automate the integration process. The approach has been prototypically implemented, and was applied in the context of the Q-MIG project, to build parts of an integrated software migration and quality assessment toolchain. |
30.06.2015 16:00 SE Colloquium A02 2-219 | |
Liliane Anick Tchoua Tsafack:
Testwerkzeuge für Java-Systeme
Komplexe Systeme werden heutzutage gebaut, wo Fehler, die im Voraus nicht erkannt wurden, große Schäden verursachen können. Demzufolge stellt das Testen ein wichtiges Anliegen dar und nimmt eine wichtige Position in der Softwareentwicklung ein, damit eine höhere Fehleraufdeckung in der Software erzielt werden kann. Dabei ist eine Vielzahl von Testaufgaben im System durchgefürht werden, damit alle Bereiche der Software getestet werden. Um die Gestaltung des Testprozesses vereinfachen zu können, sind Testwerkzeuge von größer Bedeutung. Testwerkzeuge sind Softwares, die den Testprozess unterstützen und die Einhaltung und Strukturierung von Testprogrammen vereinfachen. Diese Masterarbeit verschafft einen Überblick über die Testarten, die erforderlich sind, um alle Testaufgabenfelder abzudecken, sowie die Testwerkzeuge, die je nach Testarten geeignet sind. Es werden ausschließlich Testwerkzeuge für Java-Systeme berücksichtigt. Dabei werden einige Testwerzeuge ausgewählt und gründlich untersucht. Hierfür werden anhand von praktischen Beispielen, einige Testfälle aus der Q-MIG (Qualitätsgetriebenen, generischen Werkzeugkette für die Software-Migration), der Abteilung Softwaretechnik der Universität Oldenburg, herausgezogen und entsprechende Testprogramme implementiert, um eine Auswertung und einen Vergleich der untersuchten Testwerkzeuge zu verschaffen. |
23.06.2015 17:00 SE Colloquium A02 2-219 | |
Ruthbetha Kateule:
Improve Transport by Cost-effective and easily Adaptable Sensors (Case of study: Tanzania-Dar es Salaam
City)
The urbanization promotes the growth of vehicles in urban areas around the world especially in developing countries, where there is high population growth, inadequate and poor supply of infrastructure services. The resulting traffic congestion affects many developing regions at large in terms of wastage of time, energy consumption, health and environmental problems thus became a major concern to transportation specialists and decision makers. The traffic congestion in urban road networks reduces throughput hence degrades the overall performance of the infrastructure, this can be resolved through appropriate traffic control measures and strategies. Many countries developed and deployed various traffic control strategies worldwide. Intelligent Transportation Systems (ITS) offer great potential over road traffic management by ensuring efficient, smooth and safe traffic flow. However most of developing countries failed to realize their potential due to many challenges in network infrastructure, land pattern usage as well as economic constraints. Currently, most intelligent transportation systems rely heavily on expensive sensors / sensor networks such as video image processing and inductive loops detectors, thus makes ITS deployment costs to be so high to be adopted in developing countries especially in Tanzania. In addition to that the current adaptive traffic control techniques offer limited functionalities in dense and over-saturated areas. The use of Wireless Sensor Networks (WSN) as sensing techniques will reduce the cost of overall traffic control system investment. This research aims at improving utilization of the existing infrastructure by employing cost- effective and easily adaptable sensors in collecting traffic information, traffic flow optimization techniques, guidance mechanisms for human traffic operators in controlling the traffic flow as well as provision of up-to-date traffic information to travellers. The research will conduct thoroughly investigation on the development of Wireless Sensor Networks (WSN) and traffic control models while considering the road networks characteristics of Dar es Salaam city in Tanzania as a case of study. The successful completion of this research will improve the performance of road transportation sector in developing countries thus contributing to socio - economic development. |
23.06.2015 16:00 SE Colloquium A02 2-219 | |
Carolin Huy:
Visualisierung von Qualitätsmerkmalen bei der Softwaremigration
Die Software-Migration beschreibt eine Möglichkeit, um Altsysteme ohne Änderung der Funktionalität in modernen Umgebungen und an neue Techniken angepasst, bereitzustellen. Dies bedeutet, dass die Einsatzfähigkeit der bestehenden Softwaresysteme erhalten wird, ohne dass eine Neuentwicklung nötig ist. Die bestehende Software-Lösung wird beispielsweise auf den neuesten Stand der Technik übertragen. Das Kooperationsprojekt "Entwicklung einer qualitätsgetriebenen, generischen Werkzeugkette für die Software-Migration (Q-MIG)" der Firma pro et con und der Abteilung Softwaretechnik der Universität Oldenburg befasst sich der Migration von Softwaresystemen. Dabei wird eine umfassende und individuell an konkrete Projekte anpassbare Werkzeugkette zur Durchführung dieser Migrationen entwickelt und bereitgestellt. Diese Werkzeugkette wird um einen Qualitätsleitstand, der Aussagen zur erwarteten Qualität der Migrationsergebnisse in Abhängigkeit von den eigesetzten Migrationswerkzeugen trifft, erweitert. Durch den Einsatz verschiedener Metriken werden Qualitätskennzahlen berechnet und es können Aussagen über die Qualität der migrierten Systeme im Vergleich zu der Qualität des Altsystems getroffen werden. In dieser Masterarbeit sollen, angelehnt an das Q-MIG Projekt, die Anforderungen an ein Werkzeug zur Visualisierung von Qualitätsmerkmalen bei der Softwaremigration erhoben und eine prototypische Entwicklung vorgenommen werden. Durch den Einsatz soll die Vergleichbarkeit der Qualitätsmerkmale der unterschiedlichen Systeme (Alt- und Neusysteme) unterstützt und in geeigneter Form grafisch dargestellt werden. |
08.06.2015 16:00 SE Colloquium DM EDV und Bürosysteme GmbH | |
Thomas Crone:
Analyse der Modernisierungsstrategie bei einem mittelständischen Unternehmen
Die Firma DM EDV und Bürosysteme GmbH ist Anbieter von Softwarelösungen für den Pflegebereich. Die Hauptprodukte sind die Abrechnungsprogramme DM APS und DM HVP für die ambulante sowie stationäre Pflege, welche über lange Jahre entwickelt, gewartet und erfolgreich eingesetzt wurden. Um zukunftsfähig zu bleiben, werden diese Produkte derzeit modernisiert. Dabei müssen bestehende Funktionalitäten in eine moderne Umgebung migriert und zur Erhöhung der Softwarequalität saniert werden. Darüber hinaus sollen auch neue Funktionen und Verbesserungen eingepflegt werden. In der Masterarbeit wird eine Ist-Analyse dieses Modernisierungs-Projektes sowie des aktuellen Vorgehens durchgeführt und mit Vorgehensmodellen aus der Literatur abgeglichen. Das Ziel ist aus den Erkenntnissen der Ist-Analyse sowie der Literatur ein alternatives Vorgehensmodell zu erarbeiten, welches die Besonderheiten der Modernisierung berücksichtigt. Dabei müssen insbesondere die drei Tätigkeiten Migration, Sanierung und Weiterentwicklung organisiert werden. |
28.04.2015 12:00 SE Colloquium A02 2-219 | |
Prof. Dr. Ralf Reussner:
View-Based Model-Driven Development with Vitruvius
The talk presents the Vitruvius approach for the construction of modular metamodels. It can be used to define metamodels for view-based development, for the engineering of software or for the engineering of mechatronic devices. Specific benefits of this approach is the use of existing meta-models and an envisioned ideal support in keeping views consistent. |
24.03.2015 16:30 SE Colloquium Hörsaal B (A11 1-101) | |
Projektgruppe:
Kollaborative Modellierung
Im Laufe der letzten 2 Semester hatten wir den Auftrag, eine Software zur kollaborativen Modellierung zu entwickeln. Diese hört auf den Namen Kotelett. Wir bieten die einzigartige Kombination von Modellierung, Modellverwaltung, Kollaboration und Versionierung in einem Tool, welches auf Windows, Mac und Linux verfügbar ist. Darüber hinaus bietet es durch Verwendung eines Metamodells die Grundlage für fortgeschrittene Techniken wie Refactorings. Unser Produkt haben wir auf Grundlage der Arbeit der Abteilung Softwaretechnik (Universität Oldenburg) zur Modellversionierung und -synchronisation realisiert. Von der Anforderungserhebung über die Planung bis zur Realisierung stellen wir euch unsere Probleme, Erfolge und gewonnenen Erfahrungen vor. Wer Lust hat, kann sein Notebook mitbringen und Live mit uns zusammen modellieren. |
24.02.2015 16:00 SE Colloquium A02 2-219 | |
Christoph Küpker:
Software Testing Tools
Since software systems are getting larger and larger, an assistance in software quality management and development becomes a significant topic for software designers, developers and testers. Most of the steps in the software development process can be handled by tools. The overlapping process of software testing can also be enhanced by testing tools to assist developers in their effort to produce properly tested software. These can be used to improve the quality of the software itself, development and testing process as well as the reliability of the software. This talk gives a broad scope of classifications and investigations of existing tools that support the software testing process in all its facets. The main objective of this talk is to give an overall survey on the current state of the art on the topic of software testing tools. These tools are classified by software testing tasks so that the appropriate tools for a specific testing task can easily be found. |
10.02.2015 16:00 SE Colloquium A02 2-219 | |
Thorsten Kück:
Entwurf und Implementierung einer Software zur internetgesteuerten Durchführung einer Dehydratisierung
Vor zehn Jahren entstand im Rahmen eines Projektes des Bundesministeriums für Bildung und Forschung (BMBF) die »Internetgesteuerte Adsorptionsanlage« (IngA). Mit ihr können Studenten chemische Versuche online durch ein Java-Applet durchführen und sich nach Abschluß die Meßergebnisse via eMail zukommen lassen. Die Versuche finden dabei auf einer physisch existierenden Anlage statt und werden nicht simuliert, so daß unter realen Bedingungen experimentiert werden kann. Da sich der Einsatz der IngA in der Lehre bewährt hat, möchte die Technische Chemie 2 (TC2) der Carl von Ossietzky Universität Oldenburg nun eine zweite Anlage in Betrieb nehmen, um das Angebot zu erweitern: die »Mikroreaktionstechnische internetgesteuerte Anlage« (MiA). Im Rahmen dieser Arbeit soll eine Steuersoftware entwickelt werden, mit der sich die MiA betreiben läßt. Die Funktionsweise der Neuentwicklung soll sich dabei an ihrem Vorgänger orientieren, jedoch aktuelle Techniken berücksichtigen. Es soll dabei vor allem ein Betrieb ermöglicht werden, der in jedem aktuellen Browser ausführbar ist, ohne daß zusätzliche Plugins – wie etwa Java oder Flash – installiert und konfiguriert werden müssen. |
16.12.2014 16:00 SE Colloquium A02 2-219 | |
Oybek Allamov:
Mathematical and Software support for control of information flows in Data Mining
Nowadays, controlling information flows is important research area for various disciplines such as control of data-flow in IT networks. Control of information flows is also applicable to different real-life problems. For example, decision can be made for controlling water-flow and traffic-flow using information-flow control. Therefore, establishing effective and advanced algorithms for the problem of information flow control is a challenge, especially if the information flow is under the limited resources such as time, speed, capacity of flow paths, etc. Additionally, if these resources are called parameters, these parameters might represent static and dynamic values at different moment of time. This thesis aims at solving the problem of controlling information flows when the information flow has limited resources and a lot of dynamic parameters. Mainly, the thesis proposes a solution by Data Mining techniques. Proposed solution defines characteristics of information flows and optimal paths and reuses these definitions on controlling and directing information. This allows for reducing calculations of optimal paths at any moment of time i.e. collected data about optimal path considering limited resources and dynamic parameters can be reused on controlling data in overall flow. Application areas of the thesis are controlling water-flow, traffic-flow and data-flow on the web. |
25.11.2014 16:00 SE Colloquium A02 2-219 | |
Marat Abilov:
Incremental Synchronization between Organizational, Requirements and Software Design Models
The model synchronization between analysis and design artifacts in most cases is still a manual and error-prone process. With the arising of Model-Driven Architecture methodology, automatic transformation between models is mostly possible and can be defined using graph transformation language. Hence models, their corresponding meta-models and model transformation code now become first-class artifacts in software development. Existing model-driven software design derivation approaches usually lack support of bidirectional incremental synchronization between source and target models. Moreover, proposing the full automatic software design derivation, most approaches require some kind of specification on design decision either in a source model or in a transformation definition. The specification in a source model creates a problem of mixture of several concerns in one artifact. The specification in a transformation definition creates a problem of overcomplicated transformations using the languages that were not designed for modeling purpose, making these definitions very hard to comprehend and reuse. This talk addresses that artifacts of organizational models, requirements models and software design contain related information that is specified by different means and can be synchronized using incremental bidirectional approach. However, other information that is specific for each artifact should be specified manually in each of the corresponding models. |
18.11.2014 16:00 SE Colloquium A02 2-219 | |
SE Group:
Q-MIG: Overview, Software Development Process, Tool Architecture
Outline for the Q-MIG day's presentations: - Overall introduction to Q-MIG project (Jan Jelschen): The first presentation gives the brief insights to Software Migration, Software Quality, the Q-MIG project, Quality Criterias, Quality Migration Model, Measurement and Comparison. - Software Development Process (Johannes Meier): The talk about Software Development process of the Q-MIG project explains all the used techniques, technologies and Software Development Tools. - Tool Architecture (Dilshod Kuryazov): The Tool Architecture presentation explains overall architecture of the Q-MIG project and its subcomponents. - Measurements and Predictions (Gaurav Pandey): The presentation describes Quality Metrics and Quality Characteristic used in the Q-MIG project. |
04.11.2014 16:00 SE Colloquium A02 2-219 | |
Jan Jelschen:
SENSEI: Present, Past, and Future of my Thesis
Software evolution tools mostly implement a single technique to assist in achieving a specific objective. Overhauling, renovating, or migrating large and complex legacy software systems require the proper combination of several different techniques appropriate for each subtask. Since few tools are built for interoperability, the setup of a toolchain supporting a given software evolution process is an elaborate, time-consuming, errorprone, and redundant endeavor, which yields brittle and inflexible toolchains with little to no reusability. SENSEI is an approach to enable the implementation of an integration framework for software evolution tools using component-based, service-oriented, and model-driven methods, to ease toolchain creation and enable agile execution of software evolution projects. This is an informal presentation of the present, past, and future of my dissertation. It will comprise of a progress and status report on a prototype implementation being worked on, a review of work done and lessons learned in the past, and a discussion of how to move forward to complete the thesis. |
03.11.2014 16:15 SE Colloquium A01 0-005 | |
Dilshod Kuryazov:
Delta Operations Language for Model Difference Representations
Software models are widely used in designing software systems on different abstraction levels. Like the source code of software systems, software models evolve over time undergoing various changes. Changes are applied to software models by a team of designers using collaborative modeling tools at runtime, whereas model versioning systems are used to handle and store the histories of evolving software models. Concurrently or collaboratively modifying models results in different revisions of the same modeling artifact during its lifetime. The consistent recognition, specification and exploitation of the differences between subsequent model versions are crucial in analyzing, managing and storing the histories of model-based software systems. Analyzing the model histories is the best aid in understanding the evolutionary life cycle of models. For dealing with changes on models, the differences between subsequent model versions have to be properly identified and represented in difference documents usually referred to as Modeling Deltas. Since the differences are the first-class artifacts for version control, collaborative modeling and history analysis tools, representing model differences in modeling deltas is an important concern. A number of version control systems (e.g. Git, Subversion, etc.) exist for managing source-code of software systems. Meanwhile, software models also can be represented in exchange formats like XMI. But, versioning software models does not follow the similar concepts as code-based systems because of the rich data and compound structures of models. Therefore, it is commonly admitted that differentiating textual representation of models does not produce significant information about the model differences. To this end, this thesis addresses the problem of difference representation for software models including several application areas. This thesis introduces Delta Operations Language (DOL) of Generic Model Versioning System (GMoVerS) to model difference representations. DOL is a set of domain specific languages to model difference representation in terms of operations. In order to derive a specific DOL for a specific modeling language, the meta-model of a modeling language is required. Then, the resulting specific DOL is fully capable of representing all the differences between subsequent versions of the instance models in terms of operation-based DOL in modeling deltas. Moreover, the approach aims at supporting several DOL-services, which can reuse, manipulate and analyze the DOL-based modeling deltas. These operative services make the DOL-based modeling deltas quite handy in various application areas and enable application areas to utilize the DOL-based repositories. The application areas of the approach are Generic Model Versioning System (GMoVerS), Model History Analysis and Collaborative Modeling, which are built by specific orchestrations of the DOL services. Model versioning systems reduce the difference storage space and improve simplicity and reusability of the difference information by storing only deltas. In the case of collaborative modeling, exchanging the model differences is eased by exchanging only modeling deltas, which contain only the differences. Exchanging small deltas enables rapid synchronization of changes by reducing the capacity of exchange data. As long as only changed model elements are represented in modeling deltas using the simple DOL syntax, tracing the change history from modeling deltas allows smoothly detecting required history information that can be reused in history analysis and further manipulations. |
28.10.2014 17:00 SE Colloquium A02 2-219 | |
Benjamin Reinecke:
Requirements Engineering und agile Softwareentwicklung in der Praxis
Im Rahmen der Masterarbeit im Bereich Wirtschaftsinformatik wird ein Softwareprojekt eines international tätigen Logistikdienstleisters betrachtet. In diesem Projekt wird eine Lösung zur Sendungsverfolgung entwickelt, die in ein Online-Portal eingebunden ist. Die Softwareentwicklung wird in einem an Scrum angelehnten Prozess durchgeführt. Der anfangs geplante zeitliche Rahmen dieses Softwareprojekts konnte nicht eingehalten werden – das Projekt liegt mehr als acht Monate hinter dem Zeitplan zurück. Zunächst wurde vermutet, dass diese Entwicklung durch ein nicht optimal durchgeführtes Anforderungsmanagement ausgelöst worden sei. Mittels der gewonnenen Erkenntnisse aus der Aufnahme des Ist-Zustandes und umfangreichen Experteninterviews hat sich gezeigt, dass Verbesserungspotentiale für Softwareprojekte im kooperierenden Unternehmen nicht allein im Requirements Engineering zu finden sind. Aus diesem Grund ist das Ergebnis dieser Masterarbeit nicht, wie ursprünglich geplant, eine auf die Besonderheiten des Unternehmens angepasste Methode zur Aufnahme und zum Management von Anforderungen. Es werden stattdessen auf die Struktur des Unternehmens angepasste Handlungsempfehlungen gegeben, die zum einen das betrachtete Projekt voranbringen und zum anderen in weiteren Projekten helfen sollen, von Anfang an erfolgreich entwickeln zu können. |
28.10.2014 16:00 SE Colloquium A02 2-219 | |
Henrik Seifert:
Komponentenbasierte Qualitätssicherung - Teststrategie im Kontext eines plattformorientierten und
komponentenbasierten Entwicklungsprozesses
Die Arbeit befasst sich mit der Erstellung einer komponentenbasierten Qualitätssicherungsstrategie. Dazu wird die Notwendigkeit für diese neue Strategie durch die Umstellung des Entwicklungsprozesses bei der BTC-ES zusammen mit den vorgestellten Grundlagen als Basis genommen um verschiedene Ideen zu den Teilaspekten einer Qualitätssicherungsstrategie zu evaluieren. Dabei wird zwischen dem Testvorgang und den Berichten über den Qualitätsstand unterschieden. Es werden zu diesen zwei Bereichen jeweils Experimente auf Basis der initialen Ideen durchgeführt und die gewonnenen Erkenntnisse dann zu einer Teilstrategie zusammengefasst. Diese Teile werden abschließend zusammengesetzt und noch einmal evaluiert. Das Ergebnis ist eine Strategie, die Vorgaben zum Erstellen, Ausführen und Auswerten von Tests macht und dabei die neue Komponentenstruktur der Software im Unternehmen der BTC-ES nutzt. |
21.10.2014 16:00 SE Colloquium A02 2-219 | |
Ben Haeseler:
Vorgehensmodell für die nachhaltige Umsetzung kleinerer Softwareänderungen
Entwickler, welche bestehende Softwareprojekte betreuen, müssen sich oft mit Anfragen zu Änderungen auseinander setzen, welche möglichst kostengünstig und zeitnah umgesetzt werden sollen. Hierbei entsteht die Problematik, dass zum Einsparen der Zeit in der Umsetzung auf ein planmäßiges Vorgehen verzichtet wird und sowohl Qualität des Codes und Tests als auch Dokumentation vernachlässigt werden. Die Folge davon sind eine erhöhte Fehlerzahl in einer als abgeschlossen eingestuften Änderung und ein erhöhter Zeitaufwand bei zukünftigen Änderungen, da auf wenig Grundlagen früherer Aufträge zurückgegriffen werden kann. Ziel dieser Diplomarbeit ist es, ein Modell zu entwicklen, welches diese Probleme angeht, indem es durch ein strukturiertes Vorgehen dabei unterstützt, saubere Entwicklung, Tests und Dokumentation zu gewährleisten und zugleich eine durchgehende Protokollierung des gesamten Prozesses vorzunehmen. Auf diese Weise können zum einen Probleme und deren Ursachen in einer Nachbetrachtung besser erkannt werden und Maßnahmen ergriffen werden, diese zukünftig zu vermeiden. Zum anderen wird für weitere Entwicklungen ein Dokumentations-Archiv aufgebaut, auf welches zurück gegriffen werden kann. |
07.10.2014 16:00 SE Colloquium A02 2-219 | |
Almuth Meier:
Ein Composition-Finder für Service-Orchestrierungen
Im Rahmen von Software-Evolutions-Projekten werden oft verschiedene Tools eingesetzt, um die benötigten Techniken automatisiert umsetzen zu können. Damit die Ausführung der einzelnen Tools nicht jeweils manuell angestoßen werden muss, ist es von Vorteil, die Tools so miteinander zu verknüpfen, dass alle Tools in der für das Projekt notwendigen Reihenfolge möglichst ohne Benutzerinteraktion ausgeführt werden können. Diese Verknüpfungen werden oft unter großem Zeitaufwand und selten wiederverwendbar manuell implementiert. Der SENSEI-Ansatz (Software Evolution Service Integration) löst diese Probleme, indem er die Spezifizierung der benötigten Techniken (Services) und das Festlegen der gewünschten Verknüpfungen der Techniken (Service-Orchestrierung) auf einer implementierungsunabhängigen Ebene ermöglicht. Die Abbildung der Service-Orchestrierung auf ausführbare Tools wird von einem Composition-Finder automatisch vorgenommen, der in dieser Bachelor-Arbeit konzipiert und implementiert wurde. |
30.09.2014 16:00 SE Colloquium A02 2-219 | |
Johannes Meier:
Editoren für Service-Orchestrierungen
Große Software-Evolutions-Aufgaben bestehen aus der Kombination mehrerer kleiner Software-Evolutions-Aufgaben, für deren Ausführung nur einzelne Werkzeuge existieren, sodass für die Automatisierung der gesamten Software-Evolutions-Aufgabe in der Praxis viele kleine Werkzeuge miteinander verschaltet werden müssen. Diese Werkzeugintegration muss händisch entwickelt werden und ist dadurch aufwendig und unflexibel. Diese Aufgabe wird durch den SENSEI-Ansatz vereinfacht, indem Software-Evolutions-Aufgaben Werkzeug-unabhängig durch Services beschrieben werden, die zu Orchestrierungen verschaltet werden und für die automatisiert eine integrierte Werkzeugkette generiert wird, indem für die verwendeten Services passende, zuvor hinterlegte Werkzeuge ausgewählt werden. Für die Realisierung von SENSEI sind viele Daten notwendig, die die Services, Werkzeuge und Orchestrierungen beschreiben und die als integriertes SENSEI-Metamodell definiert worden sind. Ziel der Masterarbeit ist es, für die Eingabe und Bearbeitung dieser Daten ein Werkzeug zu entwickeln, das für die Bearbeitung der Daten aus unterschiedlichen Sichten verschiedene Editoren anbietet, wobei alle Editoren auf derselben Datenbasis arbeiten. |
16.09.2014 16:00 SE Colloquium A02 2-219 | |
Dilshod Kuryazov:
Delta Operation Langauge for Model Difference Representation
Software models evolve over time undergoing various changes and resulting in several versions during their lifetime. Models are differentiated during the evolution process and the differences between subsequent model versions are represented in differences documents for further analysis and manipulations as history information. Software models have rich data structures which differ from the code of software systems. That is why, a representation approach for the model differences has to provide effective handling and management of difference information. Furthermore, the model differences represented in the differences documents have to be easy to access and reuse. This paper introduces theDelta Operations Language (DOL), a meta-model independent and operation-based approach to model difference representations. The approach represents the model differences in terms of DOL and provides several DOL Services to access and reuse the DOL-based differences for further analysis and manipulations. To explain ideas behind the approach, it is applied to UML activity diagrams as a running example. |
02.09.2014 16:00 SE Colloquium A02 2-219 | |
Johannes Meier:
Certifying Energy Efficiency of Android Applications
While smartphone and tablet functionality is increasing, battery runtime goes down. Both users and software developers are not always aware of the energy consumed by applications. Without this information, users cannot choose energy-efficient apps to prevent battery drain. Awareness of energy consumption would also entice app developers to implement more energy-efficient apps to remain competitive. This paper presents a certification process and corresponding Android tool support for comparing apps regarding energy efficiency. It is demonstrated using notepad apps. |
26.08.2014 16:00 SE Colloquium A02 2-219 | |
Dilshod Kuryazov:
Representing Model Differences by Delta Operations
Software models are subject to subsequent changes. Models evolve over time to meet changes resulting in several versions. The differences between subsequent model versions are represented in differences documents usually referred to asModeling Deltas. The model differences are used in establishing several further services and operations of version control, collaborative modeling and history analysis tools for software models. Therefore, finding an adequate difference representation approach is essential for applicability, re-usability and analysis of the model differences. This paper introduces theDelta Operation Language (DOL), a meta-model independent and operation-based concept to model difference representations. The proposed approach provides several operative DOL-services for utilizing the DOL-based differences. The application areas of DOL consist ofModel Versioning, Model History Analysis and Collaborative Modeling. The approach is applied to UML activity diagrams as a running example. |
12.08.2014 16:00 SE Colloquium Hellmann, Osnabrück | |
Benjamin Reinecke:
Lean Requirements Engineering in der agilen Softwareentwicklung
Im Rahmen der Masterarbeit im Bereich Wirtschaftsinformatik wird ein Softwareprojekt eines international tätigen Logistikdienstleisters betrachtet. In diesem Projekt wird eine Lösung zur Sendungsverfolgung entwickelt, die in ein Online-Portal eingebunden ist. Die Softwareentwicklung wird in einem an Scrum angelehnten Prozess durchgeführt. Das Release 3 der Software sollte bereits im Juni 2013 veröffentlicht werden. Dieser anfangs geplante zeitliche Rahmen konnte nicht eingehalten werden – das Projekt liegt mehr als acht Monate hinter dem Zeitplan zurück. Aufgrund eines nicht optimalen Anforderungsmanagements verzögert sich die Umsetzung des Projekts durch eine schleichende Erweiterung des Projektumfangs. Oft nötige Iterationen zur Fehlerbehebung und ein fehlender Überblick über das Gesamtkonzept der Architektur verstärken das Problem. Einzelne Implementierungsentscheidungen sind schwierig miteinander in Verbindung zu setzen, da das Gesamtbild nur scheinbar klar ist: Es fehlt eine eindeutige Vision. Als Ergebnis der Arbeit wird eine Methode entwickelt, mit deren Hilfe es möglich ist, den Softwareentwicklungsprozess nachhaltig zu verbessern und mit den Besonderheiten des Unternehmens in Einklang zu bringen. Der Schwerpunkt der Methode liegt auf der Auswahl eines geeigneten Entwicklungsverfahrens und dem Umgang mit Anforderungen. |
29.07.2014 17:00 SE Colloquium A02 2-219 | |
Johannes Meier:
Editoren für Service-Orchestrierungen
Große Software-Evolutions-Aufgaben bestehen aus der Kombination mehrerer kleiner Software-Evolutions-Aufgaben, für deren Ausführung nur einzelne Werkzeuge existieren, sodass für die Automatisierung der gesamten Software-Evolutions-Aufgabe in der Praxis viele kleine Werkzeuge miteinander verschaltet werden müssen. Diese Werkzeugintegration muss händisch entwickelt werden und ist dadurch aufwendig und unflexibel. Diese Aufgabe wird durch den SENSEI-Ansatz vereinfacht, indem Software-Evolutions-Aufgaben Werkzeug-unabhängig durch Services beschrieben werden, die zu Orchestrierungen verschaltet werden und für die automatisiert eine integrierte Werkzeugkette generiert wird, indem für die verwendeten Services passende, zuvor hinterlegte Werkzeuge ausgewählt werden. Für die Realisierung von SENSEI sind viele Daten notwendig, die die Services, Werkzeuge und Orchestrierungen beschreiben und die als integriertes SENSEI-Metamodell definiert worden sind. Ziel der Masterarbeit ist es, für die Eingabe und Bearbeitung dieser Daten ein Werkzeug zu entwickeln, das für die Bearbeitung der Daten aus unterschiedlichen Sichten verschiedene Editoren anbietet, wobei alle Editoren auf derselben Datenbasis arbeiten. |
29.07.2014 16:00 SE Colloquium A02 2-219 | |
Almuth Meier:
Ein Komposition-Finder für Service-Orchestrierungen
Im Rahmen von Software-Evolutions-Projekten werden oft verschiedene Tools eingesetzt, um die benötigten Techniken automatisiert umsetzen zu können. Damit die Ausführung der einzelnen Tools nicht jeweils manuell angestoßen werden muss, ist es von Vorteil, die Tools so miteinander zu verknüpfen, dass alle Tools in der für das Projekt notwendigen Reihenfolge möglichst ohne Benutzerinteraktion ausgeführt werden können. Diese Verknüpfungen werden oft unter großem Zeitaufwand und selten wiederverwendbar manuell implementiert. Der SENSEI-Ansatz (Software Evolution Service Integration) löst diese Probleme, indem er die Spezifizierung der benötigten Techniken (Services) und das Festlegen der gewünschten Verknüpfungen der Techniken (Service-Orchestrierung) auf einer implementierungsunabhängigen Ebene ermöglicht. Die Abbildung der Service-Orchestrierung auf ausführbare Tools wird von einem Composition-Finder automatisch vorgenommen, der in dieser Bachelor-Arbeit konzipiert und implementiert wird. In diesem Vortrag wird die Konzpetion und der jetzige Implementierungsstand des Composition-Finders vorgestellt. |
08.07.2014 16:00 SE Colloquium A02 2-219 | |
Henrik Seifert:
Komponentenbasierte Quaitätssicherung
In der Firma BTC Embedded Systems AG soll in kürze das Build-Management umgestellt werden. In Zukunft werden (Produkt-) Komponenten und deren Abhängigkeiten sichtbar und damit auswertbar gemacht. Auch die Beziehungen zwischen einzelnen Bestandteilen werden nach außen hin kommuniziert und genutzt. Die Struktur der einzelnen Produkte wird somit maschinell verarbeitbar. Dadurch ist ein gezieltes Testen von denjenigen Produktbestandteilen, die von aktiven Entwicklungen betroffen sind, möglich. Der Entwickler kann also gezielt die Testergebnisse erhalten, die durch seine Änderungen beeinflusst wurden. Außerdem wird sichergestellt, das Auswirkungen auf Bestandteile, die nicht Teil des Features sind, minimiert werden und ein detaillierterer Qualitätsbericht für Komponenten ist möglich. Der Testansatz muss somit umgestellt beziehungsweise angepasst werden, um eine bessere Ansteuerung der Tests zu ermöglichen. |
27.05.2014 16:00 SE Colloquium A02 2-219 | |
Nikolai Bräuer:
Automatisierte rechnergestützte Analyse von genregulatorischen Netzwerken
Ein wichtiger Forschungsgegenstand der Genetik ist die Analyse von genregulatorischen Netzwerken. Dabei wird untersucht, wie sich Gene gegenseitig in ihrer Aktivität beeinflussen. Meist wird die Aktivität eines bestimmten Gens nicht von nur einem anderen Gen allein reguliert, sondern von mehreren Genen beeinflusst. Ebenso reguliert ein einzelnes Gen meist eine Vielzahl anderer Gene. So entstehen komplexe Netzwerke von genregulatorischen Abhängigkeiten. Es ist nötig, die Logik dieser Netzwerke zu identifizieren, um bestimmte biologische Vorgänge auf molekularer Ebene verstehen zu können. Dieses Wissen kann beispielsweise helfen, die Ursachen für Erbkrankheiten zu erkennen, Therapien zu entwickeln, sowie evolutionäre Prozesse besser zu verstehen. Um den Aufbau genregulatorischer Netzwerke zu identifizieren, werden experimentelle Methoden verwendet, bei denen unter hohem Zeit und Kostenaufwand die Existenz einzelner genregulatorischer Abhängigkeiten überprüft wird. Um die Anzahl dieser Experimente zu verringern, versucht man genregulatorische Abhängigkeiten rechnerisch vorherzusagen. Die Bioinformatik hat eine Vielzahl von Anwendungen hervorgebracht, welche bei solch einer rechnergestützten Vorhersage von Nutzen sein können. Allerdings beziehen sich diese Anwendungen meist nur auf einzelne Aspekte des gesamten Analyseprozesses. Deshalb besteht die rechnergestützte Analyse von genregulatorischen Abhängigkeiten aus mehreren Einzelschritten und ist mit vielen manuellen Tätigkeiten verbunden. Ziel dieser Arbeit ist es, diesen Analyseprozess effizienter zu gestalten, indem ein Softwaresystem entwickelt wird, welches ein erprobtes Verfahren zur computergestützten Vorhersage von genregulatorischen Abhängigkeiten durchgängig automatisiert und die Anzahl nötiger manueller Eingriffe minimiert. Das System soll dabei auch auf bereits bestehende Anwendungen zurückgreifen, da für einen Großteil des Analyseverfahrens bereits Anwendungen vorhanden sind. Im Rahmen dieses Vortrags wird die entwickelte Webanwendung ACAGRN (Automated Computational Analysis of Gene Regulatory Networks) und der derzeit unterstützte Workflow vorgestellt. |
11.03.2014 16:45 SE Colloquium A02 2-219 | |
Veronika Strokova:
Cloud computing for mobile devices: Reducing energy consumption
Being powered by the batteries that are limited in their capacity is one of the main restrictions of the mobile devices. On the other hand, further enhancement of their characteristics and mobile Internet mounting speed incite the growth of user’s demands. We want the most sophisticated applications to work rapidly and perfectly. Thus, we need a solution to improve the mobile devices’ energy consumption. This master’s thesis presents the approach which is able to decrease the power consumption on mobile gadgets. The core idea lies in porting the parts of the application’s functionality to the remote server in order to relieve the CPU load. Consequently, we are going to derive the benefit from cloud computing. For this purpose, the “heavy-loaded” code blocks are extracted from mobile apps and built into the server-side applications. Both mobile and “remote” versions of the apps are run, their power consumption is measured and compared. It is expected that energy spent on client-server communication is less than power needed to execute the task on a phone or tablet. Moreover, the performance change is estimated. The experiments are conducted on three Android applications. The paper provides a technique to move the functionality to the cloud and to organize the communication between a client and a server. It is explained when and how it is required to adjust the approach to overcome the challenges that may occur. In addition, the restrictions and recommendations are denoted and performance changes are outlined. The applications are tested against various data volumes, Internet connection speed and use different ways to transfer data. Energy consumption for each case is measured and the results are presented. |
11.03.2014 16:00 SE Colloquium A02 2-219 | |
Andrei Saksanov:
Method to Derive Energy Profiles for Android Platform
To improve quality of mobile applications on Android platform in sense of energy-efficiency, the programmers need appropriate tools. One of the method to estimate energy consumption of mobile applications is Energy Profiling (for example, using reference implementation - Android Power Profiles). This method allows to estimate energy consumption online, i.e. without using any external devices, while using reference data obtained via prior using of offline measurements tools. The first-class entity of this method is Energy Profile of target device that contains information about distinct energy consumption of each component. There are at least two reasons why it is may be needed to derive Energy Profiles for specific Android device. First is inappropriate quality of built-in Android Power Profile for most of the devices presented on market. The significant improvement may be achieved even using reference power model developed for Android Power Profiles while using updated (i.e. derived for concrete target device) Power Profile. The second reason is using non-reference power models. Of course many engineers may consider using of specific power models that are suitable for Energy Profiling of very specific applications. In this case, the will need to have a method to obtain Energy Profile for this private power model. This thesis describes the method of deriving various Energy Profiles for Android mobile devices. The following points are considered in this thesis: choosing appropriate hardware and architecture of software needed to automate the process of deriving Energy Profiles for Android mobile devices. The method was evaluated using test Android device and satisfactory improvement of estimation of energy consumption using reference power model (Android Power Profiles) was observed. |
04.03.2014 16:45 SE Colloquium A02 2-219 | |
Ruthbetha Kateule:
Enhancing Road Traffic Control using Mobile Phones Sensor Networks
Considering the problem of traffic congestion in developing countries, Wireless Sensor Networks (WSNs) have been widely used in road traffic control systems especially in collecting real time traffic data. Prior works in traffic control systems employ dedicated road and vehicle sensors as the main sensors in Wireless Sensor Networks (WSNs), however these sensors are highly susceptible to environmental factors mainly, infrastructure conditions and environmental climatic conditions such as rain, snow, high wind speeds and also expensive due to the difficulties of outdoor deployment and maintenance. There is a need of employing other kind of sensors in traffic control solutions which are more robust or can work efficiently regardless the existence of such environmental factors. This talk explores the current approaches used in controlling road traffic, their limitations and introduces an alternative approach in tackling the problem concerned. |
04.03.2014 16:00 SE Colloquium A02 2-219 | |
Marie-Christin Ostendorp:
ELVIZ - A Query-Based Approach to Model Visualization
Visualization is an important technique for understanding and exploring complex models. To be useful, visualizations have to be specifically tailored towards the visualization task and the analyzed model. Many standard charts or graph-based visualizations exist, but need to be mapped to the concepts of the model under study. Existing model visualization tools often have predetermined visualization kinds and content, impeding reuse of standard visualizations for various purposes, or lacking the ability to flexibly map source model concepts to different visualization elements. This paper presents ELVIZ (”Every Language Visualization”), an approach to visualization, generic regarding both the source model, and the kind and content of the visualization. ELVIZ applies model-driven engineering techniques both to transform arbitrary source models into the desired visualization models, and to generate said model transformations from a query-based mapping of source model concepts to visualization concepts. This cleanly decouples source and visualization meta-models, allowing to reuse and combine standard visualizations for various source models. The ELVIZ approach is applied to scenarios from software visualization in software evolution and measuring energy consumption of mobile applications, using different kinds of visualizations. |
18.02.2014 16:00 SE Colloquium A02 2-219 | |
Jan Jelschen:
SENSEI: Software Evolution Service Integration - A Work-in-Progress Report
Large-scale software evolution projects to modernize, migrate, or reengineer legacy software systems depend on project-specific tool support, yet existing tools mostly only provide a single functionality, and do not provide means for interoperability. SENSEI is an approach to enable flexible integration of software evolution services, using model-driven techniques to automatically generate an integrated toolchain from a high-level, service-oriented process description. This talk presents a work-in-progress report on a vertical prototype currently being implemented, and aims to discuss encountered obstacles, design decisions, and implementation issues. |
11.02.2014 16:00 SE Colloquium A02 2-219 | |
Dilshod Kuryazov:
GMoVerS: Generic Model Versioning System (Prototype demonstration)
Modifying software model artefacts results in having various versions of the same model which differ from each other. Differences between subsequent versions of a model are mostly stored in difference documents usually called Modeling Delta and these modeling deltas serve as fundamental source on setting up several subcomponents of a version control system. Even there are several model versioning approaches with graph or model-based representation techniques, they are usually depend on specific modeling languages or tools, or they do not consider whole chain of subcomponents. This talk firstly gives brief insights to GMoVerS: Generic Model Versioning System, which is independent of modeling languages and tools i.e. meta-model generic and tool independent. One main objective of the approach is to propose a new concept to difference representation and reuse in further manipulations. Differences between models are represented in an operation-based way i.e. artefact modifications such as element creation, deletion and change from version to version are considered. Then, these operations are implemented by model transformation approaches which eventually is an executable set of transformation rules. Secondly, the talk indends mostly to demonstrate prototype of the approach illustrating application of GMoVerS including its subcomponents and operations. |
28.01.2014 16:00 SE Colloquium A02 2-219 | |
Jan Jelschen:
SENSEI: Software Evolution Service Integration
Software evolution tools mostly implement a single technique to assist in achieving a specific objective. Overhauling, renovating, or migrating large and complex legacy software systems require the proper combination of several different techniques appropriate for each subtask. Since few tools are built for interoperability, the setup of a toolchain supporting a given software evolution process is an elaborate, time-consuming, error-prone, and redundant endeavor, which yields brittle and inflexible toolchains with little to no reusability. This talk presents Sensei, an approach to enable the implementation of an integration framework for software evolution tools using component-based, service-oriented, and model-driven methods, to ease toolchain creation and enable agile execution of software evolution projects. It will be evaluated by implementing and using it to build the toolchains supporting two software evolution projects, and having practitioners assess its usefulness. |
21.01.2014 16:15 SE Colloquium A02 2-219 | |
Ammar Memari:
A Model for Adaptive Applications on the Semantic Web
Modern applications need to process and be aware of much more than its direct input. Indirect input includes information about the application user, the surrounding context, and the available resources as examples. User-sensitive applications deserve special attention in today's information industry due to massive amounts of information made available hourly for individuals. Filtering and recommendation of pieces of information are therefore “common practices“ rather than “additional features“. Context-aware applications are growing rapidly in the environment of ubiquitous and mobile computing. More an more applications are able to sense and adapt to screen size, connection speed, battery status, and possible input methods of the device on the one hand, and to time of day, current weather, and traffic conditions on the other. Resource-critical conditions are affecting a growing number of applications not only on mobile devices but also within data centers. Energy, bandwidth, memory, and storage restrictions apply to applications that provide services. Sensitivity of the application itself to availability of these resources is a welcomed and encouraged feature. Adaptive Hypermedia, Adaptive Computing, Context-aware applications, User-oriented applications, Recommendation Systems, Collaborative Filtering applications, Personalized Information Retrieval, and many other similar techniques have tried to tackle the above-mentioned problems. Even though they have a lot in common, they still live on separate islands. Each of them could have had benefits from advances made in the others, had a common ground existed. This common ground, and in order for it to guarantee a healthy collaboration, needs to clearly set common terms and concepts, and then use them to define the different categories and classify applications onto them. A formal version of this process would require a common metamodel representing the terms, a reference model representing their possible interactions, and transformations of the two which allow the models to mutate to represent existing and emerging systems. Moreover, the common ground should provide interoperability on the data level. This calls for a metadata technology that can guarantee a data representation understandable by the different applications. Ontologies promise to deliver this feature, and they, together with the rest of the Semantic Web stack of technologies have proven useful for such tasks. In order to fulfill these requirements, this work sheds light on adaptive applications on the Semantic Web following a design science research methodology. It provides a rough-sets-theory-based definition for adaptive applications and other neighboring categories, in addition to a framework composed of a UML metamodel, a reference model, and their transformations. The models are designed in accordance with best practices extracted from existing models, and guided by relevance to problems of existing systems running on the ground. Design patterns for approaching some problems are defined as parts of the reference model. Quality of the resulting artifacts is assured by prototyping, where the models are implemented and evaluated in two distinct prototypes. The first prototype serves as a proof-of-concept for parts of the models, and the second poses as a life-size implementation and case study. The result is a framework for developing adaptive applications that utilize Semantic Web technologies. The framework regards the business environment and produces viable applications which account for its risks and opportunities. It provides solutions for aligning the adaptive functionality with the corporate information system and organizational infrastructure. |
14.01.2014 16:00 SE Colloquium A02 2-219 | |
Gaurav Pandey:
Q-MIG: Toolchain for Quality-driven Software Migration
Legacy systems need to be migrated to new environments and technologies in order to evolve them with the changing advancements and requirements. The new migrated systems should have the same functionality as the legacy system and the quality should not be compromised. It becomes very important to access and compare the quality of the system before and after migration. Moreover, it is also useful to predict the quality of the migrated software. The project Q-MIG: Building a Quality-Driven, Generic Tool-Chain for Software Migration aims at creating a comprehensive toolchain that helps in evaluating software quality and prediction of the quality of a target system. |
07.01.2014 17:00 SE Colloquium A02 2-219 | |
Veronika Strokova:
Cloud computing for mobile devices: Reducing energy consumption
The problem of high power consumption is relevant to modern mobile devices. Improvement of characteristics and capacities and mobile Internet mounting speed incite the growth of user demands. At the same time we are unable to increase the battery capacity. The applications with rich functionality contain “heavy-loaded“ blocks of code that take most of the energy consumed by the app. One approach to deal with them is to find this code, extract it and move to the cloud. In such a way, when a user runs an application a part of it is executed on a remote server, proving the occurrence of Internet connection. It is expected, that the energy needed for data transmission from device to a server and receiving back a result can be less than the energy consumed for executing the same functionality at a device. |
07.01.2014 16:00 SE Colloquium A02 2-219 | |
Andrei Saksonov:
Method to derive Energy Profiles for Android
Nowadays, smartphones and other mobile devices with mobile operating systems consume a lot of energy. Users are forced to charge their phones at least once a day. To improve user experience on mobile devices, developers try to optimize energy consumption of their applications. However, usually it is done not in an appropriate manner and existing applications suffer from the energy consumption bugs. Quotation from article by Philippe Michelon: “According to a study done by P. Vekris: “55% of 328 applications using wakelocks do not follow our policies for no-sleep bugs” [2012]. Some major applications have been released with No-Sleep bugs". In order to improve application battery consumption appropriate tools are needed. This thesis focuses on improving existing methods of Energy Profiling for mobile applications. |
17.12.2013 17:00 SE Colloquium A02 2-219 | |
Ruthbetha Kateule:
Improve transport by Generic Multi-Agent based Sensoring
Vehicular traffic congestion is a essential challenge worldwide, especially in most of developing countries such as Tanzania, Kenya, Uganda and Nigeria. However the existing methods for traffic management, surveillance and control are not adequately efficient in terms of performance, cost, maintenance and support. This talk explains the current road traffic situation in developing countries of the world, mainly Tanzania taking Dar es Salaam region as a case study, the impact of traffic congestions, alternative traffic management solutions and proposed solution on multi-agents based sensoring. |
17.12.2013 16:00 SE Colloquium A02 2-219 | |
Thomas Crone:
Software-Evolutions-Services zur Berechnung und Visualisierung von Metriken
Bei größeren Softwareprojekten besteht das Problem, dass man nur noch schwer den Überblick über den bestehenden Quellcode hat. Um schnell einen Überblick zu bekommen gibt es Softwaremetriken, mit denen sich Eigenschaften des Quellcodes bestimmen und als Zahl ausdrücken lassen. Damit ist es z.B. möglich die Komplexität einer Klasse zu bestimmen und mit der anderer Klassen zu vergleichen, um Code zu finden, der überarbeitet werden sollte. Im Rahmen der Arbeit wurde ein Metrik-Berechnungsservice entwickelt, welches - anders als bestehende Lösungen - seine Funktionalität als Service mithilfe von SCA zur Verfügung stellt und damit flexibel wiederverwendbar ist. Dieses kann verschiedene Metriken berechnen und das Ergebnis auch grafisch unter anderem durch Balkendiagramme darstellen. Dazu mussten bestehende Tools z.B. zur Visualisierung der Ergebnisse in Form von Diagrammen in die Service-Umgebung integriert werden. Ein weiteres wichtiges Kriterium war dabei die Erweiterbarkeit der Lösung, sodass ohne großen Aufwand neue Metriken und auch Visualisierungsarten hinzugefügt werden können. |
11.12.2013 13:00 SE Colloquium BTC ES | |
Benjamin Justice:
Deriving Natural Language Specification Templates from requirement patterns
ISO 26262 prescribes the usage of formal methods for the development of safety-critical systems. A very effective concept is the formalization of requirement specifications written in natural language. The BTC EmbeddedSpecifier assists in this formalization process, whereby it requires intervention by the user. This thesis introduces a grammar and meta-model based approach for the formalization of natural language specifications. The approach, which is tailored towards the concept of the BTC EmbeddedSpecifier, translates the natural language specification into a semi-formal intermediate state. While the approach limits the spectrum of processable natural language specifications with its grammar, it is easily adaptable and extendable. |
10.12.2013 17:00 SE Colloquium A02 2-219 | |
Dilshod Kuryazov:
GMoVerS: Generic Model Versioning System (API demonstration)
Software models evolve over time, capturing modifications, improvements and extensions made by users. Modifying model artefacts results in having various versions of the same model which differ from each other. Differences between subsequent versions of a model are mostly stored in difference documents usually called Modeling Delta and these modeling deltas serve as fundamental source on setting up several services and operations within a version management system. Even there are several model versioning approaches with graph or model-based representation techniques, they are usually depend on specific modeling languages or tools, or they do not consider whole chain of versioning operations. This talk explains a novel means to versioning software models, which is independent of modeling languages and tools i.e. meta-model generic and tool independent. One main objective of the approach named Generic Model Versioning System (GMoVerS) is to propose a new concept to difference representation and take advantage of it in further manipulations. Differences between models are represented in an operation-based way i.e. artefact modifications such as element creation, deletion and change from version to version are considered. Then, these operations are implemented by model transformation approaches which eventually is an executable set of transformation rules. Hence, implementation is also independent from transformation approaches that can be configured to several transformation approaches based on the users’ desires. Moreover, the talk addresses to express implementation of the approach and illustrates a running application of GMoVerS including its subcomponents and operations. |
10.12.2013 16:00 SE Colloquium A02 2-219 | |
Sergej Tihinov:
Servicebasierte Refactorings
Softwareentwicklung mit einer Intergrierte Entwicklungsumgebung bietet viele Vorteile gegenüber einem Texteditor ohne Hilfsmittel. Ein Compiler, ein Linker und ein Debugger sind bereits in die IDE integriert und erleichtern somit die Fehlersuche. Tippfehler werden durch die Autovervollständigung wesentlich reduziert. Außerdem werden Schlüsselwörter vorgeschlagen und durch farbliche Markierung im Quelltext hervorgehoben. Eines der wichtigsten Features ist das Refactoring. Es ermöglicht eine effiziente Veränderung der Codestruktur, wodurch der Quelltext beispielsweise zu Gunsten der Lesbarkeit, der Performanz oder der Erweiterbarkeit optimiert werden kann. Neu entwickelte IDE können nicht auf Tools von bereits existierenden IDE zugreifen, da diese in sich geschlossen und nicht modular sind. Somit müssen bereits etablierte Tools wiederholt neu geschrieben werden. Da dies sehr zeit- und kostenintensiv ist, soll eine Alternative entwickelt werden. Diese soll den Einbau erleichtern und die Wiederverwendung der Refactoring Komponenten ermöglichen. Im Rahmen der Arbeit soll ein modulares Refactoring-Tool entwickelt werden. Für die Realisierung wird die Service Component Architecture verwendet. Johannes Meier zeigte bereits in seiner Bachelorarbeit mit dem Titel “Eine Fallstudie zur Interoperabilität von Software-Evolutions-Werkzeugen in SCA”, dass SCA eine leichte Anbindung bietet und sich damit auch umfassendere Projekte realisieren lassen. Durch den modularen Aufbau und die festgeschriebenen Schnittstellen lassen sich die einzelnen Komponenten leicht ersetzen und gut wiederverwenden. Die Erstellung einer für das Refactoring geeigneten Architektur und die Erprobung dieser an einem Prototypen bilden den Schwerpunkt dieser Arbeit. Die Architektur muss einfach erweiterbar sein, damit weitere Refactorings ohne großen Aufwand hinzugefügt werden können. Intern soll sie aus mehreren kleineren Komponenten bestehen. Diese sollen möglichst wenig Redundanz aufweisen, um leicht wiederverwendbar zu sein. Desweiteren wird eine Fallunterscheidung zwischen der automatischen Erkennung von problematischen Stellen im Code und der Benutzeninteraktion stattfinden, um sich der richtigen Balance und der daraus resultierenden Benutzerfreundlichekeit anzunähern. Darüber hinaus soll die Refactoring Komponente anhand mehrerer praktischer Beispiele veranschaulicht werden. Daran wird gezeigt, dass die gewählte Architektur sowohl für die Realisierung von kleinen als auch große Refactorings geeignet ist und dass die Art der Interaktion eine zweckmäßige Balance aufweist. |
12.11.2013 16:00 SE Colloquium A02 2-219 | |
Jan Jelschen:
A Description Model for Software Evolution Services
Software evolution encompasses a wide variety of activities to analyze, reverse engineer, transform, and visualize software systems, requiring properly integrated tool support. Many tools are available, however, most implement only a single technique, and offer little to no interoperability. Towards a service-oriented integration approach, this talk presents a service description model, developed along two case studies, as a basis for cataloging and standardizing activities and techniques as services. As proof-of-concept, a prototype has been implemented, realizing one of the case studies. |
05.11.2013 16:15 SE Colloquium A2-2-219 | |
Nikolai Bräuer:
Automatisierte rechnergestützte Analyse von genregulatorischen Netzwerken
Ein wichtiger Forschungsgegenstand der Genetik ist die Analyse von genregulatorischen Netzwerken. Dabei wird untersucht, wie sich Gene gegenseitig in ihrer Aktivität beeinflussen. Meist wird ein bestimmtes Gen nicht von nur einem anderen Gen allein reguliert, sondern von mehreren Genen beeinflusst. Ebenso reguliert ein einzelnes Gen meist eine Vielzahl anderer Gene. So entstehen komplexe Netzwerke von genregulatorischen Abhängigkeiten. Es ist nötig den Aufbau dieser Netzwerke zu identifizieren, um bestimmte biologische Vorgänge auf molekularer Ebene verstehen zu können. Dieses Wissen kann beispielsweise helfen, die Ursachen für Erbkrankheiten zu erkennen, Therapien zu entwickeln, sowie evolutionäre Prozesse besser zu verstehen. Um den Aufbau genregulatorischer Netzwerke zu identifizieren, werden experimentelle Methoden verwendet, bei denen unter hohem Zeit– und Kostenaufwand die Existenz einzelner genregulatorischer Abhängigkeiten überprüft wird. Um die Anzahl dieser Experimente zu verringern, versucht man genregulatorische Abhängigkeiten rechnerisch vorherzusagen. Die Bioinformatik hat eine Vielzahl von Anwendungen hervorgebracht, welche bei solch einer rechnergestützten Vorhersage von Nutzen sein können. Allerdings beziehen sich diese Anwendungen meist nur auf einzelne Aspekte des gesamten Analyseprozesses. Deshalb besteht die rechnergestützte Analyse von genregulatorischen Abhängigkeiten aus mehreren Einzelschritten und ist mit vielen manuellen Tätigkeiten verbunden. Ziel dieser Arbeit, ist es diesen Analyseprozesses effizienter zu gestalten, indem ein Softwaresystem entwickelt wird, welches ein erprobtes Verfahren zur computergestützten Vorhersage von genregulatorischen Abhängigkeiten durchgängig automatisiert und die Anzahl nötiger manueller Eingriffe minimiert. Das System soll dabei auch auf bereits bestehende Anwendungen zurückgreifen, da für einen Großteil des Analyseverfahrens bereits Anwendungen vorhanden sind. |
29.10.2013 16:15 SE Colloquium A2-2-219 | |
Marion Gottschalk:
Energy Refactorings
Nowadays, energy-efficiency is an important topic for information and communication technology on various levels, such as in mobile devices, computers, servers, and data centers. Currently, 1 \% of the German energy consumption is produced by mobile devices, such as smartphones and tablets. Due to the raising sales volume of these devices, it can be anticipated that the energy consumption, and hence, their percentage share of the complete energy consumption in Germany also raises. A reason for the increasing sales volume is the improvement of the mobile device's functionality on hardware and software level. Both levels have a great influence on the energy consumption. Meanwhile, researches on both levels exist to optimize their energy use. In this master's thesis, the software level, or to be more exact, the applications level on mobile devices is considered. The application level on the operating system Android is open for each vendor and user. This means, that vendors and users can decide which applications are installed. However, these applications are programmed by many different vendors and programmer, and no interest or guidelines for energy-efficient programming exist. Hence, some applications are energy-inefficient and reduce the battery duration of mobile devices. The source code of these applications can be optimized, to get more energy-efficient applications. Therefor, an Energy Refactoring Catalog is created to define energy-inefficient code parts and their transformation to efficient code. This enables a semi-automatic process to reduce the energy consumption for individual Android applications. |
22.10.2013 14:00 SE Colloquium CEWE Color | |
Sieglinde Hahn:
Analyse der Softwareentwicklungsprozesse der Betrieblichen IT bei einem mittelständischen Unternehmen
Das Unternehmen CEWE Stiftung & Co. KGaA ist der europäische Technologie- und Marktführer im Fotofinishing. Zu den Produkten gehören u.a. das CEWE-Fotobuch und Fotogeschenkartikel mit hoher Qualität. Für die Unterstützung der Geschäftsprozesse existieren drei verschiedene IT Bereiche mit unterschiedlichen Schwerpunkten. Diese Bereiche sind Betriebliche IT, Produktions IT und Online IT. Zur Erhaltung und Optimierung der Softwarequalität innerhalb der Bereiche, hilft Qualitätsmanagement. Der Erhalt der Softwarequalität stellt Unternehmen somit vor die Herausforderung die Softwarequalität auf Dauer konstant zu erhalten. Die Masterarbeit hat sich mit auf die Erhebung der Prozessqualität der Abteilung der Betrieblichen IT fokussiert, um mögliches Optimierungspotenzial zu identifizieren. Das Ziel war das Aufdecken von Handlungsalternativen zur Verbesserung der Softwareentwicklung. Um dieses Ziel zu erreichen wurden Softwareprozesse der Betrieblichen IT sowie der Online IT und Produktions IT erhoben und in einer Ist-Analyse zusammengefasst. Darüber hinaus fand eine Literaturanalyse statt, um die Handlungsalternativen anhand der Standardliteratur ableiten zu können. Die Handlungsalternativen sollen dazu dienen die Softwareprodukte langlebig und wartbar zu machen. |
08.10.2013 16:00 SE Colloquium A2-2-219 | |
Sergej Tihonov:
Entwicklung eines modularen Refactoring-Tools in SCA
Softwareentwicklung mit einer Intergrierte Entwicklungsumgebung bietet viele Vorteile gegenüber einem Texteditor ohne Hilfsmittel. Ein Compiler, ein Linker und ein Debugger sind bereits in die IDE integriert und erleichtern somit die Fehlersuche. Tippfehler werden durch die Autovervollständigung wesentlich reduziert. Außerdem werden Schlüsselwörter vorgeschlagen und durch farbliche Markierung im Quelltext hervorgehoben. Eines der wichtigsten Features ist das Refactoring. Es ermöglicht eine effiziente Veränderung der Codestruktur, wodurch der Quelltext beispielsweise zu Gunsten der Lesbarkeit, der Performanz oder der Erweiterbarkeit optimiert werden kann. Neu entwickelte IDE können nicht auf Tools von bereits existierenden IDE zugreifen, da diese in sich geschlossen und nicht modular sind. Somit müssen bereits etablierte Tools wiederholt neu geschrieben werden. Da dies sehr zeit- und kostenintensiv ist, soll eine Alternative entwickelt werden. Diese soll den Einbau erleichtern und die Wiederverwendung der Refactoring Komponenten ermöglichen. Im Rahmen der Arbeit soll ein modulares Refactoring-Tool entwickelt werden. Für die Realisierung wird die Service Component Architecture verwendet. Johannes Meier zeigte bereits in seiner Bachelorarbeit mit dem Titel “Eine Fallstudie zur Interoperabilität von Software-Evolutions-Werkzeugen in SCA”, dass SCA eine leichte Anbindung bietet und sich damit auch umfassendere Projekte realisieren lassen. Durch den modularen Aufbau und die festgeschriebenen Schnittstellen lassen sich die einzelnen Komponenten leicht ersetzen und gut wiederverwenden. Die Erstellung einer für das Refactoring geeigneten Architektur und die Erprobung dieser an einem Prototypen bilden den Schwerpunkt dieser Arbeit. Die Architektur muss einfach erweiterbar sein, damit weitere Refactorings ohne großen Aufwand hinzugefügt werden können. Intern soll sie aus mehreren kleineren Komponenten bestehen. Diese sollen möglichst wenig Redundanz aufweisen, um leicht wiederverwendbar zu sein. Desweiteren wird eine Fallunterscheidung zwischen der automatischen Erkennung von problematischen Stellen im Code und der Benutzeninteraktion stattfinden, um sich der richtigen Balance und der daraus resultierenden Benutzerfreundlichekeit anzunähern. Darüber hinaus soll die Refactoring Komponente anhand mehrerer praktischer Beispiele veranschaulicht werden. Daran wird gezeigt, dass die gewählte Architektur sowohl für die Realisierung von kleinen als auch großen Refactorings geeignet ist und dass die Art der Interaktion eine zweckmäßige Balance aufweist. |
27.09.2013 13:00 ED Colloquium / SE Colloquium BEI DER BTC-ES (R49) | |
Frederik Berg:
Effizientere Reportgenerierung durch Traceability
Die BTC Embedded Systems AG entwickelt unter anderem Werkzeuge, die das Testen von Matlab Simulink/TargetLink-Modellen und daraus generiertem Code als Ergebnisse einer modellgetriebenen Entwicklung automatisieren. Hierbei werden für den Nutzer dieser Werkzeuge HTML-Reports erstellt, die Auskunft über die Güte der entwickelten Artefakte und deren Testbarkeit geben. Ein solches Werkzeug ist der EmbeddedTester mit seinem Plugin ModelBlockTest. Die Berechnung der für den Report notwendigen Werte und ihre Darstellung als HTML-Dokument werden bei jeder Änderung des Quellmodells (einem Datenmodell, das aus einem SL/TL-Modell generiert wurde) vollständig neu angestoßen. Dies kann bei steigender Komplexität des Quellmodells sehr lange dauern, auch wenn die Änderung nur minimal ist. Ziel der Bachelorarbeit soll es sein, bei Änderungen im Datenmodell nur diejenigen Elemente des Reports neu zu erstellen, die sich auch tatsächlich ändern. Dafür ist es notwendig, Traceability (also eine Verfolgbarkeit) zwischen den Elementen des Datenmodells und denen des Reports herzustellen: Wenn man weiß, auf welche Elemente des Reports ein Element des Datenmodells alles einen Einfluss hat, kann man gezielt nur diese Report-Elemente aktualisieren. Zunächst soll ein Konzept für die Etablierung einer solchen Traceability und einer gezielten Reportaktualisierung erarbeitet und seine technische Umsetzbarkeit überprüft werden. In einem zweiten Schritt soll dieses Konzept dann beispielhaft auf das Plugin ModelBlockTest angewendet werden. |
17.09.2013 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Julian Döring:
Designing and Developing an Android Application for a Mobile Computing Course
Im Rahmen des Projekts DASIK soll ein neuer, einwöchiger Intensivkurs zum Thema Mobile Computing geschaffen werden. Darin sollen Teilnehmer lernen, Apps für Mobiltelefon- und Tablet-Plattformen wie Android zu entwickeln. Im Kurs sollen die speziellen Herausforderungen bei Entwurf, Umsetzung und Qualitätssicherung behandelt, und in einem kursbegleitenden Praktikum veranschaulicht und vertieft werden. Da im gesetzten Zeitrahmen keine vollständige, umfangreiche Mobil-App entwickelt werden kann, aber dennoch möglichst alle Lernziele durch praktische Anteile untermauert werden sollen, soll für den Kurs eine Referenz-Applikation zur Verfügung gestellt werden, die Teilnehmern ein Rahmenwerk vorgibt, und erlaubt, einzelne Komponenten schrittweise im Praktikum hinzuzufügen. Ziel dieser Arbeit ist es, basierend auf den Lerneinheiten desDASIK-Kurses Mobile Computing, eine Android-Applikation zu entwickeln, die als Basis für das kursbegleitende Praktikum dienen kann. Dazu muss sie zum Einen ein Rahmenwerk und gewisse Inhalte vorgeben, und zum Anderen über eine Reihe von Komponenten verfügen, die von Kursteilnehmern erstellt und in die App eingefügt werden können. Referenzimplementierungen dieser Komponenten dienen als Musterlösung und gegebenenfalls als Rückgriff, um trotzdem eine vollständige Anwendung zu erhalten, falls eine einzelne Komponente im Rahmen des Kurses einmal nicht fertiggestellt werden konnte. Neben der Konzeption und Implementierung der App, soll diese auch in Form von Übungsunterlagen zum Nachprogrammieren der Komponenten dokumentiert werden. |
16.09.2013 Workshop Koblenz | |
The third EASED workshop will be held at the43. Jahrestagung der Gesellschaft für Informatik e.V. (GI). It follows up theWorkshop on Developing Energy Aware Software Systems (EASED@BUIS 2013). The EASED workshop is a 1-day-workshop which allows to present and discuss ongoing work, latest results, and common topics of interest regarding the improvement of software induced energy consumption. |
09.07.2013 17:00 ED Colloquium / SE Colloquium A2-2-219 | |
Benjamin Justice:
Deriving Natural Language Specification Templates From Requirement Patterns
Development of safety critical systems, such as cars, must comply to industry standards such as the ISO 26262. The company BTC Embedded Systems has recently released the BTC EmbeddedSpecifier, which is a software that assists in developing such systems. The main focus of the BTC EmbeddedSpecifier lies within the formalization of natural language specification. With the BTC EmbeddedSpecifier the user can achieve formal notation by means of a semiformal intermediate step. For this intermediate step each natural language specification requirement must be mapped to a particular requirement pattern. These requirement patterns' main components are Büchi automata. This semiformal notation must be linked to an explicit architecture in order to become formal, i.e., unambiguous. While the BTC EmbeddedSpecifier aims to abstract the formalization process completely, the BTC EmbeddedSpecifier in its current version requires a lot of user interaction to achieve formal notation. One task currently requiring knowledge of formal methods is the mapping of the natural language specification to a pattern, as the user must identify which patterns the natural language specification complies to by hand. This thesis aims to provide a method of deriving natural language specification templates analogical to the requirements specification templates. An implementation will be given in form of a Java Form prototype. This prototype will help identify an appropriate pattern by displaying the natural language specification template for each pattern. The user can select the template which suits his requirement best and enter his natural language specification into the template. As the requirement is compliant to the template, is it implicitly compliant to the pattern and its variables such as time units, input and output signals can automatically be mapped to the pattern to attain a semiformal notation. Further reseach could use these templates to automatically detect which patterns the natural language specification can comply to in order to reach a higher amount of automization when formalizing requirements with the BTC EmbeddedSpecifier. |
09.07.2013 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Dilshod Kuryazov:
A survey on transformation-based representation of model differences
Model version management systems should consist of several services in order to provide versioning software models. Representation of differences between subsequent versions of a software model is the central ingredient of any model versioning system. Differences, obtained from difference calculation process, have to be represented in an appropriate way so that it can be used for patching, subsequent analysis of model histories or by some other services. Finding generic techniques to representation of model differences is an actual challenge of current version management approaches. Recently, a number of research papers have been actively discussing several approaches to representation of differences. One of these approaches is transformation-based representation of model differences. This talk, firstly, emphasizes insights to transformation-based approaches. Mainly, core ideas behind some of the research papers will be clarified which are results of reviewing and assessment through some related works on that approach. |
25.06.2013 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Frederik Berg:
Effizientere Reportgenerierung durch Traceability
Die BTC Embedded Systems AG entwickelt unter anderem Werkzeuge, die das Testen von Matlab Simulink/TargetLink-Modellen und daraus generiertem Code als Ergebnisse einer modellgetriebenen Entwicklung automatisieren. Hierbei werden für den Nutzer dieser Werkzeuge HTML-Reports erstellt, die Auskunft über die Güte der entwickelten Artefakte und deren Testbarkeit geben. Ein solches Werkzeug ist der EmbeddedTester mit seinem Plugin ModelBlockTest. Die Berechnung der für den Report notwendigen Werte und ihre Darstellung als HTML-Dokument werden bei jeder Änderung des Quellmodells (einem Datenmodell, das aus einem SL/TL-Modell generiert wurde) vollständig neu angestoßen. Dies kann bei steigender Komplexität des Quellmodells sehr lange dauern, auch wenn die Änderung nur minimal ist. Ziel der Bachelorarbeit soll es sein, bei Änderungen im Datenmodell nur diejenigen Elemente des Reports neu zu erstellen, die sich auch tatsächlich ändern. Dafür ist es notwendig, Traceability (also eine Verfolgbarkeit) zwischen den Elementen des Datenmodells und denen des Reports herzustellen: Wenn man weiß, auf welche Elemente des Reports ein Element des Datenmodells alles einen Einfluss hat, kann man gezielt nur diese Report-Elemente aktualisieren. Zunächst soll ein Konzept für die Etablierung einer solchen Traceability und einer gezielten Reportaktualisierung erarbeitet und seine technische Umsetzbarkeit überprüft werden. In einem zweiten Schritt soll dieses Konzept dann beispielhaft auf das Plugin ModelBlockTest angewendet werden. |
18.06.2013 16:00 ED Colloquium / SE Colloquium A2-2-219 | |
Sieglinde Hahn:
Analyse der Softwareentwicklungsprozesse der Betrieblichen IT bei einem mittelständischen Unternehmen
Das mittelständische Unternehmen ist der europäische Technologie- und Marktführer im Fotofinishing. Zu den Produkten gehören u.a. das Fotobuch und Fotogeschenkartikel mit hoher Qualität. Für die Unterstützung der Geschäftsprozesse existieren drei verschiedene IT Bereiche mit unterschiedlichen Schwerpunkten. Diese Bereiche sind Betriebliche IT, Produktions IT und Online IT. Zur Erhaltung und Optimierung der Softwarequalität innerhalb der Bereiche, hilft Qualitätsmanagement. Der Erhalt der Softwarequalität stellt Unternehmen somit vor die Herausforderung die Softwarequalität auf Dauer konstant zu erhalten. Die Masterarbeit wird sich auf die Erhebung der Prozessqualität der Abteilung Betriebliche IT fokussieren sowie die Identifikation von Optimierungspotenzial. Ziel ist das Aufdecken von Handlungsalternativen, hierfür werden die Softwareprozesse der betrieblichen IT in Form einer Istanalyse erhoben. Die erhobenen Daten sollen mit den Softwareprozessen der Produktions IT und Online IT sowie Standardvorgehen aus der Literatur abgeglichen werden. Handlungsalternativen sollen dazu dienen die Softwareprodukte langlebig und wartbar zu machen. |
11.06.2013 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Christoph Küpker:
General Model Difference Calculation
Models, used to represent abstract views on a complex system, are commonly used design documents and artefacts in the process of software development. Differences between consecutive versions of models allow, for instance, model evolution investigation or versioning of models. Such differences, referred to as modelling deltas, are detected using model difference calculation algorithms. Currently available tools and frameworks for model difference calculation are limited either in model language capabilities or have restricted functionalities for implementational reasons. Hence, general model difference calculation is an open problem. Existing algorithms, tools and frameworks for model comparison have been investigated and a general algorithmic solution has been found. That algorithm has been implemented in a prototype called GDiff which allows model difference detection in a generic manner. The implementation is capable of detecting differences for any model type or language. This is validated by exemplary comparisons of UML Activity Diagrams and a domain-specific graph type used to represent object-oriented software systems. The solutions to a general model difference calculation algorithm and the prototype implementation show that model difference calculation is actually possible without restrictions to model type or language. The solution provided in this work could for example be embedded in a model versioning system, allowing the system to make models from any language versionable without requiring specific modelling tools or model representations. |
30.04.2013 17:00 ED Colloquium / SE Colloquium A2-2-219 | |
Jan Jelschen:
Discovery and Description of Software Evolution Services
A catalog of software evolution services is a prerequisite for the creation of an integration framework to enhance software evolution tool interoperability. The catalog acts as the framework's inventory of basic blocks for toolchain building. There is no comprehensive survey of established techniques spanning all areas of the field of software evolution. Existing techniques and tools are described in scientific publications in varying form and detail, and are not expressed in terms of services. This paper presents an approach to discover services from literature, and extract information about them along a description model. |
30.04.2013 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Marion Gottschalk:
Energy-Efficient Code by Refactoring
The rising number of mobile devices increase the interest in longer battery durations. To increase battery duration, researchers try to improve e.g. different hardware components, such as processors and GPS for lower energy consumption. Frequently, software optimization possibilities to save energy are forgotten. Hence, an approach is shown to reduce energy consumption of applications by reengineering. Therefor, energy-wasteful code in applications is searched by code analysis and then restructured to optimize their energy consumption. Energy savings are validated by different energy measurements techniques. |
25.04.2013 Workshop Kulturzentrum PFL, Oldenburg | |
The EASED workshop will be held in conjunction with the5th BUIS-Days: IT-based resource and energy management. It follows up theWorkshop on Developing Energy Aware Software Systems (EEbS 2012), held at the annual GI Conference in September 2012. On this day a broad forum for researchers and practitioners to discuss ongoing work, latest results, and common topics of interest regarding the improvement of software induced energy consumption is provided. |
23.04.2013 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Dilshod Kuryazov:
Towards Versioning Sustainability Reports
Sustainability reporting is a key issue of sustainability development in companies. Sustainability reports are documents which describe data about different performances of companies. They intend to report and analyse sustainability information to provide sustainable future. During sustainability development, reports have to be versioned to analyse histories of sustainability reports and to present changes and improvements of sustainability data. This talk intends to clarify idea behind an approach to versioning sustainability reports by means of delta storage which included in in paper entitled"Towards Versioning Sustainability Reports". The approach explains an operation-based, schema generic means to store differences between versions. Differences are represented by a sequence of executable operations which allow for obtaining older versions by applying these to the current version. The approach is applied to versioning sustainability reports within the STORM project. |
16.04.2013 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Alex Bauer:
Describing Changes in Activity Diagrams
Software evolution is witnessing the increasing need of tools for visualizing and representing changes of various versions of software systems on all levels of development including requirements, designing, coding, and testing. Current most versioning tools use a text based approach to represent differences on code level (for instance cf. Diff with is applied in [RCS], [CVS], [SCCS] and [subversion]). Tool approaches for representing version differences of models like activity diagrams only exist in research prototypes like [ADDiff]. Activity diagrams are widely using on modeling of business processes, workflows and web services. This thesis will address the development of a concept of describing differences between versions of activity diagrams and apply this concept to an use case. |
09.04.2013 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Christoph Küpker:
Calculating Changes in Activity Diagrams
Collaborative modelling is a key component of software development. There are currently no versioning systems available, that support the modelling process in a way that doesn't restrict developers to a certain modelling tool. Versioning is based on differences that are stored and used to create different versions of the versioned objects. These differences are being calculated by difference calculation algorithms that calculate the difference between two versioned objects. A general algorithm for difference calculation is being presented in this thesis. Research on current model difference calculation algorithms provides an appropriate algorithm that is chosen based on runtime complexity, detection correctness and the general capability to handle any model type or language. To validate the correctness of the chosen algorithm, a tool that calculates differences between two UML activity diagrams is exemplary conceptualised and implemented. As a result, the chosen algorithm and the concept of the examplary implementation of a difference calculation tool could be used for general model difference calculation in a model versioning system. |
02.04.2013 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Marcel Schröder:
Erfassung des Energieverbrauchs von Android Apps
Bei modernen Smartphones wird der Akku oft zum Flaschenhals, denn dieser hält häufig nicht länger als einen Tag durch. In der Softwareentwicklung auf mobilen Endgeräten wird ein sparsamer Energieverbrauch gefordert. Dabei wird jedoch nur verlangt, dass wenig Akkuleistung verbraucht wird und nicht wie viel. Dies ist dadurch bedingt, dass es keine Werkzeuge gibt, die es erlauben, das Energieverhalten für komplexe Anwendungsverhalten auf dem Smartphone zu erfassen und zu vergleichen. Das Wissen über den Energieverbrauch ist aber die Grundvoraussetzung zur Optimierung von Apps. Gegenstand dieser Arbeit ist es diesen Wissen in der Entwicklung zugänglich zu machen. Durch Entwicklung einer Messinfrastruktur sollen reproduzierbare Messungen ermöglicht werden. Diese Messungen sollen es ermöglichen Zusammenhänge zwischen Quellcode und Energieverbrauch aufzuzeigen. In diesem Vortrag werden verschiedene Methoden vorgestellt und verglichen um auf einem Android Smartphone den Energieverbrauch zu messen. |
15.01.2013 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Marcel Wilkens:
Reifeprüfung von Software in Stabilisierungsphasen
Im Rahmen der Softwareentwicklung durchläuft eine Software vor der produktiven Nutzung im Betrieb eine Reihe von Phasen. So schließt sich nach der Inbetriebnahme üblicherweise eine Stabilisierungsphase an. Ziel dieser Phase ist es das eig. "fertige" Produkt gründlich zu untersuchen und zu überprüfen und somit durch Tests und Fehlerbeseitigung die Stabilität dieser Software zu garantieren. In der Praxis wird eine solche Stabilisierungsphase meist als ein im Vorfeld festgelegter Zeitabschnitt definiert, ohne dabei den tatsächlichen Reifegrad der Software zu berücksichtigen. Dies führt dazu, dass die zuvor festgelegten Pläne ungenau und fehlerhaft sind und deshalb fortlaufend überarbeitet werden müssen. In genau diesem Aspekt wird die Masterarbeit ansetzen, um sich von diesem "klassischen" Vorgehen wegzubewegen und eine Möglichkeit zur tatsächlichen Messung des Reifegrads zu schaffen. Ziel ist es zu untersuchen, an welchen Merkmalen und Größen sich der Reifegrad einer Software in der Stabilisierungsphase messen lässt. Definierende Metriken könnten hierbei z.B. die Anzahl der Änderungen der letzten Woche, die Anzahl und Häufigkeit der offenen Probleme, der Aufwand in Analysen oder die Beratung von Endanwendern darstellen. Mithilfe dieser Kennzahlen sollen sowohl die erreichten Fortschritte in der Stabilisierung der Software laufend dargestellt werden als auch zur realistischen Festlegung des Endes der Stabilisierungsphase beigetragen werden. Es soll entschieden werden, ob die Software mittlerweile stabil läuft, sodass ein geregelter Betrieb möglich ist oder nicht. Ebenfalls können diese Kennzeichen dazu beitragen, abzuschätzen inwieweit sich die Software auf dem erwarteten Pfad der Stabilisierung befindet bzw. an welchen Punkten Maßnahmen ergriffen werden sollten, um einen geregelten Betrieb zu erreichen. |
2012
18.12.2012 17:00 ED Colloquium / SE Colloquium A2-2-219 | |
Janina-Sarah Siemer:
Analyse von Visual C
Soll eine Änderung am Quellcode durchgeführt werden, so muss der gesamte Quellcode untersucht werden. Die Darstellung von Abhängigkeiten innerhalb des Quellcodes soll dem entgegenwirken und die Übersichtlichkeit wahren. Um das zu erreichen, wird Reverse Engineering durchgeführt. Dabei wird mit Hilfe eines Parsers und einem Metamodell, der Sourcecode in eine Graphendarstellung überführt und im Anschluss analysiert. Aufgabe dieser Arbeit ist es, das Reverse Engineering eines umfangreichen, kommerziellen Softwaresystems zu unterstützen. Hierzu ist durch ein Metamodell zu definieren, welche Informationen über das zu betrachtende System zu erheben und zu analysieren sind. Hierbei sind insbesondere die konkreten Anforderungen, die sich aus der beim Projektpartner gegebenen Visual C/C++-Umgebung ergebe, zu beachten. Ebenso ist zu evaluieren, in wie weit frei verfügbare Parser-Frontends geeignet sind, Metamodell-konforme Repository-Strukturen aufzubauen. Zum Abschluss der Arbeit werden für die entstandenen Graphen mehrere Graphanalysen durchgeführt. |
18.12.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Mathias Ringe:
Vergleich komponentenbasierter Frameworks zur Integration von Software-Reengineering Werkzeugen
Anwendungssysteme unterliegen laufenden Veränderungen welche einen Qualitätsverlust zur Folge haben können. Software-Reengineering Maßnahmen werden durchgeführt um dem Qualitätsverlust von Softwaresystemen entgegen zu wirken. Zur Durchführung der notwendigen Software-Reengineering Maßnahmen existieren unterschiedliche Werkzeuge. Jedes der Werkzeuge deckt dabei einen bestimmten Teilbereich der insgesamt durchzuführenden Maßnahmen ab. Durch Integration der einzelnen Werkzeuge kann die Erfüllung aller Aufgaben erreicht werden. Als Lösungsansatz für die Integration steht die komponentenbasierte Softwareentwicklung zur Verfügung. Im Rahmen dieser Arbeit sollen Komponenten-Frameworks bezüglich ihrer Eignung zur Integration der Werkzeuge miteinander verglichen werden. Hierfür müssen unteranderem geeignete Kriterien aufgestellt, Komponenten-Frameworks identifiziert und verglichen werden. Ziel der Arbeit ist es somit die identifizierten Komponenten-Frameworks mit Hilfe der Kriterien gegeneinander abzuwägen und eine Handlungsempfehlung für den Integrationsprozess auszusprechen. |
17.12.2012 15:00 ED Colloquium / SE Colloquium A2-2-219 | |
Olaf Roeder:
Brückenarchitektur zur Softwaremigration am Beispiel STORM
STORM ist eine an der Carl von Ossietzky Universität entwickelte Software zur Nachhaltigkeitsberichterstattung im Web 2.0. Um die Produktivität von STORM zu steigern, wurde entschieden, die Entwicklung mit anderer Technologie fortzusetzen. Damit die gesamte Funktionalität von STORM, sowie die Integrität und Verfügbarkeit des bestehenden Datenbestandes sichergestellt werden kann, muss migriert werden. Während der Migration soll die Anwendung STORM ständig verfügbar sein, jedoch sollen Funktionalitäten von der neuen Version übernommen werden, sobald sie migriert worden sind. Dies bedeutet, dass zur Laufzeit unterschieden werden muss, welche Version von STORM welche Funktionalität bedient, wie die Daten synchronisiert werden und wie die Anwendung dargestellt wird, dies alles soll durch eine Brücke realisiert werden. In dieser Arbeit wird untersucht, wie STORM zu einer neuen Version migriert werden kann, die besser für den produktiven Einsatz geeignet ist als die aktuelle Version und wie die Brücke so zu implementieren ist, dass sie die o. g. Anforderungen erfüllt. |
11.12.2012 16:30 ED Colloquium / SE Colloquium A2-2-219 | |
Jens Rauch:
Ein service-orientierter Ansatz für Interoperabilität in einer heterogenen Systemlandschaft am Beispiel
der Astrium GmbH
Die über Jahre gewachsene Systemlandschaft großer Unternehmen ist zumeist durch starke Heterogenität gekennzeichnet. Sie lässt sich zurückführen auf den betrieblichen Wandel und geänderte Anforderungen einerseits und das Bestreben, die jeweils bestgeeigneten Systeme für einen bestimmten Zweck einzusetzen ("Best-of-Breed") andererseits. Die so entstandene Heterogenität bringt fast zwangsläufig funktionale Redundanzen und mangelnde Systeminteroperabilität mit sich. Daraus ergeben sich zwei Probleme: 1) Nichtinteroperable Systeme stellen Anwendern ihre Dienste nur über die systemeigenen Nutzerschnittstellen bereit, so dass Geschäftsprozesse nicht vollständig, sondern nur abschnittsweise unterstützt werden. 2) Angesichts funktionaler Redundanz ist damit zu rechnen, dass Daten der gleichen Art (z. B. Produktinformation) auf mehreren Systeme verteilt verwaltet werden. Wegen der fehlenden Interoperabilität sind diese zudem nicht zentral abrufbar. In dieser Bachelorarbeit soll am Beispiel der Astrium GmbH untersucht werden, wie sich durch einen service-orientierten Ansatz Interoperablität in einer heterogenen Systemlandschaft herstellen lässt, um eine bessere Unterstützung von Geschäftsprozessen und einen zentralen Datenzugriff zu gewährleisten. Zu berücksichteigen ist jedoch, dass die Autonomie einzelner Systeme erhalten bleiben muss. Die Arbeit erstreckt sich von der Systemanalyse über Konzeptbildung, Entwurf und Implementierung einzelner Anforderungs-Szenarien bis hin zur Validierung des Geleisteten. |
07.12.2012 09:00 Workshop OFFIS - F02 | |
ExploIT Dynamics - PhD Workshop
The first ExploIT Dynamics - PhD Workshop together with Students from Voronezh State University, Russia, takes place in Oldenburg at OFFIS and Carl von Ossietzky University on December 07, 2012. The workshop starts at 9:00 at OFFIS in room F02. After lunch the workshop will be continued at the University in room V02 0-003. More information you find here. |
04.12.2012 17:00 ED Colloquium / SE Colloquium A2-2-219 | |
Sergey Babkin:
Die interaktive Bildschirm-Steuerung mit dem Kinect Sensor
Die interaktive Bildschirm-Steuerung mit dem Kinect Sensor Ich arbeite an der Softwareentwicklung für die interaktive Bildschirm-Steuerung mit dem Kinect Sensor. Meistens wird der Kinect für die Computerspiele benutzt, aber sein Potential ist viel breiter. Er bekommt ein Farbbild, ein Bild von Tiefe, deshalb kann er die dreidimensionalen Koordinaten bestimmen. Der Sensor kann auch feststellen, woher der Laut kommt, und die Rede erkennen. Das Entwicklungssystem für den interaktiven Bildschirm ist folgendes: der Projektor bildet die Darstellung auf der Wand, der Kinect wird auf dieses Bild gerichtet; und dann folgt der Sensor den Hände und wenn die Hand nah genug zur Wand ist, dann simuliert er die Mausklicks auf den entsprechenden Stellen. Auf diese Weise ist es möglich, in diesem System nicht nur die Mausklicks machen zu können, sondern auch die Elemente auf dem Bildschirm von einem Ort zum anderen zu bringen. Das Problem war: wie man die dreidimensionalen Koordinaten der Hand in die entsprechenden Koordinaten auf dem Bildschirm konvertiert kann. Zunächst, muss man die dreidimensionalen Koordinaten der Ecken des Bildes bestimmen. Dafür vergleicht das Programm zwei Bilder mit dem schwarzen und dem weißen Bildschirm. Jetzt haben wir vier Koordinaten der Ecken des Bildschirms und die Koordinaten der Hand. Wir finden einen Punkt, der hinter der Hand auf die Wand liegt. Dann bilden wir vier Dreiecke: die Basis ist die Seite des Bildschirms und der Punkt hinter der Hand. Wenn die Vektoren gerechnet wurden, finden wir die Ecken zwischen der Basis und der zweiten Seite, und mit diesen Ecken finden wir weiter die Höhe des Dreiecks. Und, wenn wir alle vier Höhen wissen, können wir die Koordinaten des Pixels auf dem Bildschirm finden. |
04.12.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Andrey Saksonov:
Creating web application with NoSQL storage using Scala language
This was my baccaluareate work, which was aimed on researching methods and approach for using NoSQL storages in web applications. Example application from the work use MongoDB as NoSQL storage, which acts like complex cache storage (storing not only keys and values, but also relations beetween entities), when basic database is still relational (PostgreSQL). User interface written using Play framework with Scala language. Cache mechanism based on Actors (provided by Akka toolkit) in functional style. Some metrics (which demonstrates benefits of approach) presented in the last part of the work. |
27.11.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Johannes Meier:
Eine Fallstudie zur Interoperabilität von Software-Evolutions-Werkzeugen in SCA
Die Softwaretechnik entwickelt zur Software-Evolution großer Softwaresysteme diverse Software-Evolutions-Methoden, die durch Implementierungen in einzelnen Werkzeugen automatisiert werden. Da in der Praxis Software-Evolutions-Maßnahmen durch die Kombination mehrerer Software-Evolutions-Methoden ausgeführt werden, müssen zur Automatisierung dieser Szenarien verschiedenste Werkzeuge miteinander verschaltet werden. Um diese Werkzeugintegration einfach, flexibel und austauschbar zu realisieren, beruht der Ansatz der Komponententechnik darauf, einzelne Werkzeuge durch Komponenten zu kapseln, die ihre Software-Evolutions-Methoden als Services anderen Komponenten zur Verfügung stellen. Einzelne Szenarien werden anschließend durch die Verschaltung dieser Services realisiert. Ziel dieser Bachelorarbeit ist es, den komponentenbasierten Lösungsansatz anhand des Komponentenmodells "Service Component Architecture" (SCA) und der "Business Process Execution Language" (BPEL) auf ein bestehendes Szenario, das COBOL- und migrierten Java-Code mittels Metriken vergleicht, anzuwenden und ihn hinsichtlich Eignung, Aufwand und Flexibilität mit einer bestehenden Implementierung vergleichend zu evaluieren. Die Umsetzung dieses Ansatzes erfolgt durch die Identifizierung und Konkretisierung der Services, die von Components, die das zugrunde liegende Werkzeug wrappt, zur Verfügung gestellt werden. Das vorliegende Szenario wird realisiert durch eine Orchestrierung, die die Logik des Szenarios auf Ebene der Services implementiert, und ein Mapping, das angibt, welcher Service durch welches Werkzeug realisiert werden soll. |
15.11.2012 16:00 ED Colloquium / SE Colloquium A4-2-225 | |
Jens Krayenborg:
DSA:Dynamische Verwendung von Sensor- und Aktuatorknoten (HW/SW)
In informatischen Systemen findet die Anwendung von Sensoren und Aktuatoren mehr und mehr Einzug. Unterstützt wird diese Entwicklung durch die Tatsache, dass immer mehr neue Typen an Sensoren und Aktuatoren entwickelt werden. Dadurch werden Sensoren, wie auch Aktuatoren stetig kleiner, was den Formfaktor betrifft, aber dennoch leistungsfähiger. Gleichzeitig sinken die Produktionskosten und damit auch die Anschaffungskosten für Systementwickler. Ein Trend, der sich in Zukunft weiter fortsetzen wird. Durch diesen Trend ergeben sich neue und komplexere Einsatzmöglichkei- ten. Diese erfordern allerdings zumeist eine heterogene Menge aus Sensoren und Aktuatoren. Aufgrund fehlender Standards, und der daraus resultierenden starken Unterschiede in den Schnittstellen, allerdings ist die Entwicklung eines solchen informatischen Systems eine komplexe und sehr zeitintensive Angelegenheit. Auch die Neukonfiguration des Systems durch Einsatz neuer Sensoren oder Aktuatoren stellt eine hohe Herausforderung an die Entwickler dar und verursacht i.d.R hohe Kosten für den Auftraggeber. Aufgrund der stark unterschiedlichen Schnittstellen ist ein Austauschen während der Laufzeit des Systems nicht, oder nur erschwert, möglich. Das DSA-Rahmenwerk addressiert diese Probleme. Es schafft eine Zwischenschicht zwischen spezifischen Sensoren und Aktuatoren und dem anwendenden informatischen System. Es stellt eine vereinheitlichte Schnittstelle zur Verfügung, die es dem informatischen System gestattet, jeden Sensor, bzw. Aktuator, aus einer heterogenen Menge an Sensoren und Aktuatoren, auf die gleiche Weise anzusprechen. Gleichzeitig gestattet das DSA-Rahmen- werk, mehrere spezifische Sensoren und Aktuatoren zu einem logischen Konstrukt zusammenzufassen und während der Laufzeit zu variieren. Dadurch ergeben sich neue Möglichkeiten der Systemanalyse und Optimierung, was gerade im Hinblick auf den Energieverbrauch von drahtlosen Sensor- und Aktuatorknoten große Vorteile verschaffen kann. Dieser Vortrag stellt das DSA-Rahmenwerk in seinem aktuellen Entwicklungsstand vor. Dazu werden vorher die Problemstellung und Zielsetzung erläutert, um im Anschluss daran die möglichen Ansätze aufzuzeigen. Ferner wird der in dieser Bachelorarbeit durchzuführende Versuch umrissen. |
13.11.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Mirco Josefiok:
An Energy Abstraction Layer for Mobile Computing Devices
Energy-efficiency in mobile computing sector is an increasingly interesting topic, especially since the growing popularity of smartphones and tablet devices in recent years. There is a rising importance of smartphones in peoples daily life and business, but in case of software development and engineering energy-efficiency is widely neglected. This work provides basic research in the field of measuring energy and power related information on mobile computing devices and proposes an abstract specification for implementing a measurement infrastructure on different mobile computing devices. |
30.10.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Marie-Christin Ostendorp:
Model Driven Software Visualization
Die Softwarevisualisierung dient im Bereich des Software Engineering dazu Informationen über ein Softwaresystem visuell aufzubereiten. Dies kann zur Analyse bestehender Softwaresysteme und zum Verstehen von Softwaresystemen, beispielsweise in der Softwarewartung eingesetzt werden. Die Arbeit beschäftigt sich aus diesem Grund mit der Entwicklung einer API, die aus zuvor generierten Analysedaten eine flexible und variable visuelle Darstellung erzeugen kann. Die Analysedaten liegen dabei als TGraphen vor. Die Erzeugung der gewünschten visuellen Darstellung basiert auf einem mit GReQL-Anfragen annotierten Metamodell. Aus diesen Informationen generiert die API automatisch eine GReTL-Transformation, die die Überführung der Analysedaten in eine Instanz des Metamodells der Visualisierung vornimmt. Diese Instanz wird dann über einen Renderer in eine SVG-Grafik überführt, die zum Metamodell der Visualisierung konform ist. Insgesamt soll es so möglich sein aus beliebigen Analysedaten eine visuelle Darstellung zu erhalten, die komplett frei und variabel wählbar ist. |
23.10.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Dilshod Kuryazov:
Evolution of Integrated software models: Services overview
Recently, a meta-model-generic approach was introduced to representing model differences. This approach defines operation-based means to represent modeling deltas referring to a meta-model i.e. difference operations can be generated for arbitrary metamodels. Meta-models give a collection of concepts within a certain (domain-specific) modeling language. In this sense, applying the atomic operations (add, delete, and change) to model elements results in a sequence of operations within a domain-specific language (DSL), which represents model differences. Consequently, the operations of the DSL are represented by a set of transformation rules. While implementing the approach, a complex of tools and approaches have to be involved. The talk intends to discuss all the services including tools and appraoches in order to implement the approach. |
09.10.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Marcel Schröder:
Erfassung des Energieverbrauchs von Android Apps
Bei modernen Smartphones wird der Akku oft zum Flaschenhals, denn dieser hält häufig nicht länger als einen Tag durch. In der Softwareentwicklung auf mobilen Endgeräten wird ein sparsamer Energieverbrauch gefordert. Dabei wird jedoch nur verlangt, dass wenig Akkuleistung verbraucht wird und nicht wie viel. Dies ist dadurch bedingt, dass es keine Werkzeuge gibt, die es erlauben, das Energieverhalten für komplexe Anwendungsverhalten auf dem Smartphone zu erfassen und zu vergleichen. Das Wissen über den Energieverbrauch ist aber die Grundvoraussetzung zur Optimierung von Apps. Gegenstand dieser Arbeit ist es diesen Wissen in der Entwicklung zugänglich zu machen. Durch Entwicklung einer Messinfrastruktur sollen reproduzierbare Messungen ermöglicht werden. Diese Messungen sollen es ermöglichen Zusammenhänge zwischen Quellcode und Energieverbrauch aufzuzeigen. In diesem Vortrag werden verschiedene Methoden vorgestellt und verglichen um auf einem Android Smartphone den Energieverbrauch zu messen. |
05.10.2012 13:00 ED Colloquium / SE Colloquium A2-2-219 | |
Projektgruppe Clonebusters:
Projektgruppe Clonebusters – Abschlusspräsentation
Das Thema Plagiate ist seit Anfang des Jahres 2011 stärker in das öffentliche Interesse gerückt, da diversen Personen des öffentlichen Lebens Plagiatsvorwürfe gemacht wurden, welche sich in zahlreichen Fällen nach Überprüfungen bestätigten. Der Schutz des geistigen Eigentums erfordert jedoch die Suche und die Erkennung von Plagiaten. Zudem ist aus Sicht des Urheberrechts, des Patentrechts und auch der Prüfungsordnung der jeweiligen Hochschule die Einhaltung der gesetzlichen Rahmenbedingungen notwendig. Dabei werden nicht, unvollständig oder falsch zitierte Texte als Plagiat bezeichnet. Die Vision der Projektgruppe ist somit die Erstellung eines komponentenbasierten Frameworks zur Erkennung von Plagiaten. Hierbei soll die Benutzeroberfläche als Webanwendung realisiert werden. Der Gedanke verschiedener, objektorientierter Komponenten soll hierbei die Verteilung der Software erleichtern. Darüber hinaus soll die Erweiterbarkeit und Austauschfähigkeit einzelner Komponenten bestehen. Zur Erkennung von Plagiaten soll ein Textvergleich mit Hilfe von unterschiedlichen Algorithmen durchgeführt werden. Die Projektgruppe präsentiert ihr Projekt von der Idee bis hin zur Verwirklichung. Vorgestellt werden u.a. technische Details wie die Anbindung des HERO Cluster der Universität. Des Weiteren werden das Vorgehen und die Entstehung des Entwurfskonzeptes näher betrachtet. Den Abschluss der Präsentation bildet eine Live-Demo der erstellten Anwendung "PlagTag". |
11.09.2012 17:00 ED Colloquium / SE Colloquium A2-2-219 | |
Alex Bauer:
Beschreibung von Änderungen in Aktivitäsdiagrammen (Describing Changes in Activity Diagrams)
Software evolution is witnessing the increasing need of tools for visualizing and representing changes of various versions of software systems on all levels of development including requirements, designing, coding, and testing. Current most versioning tools use a text based approach to represent differences on code level (for instance cf. Diff with is applied in [RCS], [CVS], [SCCS] and [subversion]). Tool approaches for representing version differences of models like activity diagrams only exist in research prototypes like [ADDiff]. Activity diagrams are widely using on modeling of business processes, workflows and web services. This thesis will address the development of a concept of describing differences between versions of activity diagrams and apply this concept to an use case. |
11.09.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Marcel Wilkens:
Reifeprüfung von Software in Stabilisierungsphasen
Im Rahmen der Softwareentwicklung durchläuft eine Software vor der produktiven Nutzung im Betrieb eine Reihe von Phasen. So schließt sich nach der Inbetriebnahme üblicherweise eine Stabilisierungsphase an. Ziel dieser Phase ist es das eig. "fertige" Produkt gründlich zu untersuchen und zu überprüfen und somit durch Tests und Fehlerbeseitigung die Stabilität dieser Software zu garantieren. In der Praxis wird eine solche Stabilisierungsphase meist als ein im Vorfeld festgelegter Zeitabschnitt definiert, ohne dabei den tatsächlichen Reifegrad der Software zu berücksichtigen. Dies führt dazu, dass die zuvor festgelegten Pläne ungenau und fehlerhaft sind und deshalb fortlaufend überarbeitet werden müssen. In genau diesem Aspekt wird die Masterarbeit ansetzen, um sich von diesem "klassischen" Vorgehen wegzubewegen und eine Möglichkeit zur tatsächlichen Messung des Reifegrads zu schaffen. Ziel ist es zu untersuchen, an welchen Merkmalen und Größen sich der Reifegrad einer Software in der Stabilisierungsphase messen lässt. Definierende Metriken könnten hierbei z.B. die Anzahl der Änderungen der letzten Woche, die Anzahl und Häufigkeit der offenen Probleme, der Aufwand in Analysen oder die Beratung von Endanwendern darstellen. Mithilfe dieser Kennzahlen sollen sowohl die erreichten Fortschritte in der Stabilisierung der Software laufend dargestellt werden als auch zur realistischen Festlegung des Endes der Stabilisierungsphase beigetragen werden. Es soll entschieden werden, ob die Software mittlerweile stabil läuft, sodass ein geregelter Betrieb möglich ist oder nicht. Ebenfalls können diese Kennzeichen dazu beitragen, abzuschätzen inwieweit sich die Software auf dem erwarteten Pfad der Stabilisierung befindet bzw. an welchen Punkten Maßnahmen ergriffen werden sollten, um einen geregelten Betrieb zu erreichen. |
04.09.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Olaf Roeder:
Brückenarchitektur zur Softwaremigration am Beispiel STORM
Das Online Berichterstattungstool "STORM" (SusTainable Online Reporting Model, entwickelt mit Grails (http://grails.org/)), erstellt vom WiSe 2009 bis SoSe 2010 von der Projektgruppe "Nachhaltigkeitsberichterstattung im Web 2.0" unter der Leitung von Prof. Dr.-Ing. Jorge Marx Gomez, soll zu einer neuen Version migriert werden (entwickelt mit ASP.NET MVC (http://www.asp.net/mvc/mvc4)). Die volle Funktionalität der Plattform STORM soll während des Migrationsprozesses durchgängig verfügbar sein, wobei bereits Funktionalität von der neuen Version genutzt werden soll. Um stets den aktuellen und vollen Funktionsumfang nutzen zu können, ist es erforderlich, dass ein Selektionsprozess stattfindet, der Anfragen eines Benutzers so koordiniert, dass stets die aktuellste Version einer Funktionalität angesteuert wird. Dieser Prozess soll in einer Brücke gekapselt werden, die als Verbindung zwischen dem Benutzer und den beiden Versionen von STORM dient. Für den Benutzer soll der Webauftritt der Plattform STORM transparent sein, es darf für ihn keinen Unterschied machen, welche Version von STORM seine Anfrage erfüllt. Die Brücke hat also die Aufgaben, dem Benutzer eine Bedienoberfläche (Webseite) zur Verfügung zu stellen und die Inhalte aus den Versionen von STORM so darzustellen, dass der Inhalt aktuell und synchron (zwischen beiden STORM Versionen) ist, sowie zu entscheiden, an welches STORM eine Benutzeranfrage gesendet wird, sowie die Antwort korrekt zu verarbeiten. |
04.09.2012 15:00 ED Colloquium / SE Colloquium A2-2-219 | |
Marion Gottschalk:
Removing Energy Code Smells with Reengineering Services
Due to the increasing consumer adoption of mobile devices, like smart phones and tablet PCs, saving energy is becoming more and more important. Users desire more functionality and longer battery cycles. While modern mobile computing devices offer hardware optimized for low energy consumption, applications often do not make proper use of energy-saving capabilities. This paper proposes detecting and removing energy-wasteful code using software reengineering services, like code analysis and restructuring, to optimize the energy consumption of mobile devices. |
28.08.2012 17:15 ED Colloquium / SE Colloquium A2-2-219 | |
Mathias Ringe:
Vergleich komponentenbasierter Frameworks zur Integration von Software-Reengineering Werkzeugen
Anwendungssysteme unterliegen laufenden Veränderungen welche einen Qualitätsverlust zur Folge haben können. Software-Reengineering Maßnahmen werden durchgeführt um dem Qualitätsverlust von Softwaresystemen entgegen zu wirken. Zur Durchführung der notwendigen Software-Reengineering Maßnahmen existieren unterschiedliche Werkzeuge. Jedes der Werkzeuge deckt dabei einen bestimmten Teilbereich der insgesamt durchzuführenden Maßnahmen ab. Durch Integration der einzelnen Werkzeuge kann die Erfüllung aller Aufgaben erreicht werden. Als Lösungsansatz für die Integration steht die komponentenbasierte Softwareentwicklung zur Verfügung. Im Rahmen dieser Arbeit sollen Komponenten-Frameworks bezüglich ihrer Eignung zur Integration der Werkzeuge miteinander verglichen werden. Hierfür müssen unteranderem geeignete Kriterien aufgestellt, Komponenten-Frameworks identifiziert und verglichen werden. Ziel der Arbeit ist es somit die identifizierten Komponenten-Frameworks mit Hilfe der Kriterien gegeneinander abzuwägen und eine Handlungsempfehlung für den Integrationsprozess auszusprechen. |
28.08.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Dilshod Kuryazov:
Describing Modeling Deltas by Model Transformation
Since large scaled software models typically exist in many revisions, extraction and representation of differences between versions is a crucial issue of model version systems. While handling model differences is playing an important role in evolution of models, there is a need for appropriate techniques to represent model differences. This paper shows a meta-model-generic and transformation based approach to the representation of model differences. Domain specific language is generated to represent model differences. Differences are mapped to a set of model transformation rules. To demonstrate the approach, it is applied to two versions of an activity diagram. |
20.08.2012 External Talk University of Koblenz, Germany | |
Andreas Winter:
Model-driven Reengineering for a Blue Planet
Refactoring for Energy Efficiency, SoTeSoLa Summer school |
14.08.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Mirco Josefiok:
An Energy Abstraction Layer for mobile Computing Devices
Energy-efficiency in mobile computing sector is an increasingly interesting topic especially since the growing popularity of smart phones and tablet devices in recent years. There is an increasing importance of smartphones in peoples daily life and business, but in case of software development and engineering energy-efficiency is widely neglected. In Germany every year more then 600 millions kWh of energy are consumed. From this over 10% percent are accounted for information and communication technology. The bulk of this consumption can be assigned to IP-based communication and exceeds the energy consumption of the German aviation sector. |
10.08.2012 External Talk Urgench city, Khorezm region, Uzbekistan | |
Dilshodbek Kuryazov:
Software engineering and key aspects of the field
Discussed: Development of software engineering and modelling in the republic, the brief overview and benefits of software modelling, modelling tools and approaches, major challenges of collaborative modelling, M2M and M2T transformations. |
07.08.2012 16:50 ED Colloquium / SE Colloquium A2-2-219 | |
Johannes Meier:
Eine Fallstudie zur Interoperabilität von Reengineering-Werkzeugen in SCA
Die Softwaretechnik entwickelt zur Software-Evolution großer Softwaresysteme diverse Software-Evolutions-Methoden, die durch Implementierungen in einzelnen Werkzeugen automatisiert werden. Da in der Praxis Software-Evolutions-Maßnahmen durch die Kombination mehrerer Software-Evolutions-Methoden ausgeführt werden, müssen zur Automatisierung dieser Szenarien verschiedenste Werkzeuge miteinander verschaltet werden. Um diese Werkzeugintegration einfach, flexibel und austauschbar zu realisieren, beruht der Ansatz der Komponententechnik darauf, einzelne Werkzeuge durch Komponenten zu kapseln, die ihre Software-Evolutions-Methoden als Services anderen Komponenten zur Verfügung stellen. Ziel dieser Bachelorarbeit ist es, diesen komponentenbasierten Lösungsansatz anhand des Komponentenmodells "Service Component Architecture" (SCA) auf ein bestehendes Szenario, das COBOL- und migriertem Java-Code mittels Metriken vergleicht, anzuwenden und ihn hinsichtlich Eignung, Aufwand und Flexibilität mit einer bestehenden ad hoc Implementierung vergleichend zu evaluieren. |
07.08.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Marie-Christin Ostendorp:
Software Visualization Services
Die Softwarevisualisierung dient im Bereich des Software Engineering dazu Informationen über ein Softwaresystem visuell aufzubereiten. Dies kann zur Analyse bestehender Softwaresysteme und zum Verstehen von Softwaresystemen, beispielsweise in der Softwarewartung eingesetzt werden. Die Arbeit beschäftigt sich aus diesem Grund mit der Entwicklung einer API, die aus zuvor generierten Analysedaten eine flexible und variable visuelle Darstellung erzeugen kann. Die Analysedaten liegen dabei als TGraphen vor. Die Erzeugung der gewünschten visuellen Darstellung kann der API als Metamodell übergeben werden. Aus diesen Informationen generiert die API automatisch eine GReTL-Transformation, die die Überführung der Analysedaten in eine Instanz des Metamodells der Visualisierung vornimmt. Diese Instanz wird dann über einen Renderer in eine SVG-Grafik überführt, die zum Metamodell der Visualisierung konform ist. Insgesamt soll es so möglich sein aus beliebigen Analysedaten eine visuelle Darstellung zu erhalten, die komplett frei und variabel wählbar ist. |
24.07.2012 16:00 ED Colloquium / SE Colloquium A2-2-219 | |
Projektgruppe Clonebusters:
Projektgruppe Clonbusters - Zwischenstand der Version 2
Das Thema Plagiate ist seit Anfang des Jahres 2011 stärker in das öffentliche Interesse gerückt, da diversen Personen des öffentlichen Lebens Plagiatsvorwürfe gemacht wurden, welche sich in zahlreichen Fällen nach Überprüfungen bestätigten. Der Schutz des geistigen Eigentums erfordert jedoch die Suche und die Erkennung von Plagiaten. Zudem ist aus Sicht des Urheberrechts, des Patentrechts und auch der Prüfungsordnung der jeweiligen Hochschule die Einhaltung der gesetzlichen Rahmenbedingungen notwendig. Dabei werden nicht, unvollständig oder falsch zitierte Texte als Plagiat bezeichnet. Die Vision der Projektgruppe ist somit die Erstellung eines komponentenbasierten Frameworks zur Erkennung von Plagiaten. Hierbei soll die Benutzeroberfläche als Webanwendung realisiert werden. Der Gedanke verschiedener, objektorientierter Komponenten soll hierbei die Verteilung der Software erleichtern. Darüber hinaus soll die Erweiterbarkeit und Austauschfähigkeit einzelner Komponenten bestehen. Zur Erkennung von Plagiaten soll ein Textvergleich mit Hilfe von unterschiedlichen Algorithmen durchgeführt werden. Präsentiert wird der aktuelle Zwischenstand der Webanwendung „PlagTag“ in der Version 2. Die Version 2 enthält die Umsetzung von drei Algorithmen zur Plagiatsüberprüfung. Die Plagiatsüberprüfung durchläuft eine Dokumentennormalisierung, die Suche und Auswahl von Internetquellen und die Visualisierung der gefundenen Plagiate. Das Ergebnis der Plagiatsüberprüfung kann der Anwender als PDF exportieren. |
17.07.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Marcel Schröder:
Entwicklung einer Messinfrastruktur zur Erfassung des Energieverbrauchs von Android Apps
Bei modernen Smartphones wird der Akku oft zum Flaschenhals, denn dieser hält häufig nicht länger als einen Tag durch. In der Softwareentwicklung auf mobilen Endgeräten wird ein sparsamer Energieverbrauch i.d.R. gefordert. Dabei wird jedoch nur verlangt, dass wenig Akkuleistung verbraucht wird und nicht wie viel. Dies ist dadurch bedingt, dass es keine Werkzeuge gibt, die es erlauben, das Energieverhalten für komplexe Anwendungsverhalten auf dem Smartphone zu erfassen und zu vergleichen. Das Wissen über den Energieverbrauch ist aber die Grundvoraussetzung zur Optimierung von Apps. Gegenstand dieser Arbeit ist es diesen Wissen in der Entwicklung zugänglich zu machen. Durch Entwicklung einer Messinfrastruktur sollen reproduzierbare Messungen ermöglicht werden. Diese Messungen sollen es ermöglichen Zusammenhänge zwischen Quellcode und Energieverbrauch aufzuzeigen. |
10.07.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Oliver Beck:
Eine grafische Benutzeroberfläche für ein XML-basiertes Web Content Management System
Die Abteilung Softwaretechnik setzt ein XML-basiertes Web Content Management System (CMS) ein. Die Struktur der Inhalte ist mittels XML Schemata definiert und die darstellenden HTML-Seiten werden bei Änderungen mittels XSL Transformations aus XML-Daten generiert. Das Editieren der XML-Daten "von Hand" ist umständlich und wird mit wachsender Größe der Dateien immer unübersichtlicher. Um neue Inhalte hinzuzufügen ist außerdem genaue Kenntnis des jeweiligen Schemata notwendig, oder umfangreiche Unterstützung durch einen entsprechend mächtigen Editor erforderlich. Gegenstand dieser Arbeit ist der Entwurf und die Implementierung einer web-basierten Oberfläche für das CMS. Der Editor soll modellbasiert entwickelt werden: Aus den XML Schemata müssen passende Formulare generiert werden können, die ein einfaches Editieren der Inhalte erlauben. Der Editor muss dass Hinzufügen, Löschen und Verändern von Inhalten erlauben, und dazu die jeweils passenden XML-Daten erzeugen. |
19.06.2012 16:30 ED Colloquium / SE Colloquium A2-2-219 | |
Janina-Sarah Siemer:
Graphbasierte Analyse eines industriellen Legacy-Softwaresystems
Wenn Firmen Software vertreiben, kommt es häufig vor, das aufgrund von Kundenbedürfnissen, die Software immer wieder angepasst wird. Diese Anpassungen haben zur Folge, dass bei einer nicht synchronen Dokumentation die Einarbeitungszeit für die Wartung sich erhöht. Soll eine Änderung am Quellcode durchgeführt werden, so muss der gesamte Quellcode untersucht werden, bis die richtige Stelle identifiziert wurde. Die Darstellung von Abhängigkeiten innerhalb des Quellcodes soll dem entgegenwirken und die Übersichtlichkeit wahren. Um das zu erreichen wird ein Reverse Engineering durchgeführt. Dabei wird mit Hilfe eines Extraktors und einem Metamodell der Sourcecode in eine Graphendarstellung überführt und im Anschluss analysiert. Die Aufgabe dieser Arbeit ist es, ein Umfeld zu entwickeln mit dem es möglich ist ein System zu analysieren. Dieses wird dadurch erreicht, dass ein geeigneter Extraktor gefunden und an die Bedürfnisse angepasst wird. Desweiteren wird ein Metamodell definiert, welches Informationen darüber enthält welche Strukturen aus dem System extrahiert werden sollen. In einem Metamodell ist enthalten, wie die Entitäten und Relationen aussehen sollen, die extrahiert werden sollen. Zum Abschluss der Arbeit werden für die entstandenen Graphen mehrere Graphanalysen durchgeführt. |
19.06.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Marcel Wilkens:
Reifeprüfung von Software in Stabilisierungsphasen
Im Rahmen der Softwareentwicklung durchläuft eine Software vor der produktiven Nutzung im Betrieb eine Reihe von Phasen. So schließt sich nach der Inbetriebnahme üblicherweise eine Stabilisierungsphase an. Ziel dieser Phase ist es das eig. "fertige" Produkt gründlich zu untersuchen und zu überprüfen und somit durch Tests und Fehlerbeseitigung die Stabilität dieser Software zu garantieren. In der Praxis wird eine solche Stabilisierungsphase meist als ein im Vorfeld festgelegter Zeitabschnitt definiert, ohne dabei den tatsächlichen Reifegrad der Software zu berücksichtigen. Dies führt dazu, dass die zuvor festgelegten Pläne ungenau und fehlerhaft sind und deshalb fortlaufend überarbeitet werden müssen. In genau diesem Aspekt wird die Masterarbeit ansetzen, um sich von diesem "klassischen" Vorgehen wegzubewegen und eine Möglichkeit zur tatsächlichen Messung des Reifegrads zu schaffen. Ziel ist es zu untersuchen, an welchen Merkmalen und Größen sich der Reifegrad einer Software in der Stabilisierungsphase messen lässt. Definierende Metriken könnten hierbei z.B. die Anzahl der Änderungen der letzten Woche, die Anzahl und Häufigkeit der offenen Probleme, der Aufwand in Analysen oder die Beratung von Endanwendern darstellen. Mithilfe dieser Kennzahlen sollen sowohl die erreichten Fortschritte in der Stabilisierung der Software laufend dargestellt werden als auch zur realistischen Festlegung des Endes der Stabilisierungsphase beigetragen werden. Es soll entschieden werden, ob die Software mittlerweile stabil läuft, sodass ein geregelter Betrieb möglich ist oder nicht. Ebenfalls können diese Kennzeichen dazu beitragen, abzuschätzen inwieweit sich die Software auf dem erwarteten Pfad der Stabilisierung befindet bzw. an welchen Punkten Maßnahmen ergriffen werden sollten, um einen geregelten Betrieb zu erreichen. |
06.06.2012 External Talk Voronezh State University, Russia | |
Andreas Winter:
Studying Computer Science in Oldenburg (Oldb.)
|
06.06.2012 External Talk Voronezh State University, Russia | |
Andreas Winter:
Using Graph-Technology to Improve Software-Evolution
|
25.05.2012 15:30 ED Colloquium / SE Colloquium A2-2-219 | |
Jan Jelschen:
Software Evolution Services
Evolving large software systems comprises the application of many different techniques to analyse, reverse engineer, visualize, and transform software systems. Tools supporting these activities mostly lack interoperability support, and thus need to be wired manually to facilitate desired tasks. This talk proposes describing existing techniques as services, as a prerequisite to create an interoperability framework for software evolution tools. |
25.05.2012 15:00 ED Colloquium / SE Colloquium A2-2-219 | |
Mirco Josefiok, Marion Gottschalk:
Removing Energy Code Smells with Reengineering
Due to the increasing consumer adoption of mobile devices, like smart phones and tablet PCs, saving energy is becoming more and more important. Users desire more functionality and longer battery cycles. While modern mobile computing devices offer hardware optimized for low energy consumption, applications often do not make proper use of energy-saving capabilities. This talk proposes detecting and removing energy-wasteful code using software reengineering services, like code analysis and restructuring, to optimize the energy consumption of mobile devices. |
25.05.2012 14:30 ED Colloquium / SE Colloquium A2-2-219 | |
Dilshod Kuryazov:
Modeling Deltas
Software evolution is witnessing the increasing need of complex tools for calculating, visualizing, storing and adapting differences between consecutive versions of software systems on all the levels of development including requirements, design, code, and test. Modern version management systems should offer services to calculate and represent differences, possible merges after modifications, resolution of conflicts on model merging, and efficient store model changes. This talk indents to illustrate use cases to solve aforementioned issues and applies them to concrete application areas. Moreover, the talk will give an overview about the representation of differences between consecutive versions of a software model by a set of Model Transformation rules. Use cases deal with model based software systems and design-level modifications that a software system undergoes throughout its entire life cycle. |
25.05.2012 14:00 SE Colloquium A2-2-219 | |
Björn Wolff, Christian Wübbeling:
Project Group Clonebusters
The project group 'Clone Busters' tries to identify plagiarism in scientific documents to avoid copying of intellectual property without reference. Therefore, a component-based system using a SCA framework will be developed by the project group. The first version allows an automatic search for references concerning to suspected documents by the search engine Bing. After this, all documents for one plagiarism check get normalized (converted from PDF and HTML to plain-text). Then the plagiarism check starts with a simple String-Matching algorithm called 'Boyer Moore'. The results (comparison of suspected and reference documents and graphics like pie-charts) will be shown in a web-application and can be exported to PDF. |
25.05.2012 10:15 Colloquium SE Colloquium A13-0-028 | |
Michael W. Godfrey:
Squinting at the data: Investigating software artifact provenance using KISS techniques
“Provenance” is a term from archaeology and the arts that refers to a set of evidence supporting the claimed origin of an artifact, such as a piece of pottery or an oil painting. Recently, the term has been used in an electronic context --- “digital provenance” --- to indicate an artifact such as a software component or set of data, really is what it claims to be and should be permitted to be used within sensitive operating environments. In this talk, I suggest how we can stretch the definition further to encompass "software artifact provenance". That is, for a given software development artifact such as a user-visible feature, a source code function, or a third-party library, we might want to ask the question: Where did this come from and what is the evidence? For example, one might wonder how a given feature was decided upon during a mailing list discussion, how it manifested itself in the code, and how it has been maintained since the initial implementation. For a given function, one might wonder about its history within the design of the system: Was it designed to fit exactly here, or was it moved or cloned from elsewhere? And for a given third-party jar file that has been included in a Java system distribution, one might ask: What version of the library is this, and how do we know? In this talk I will sketch some of the ideas behind this work, and show how we might phrase some of these questions in terms of concrete criteria. In particular, we will concentrate on simple techniques for reducing a large search space of candidates down to a small handful that can be examined in detail using more expensive techniques. A concrete example of investigating third-party libraries in Java systems will be presented. This is joint work with Daniel German of the University of Victoria, Julius Davies of the University of British Columbia, and Abram Hindle of the University of Alberta. |
22.05.2012 16:15 SE Colloquium A2-2-219 | |
Hauke Neemann:
Object-oriented software development of business process management applications
A central issue in the creation of ERP systems is the mapping of process-oriented business processes to object-oriented software systems. In particular, an efficient and agile modification of the software systems is necessary when the company’s environment changes, in order to stay competitive on the market. For this purpose, four different approaches for the mapping are analyzed in the master thesis. The abovementioned mapping is difficult, because two different views converge. The business processes are modeled in a process-oriented way, and the underlying software systems are developed in an object-oriented way. Because of the different characteristics of these views, an efficient mapping is not possible without much effort. The first approach uses an object-oriented business process modeling, in order to reduce the complexity of the mapping on the highest level. The second and the third approach use a totally automated mapping. In the second approach, the business processes are modeled with UML activity diagrams. Then these are mapped automatically to state machines, in order to generate object-oriented program code. The third approach uses workflows and a workflow management system. In the last approach, a service-oriented architecture (SOA) facilitates the mapping, by simulating the process-orientation on software site. However, the components of the SOA are structured in an object-oriented way. All approaches are conceptually analyzed, and the one with the activity diagrams, the one with the workflows and the one with the SOA are implemented in software. For the purpose of evaluation and comparison of the approaches, useful quality criteria are identified. The comparison shows that the approaches are very similar, although the concepts are different. Indicators are the continuous usage of a client server architecture, as well as the usage of the same user interface and database for every approach. Furthermore, all approaches use reusable building blocks. The concluding result of this work is that the approach with object oriented business process modeling, is not technically mature enough to apply it and that the approach with the activity diagrams and the approach with the workflows use nearly the same concept. The only difference is the target domain. Because the target domain of the workflow approach suits the domain of this work perfectly, this approach should always be preferred in this context. Moreover, it is discussed why the SOA approach should be preferred in short-term projects with a low budget and why the workflow approach should be preferred in long-term projects with a high budget. The presentation will state and illustrate the results of the master thesis. |
11.04.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Hauke Neemann:
Objektorientierte Softwareentwicklung im Kontext des Geschäftsprozessmanagements
Der Vortrag befindet sich im Kontext des Geschäftsprozessmanagements. Durch die unterschiedlichen Sichtweisen der Betriebswirtschaftslehre (prozessorientiert) und der Informatik (objektorientiert) ist die Automatisierung, bzw. IT-Unterstützung der Geschäftslogik eines Unternehmens nicht ohne Weiteres umsetzbar. Die BWL hält an der Prozessorientierung fest, da die Anwender mit diesem Konzept vertraut sind und die Informatik will die Vorteile der Objektorientierung im Bereich der Entwicklung nicht aufgeben. Problematisch bei der Verknüpfung der beiden Sichtweisen ist, dass die Aktivitäten in der Prozessorientierung sequenziell abgearbeitet werden und die Objektorientierung mit dem Austausch von Nachrichten arbeitet. Durch das Objektkonzept wird in der Objektorientierung sowohl das Verhalten, als auch der Zustand betrachtet und verarbeitet, wobei bei der Prozessorientierung lediglich das Verhalten eine Rolle spielt. Für die Verknüpfung der Geschäftsprozessmodellierung mit der objektorientierten Softwareentwicklung werden in der Arbeit vier Lösungsansätze vorgestellt: die Geschäftsprozesse werden bereits objektorientiert modelliert, die Lücke wird geschlossen, indem die Aktivitäten der Prozesse direkt auf die Komponenten abgebildet werden oder die Lücke wird mit Hilfe von Workflows oder einem service-orientierten Ansatz gefüllt. Im Vortrag wird der aktuelle Stand der Masterarbeit präsentiert. |
03.04.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Dilshod Kuryazov:
Evolution of Integrated software models: Use cases overview
Software evolution is witnessing the increasing need of complex tools for calculating, visualizing, storing and adapting differences between consecutive versions of software systems on all the levels of development including requirements, design, code, and test. Modern version management systems should offer services to calculate and represent differences, possible merges after modifications, resolution of conflicts on model merging, and efficiency store model changes. This talk indents to illustrate use cases to solve aforementioned problems and applies them to concrete application areas. Use cases deal with model based software systems and design-level modifications that a software system undergoes throughout its entire life cycle. |
13.03.2012 16:15 ED Colloquium / SE Colloquium A2-2-219 | |
Jan Jelschen:
Towards Applying Reengineering Services to Energy-Efficient Applications
Conserving resources and saving energy has become an important issue for information and communication technology. With increasing adoption of smartphones and tablet PCs, reducing energy consumption in mobile computing is of particular significance. User expectations towards their mobile devices are rising, and functionality is increasing. Accordingly, available energy is made a scarce resource. This talk discusses how software reengineering techniques, like dynamic analysis and refactoring, can be applied to the field of energy-aware computing, to monitor, analyze, and optimize the energy profile of mobile applications and devices. |
06.03.2012 17:00 SE Colloquium A2-2-219 | |
Michael Falk:
Messen und Beeinflussen des Energieverbauchs in Android-Systemen
Da mobile Endgeräte leistungsfähiger werden und mehr Energie verbrauchen, wird das Thema Energieeffizienz immer wichtiger. Aktuell fehlt es aber noch an Techniken und Methoden, um auf hoher Ebene, zum Beispiel auf Applikationsebene, effizient Energie zu sparen. Um zu sehen, an welchen Stellen Energie gespart werden kann, ist es erst einmal notwendig, den Energieverbrauch messen zu können. Am Beispiel von Android soll dieser Vortrag einen Einblick geben, welche Möglichkeiten bereits vorhanden sind, den Energieverbrauch zu messen und zu beeinflussen. |
28.02.2012 16:15 SE Colloquium A2-2-219 | |
Maxat Kulmanov:
Synchronization of Software Evolution Repositories
Interoperability of tools is recognised as a key issue in the evolution of large scale systems. However, due to the heterogeneity in today's software evolution repositories, providing performant software analyses, it is difficult to integrate tools into a consistent and interoperable whole. This presentation will discuss a synchronization approach, so that tools may use synchronized data among all participating tools in software evolution activities. We expect that this approach will enhance the interoperability between tools for metrics, refactoring, redocumentation and other software evolution activities. |
07.02.2012 17:00 SE Colloquium A2-2-219 | |
Dilshod Kuryazov:
Modeling in Computer Science
Software engineers can benefit from modeling by getting a better
understanding of the vast diversity of software systems that can be
modeled. Being aware of the nature, purpose, types of software
models, meta-models, and modern approaches of modeling is beneficial
for researchers and students in software engineering community. The
talk intends to bring the audience into the visual world of modeling
and to help to imagine the concepts of current modeling tools.
|
24.01.2012 17:45 SE Colloquium A2-2-219 | |
Marion Gottschalk:
Specialized Processors for the energy-efficient Use of Applications
The performance of processors has increased dramatically
since the first processor. At the same time the processors
can perform more complex functions than before. This is
important for the adoption of mobile devices so as to achieve
the wishes of users. However the performance has its price: high
power consumption. Due to the basis of the complex functions,
which a processor should complete, much power is used. This
power comes from the battery of the mobile devices. In order
for the performance of the processors to continuously rise, the
battery life must be increased. Another approach is to optimize
the processor, so that the same functions could be perform as
before, but with a decreased power consumption. The processor
optimize should be the main theme in this work.
|
24.01.2012 16:45 SE Colloquium A2-2-219 | |
Cosmin Pitu:
Energy Aware Computing
With the enviromental impact of IT&C steadily growing,
movements such as Green IT try to reduce the carbon
footprint of the computing industry. One of the forerunning
fields within this spectrum is Energy-Aware Computing. By
delving into optimizations within the areas of Hardware and
Software, Energy-Aware Computing strives to raise awareness
regarding increased energy efficiency of applications. Throughout
this presentation, the vision of achieving system-wide energy
efficiency will be presented, outlining the current state of
research within the aforementioned domain.
|
24.01.2012 16:00 SE Colloquium A2-2-219 | |
Mirco Josefiok:
Towards an Energy Abstraction Layer
Applications in mobile computing are nowadays more and more
important. Increasingly complex tasks are handled on the go. But
there is lack power saving techniques regarding applications and
user behaviour. This paper will lay out the basics for a layer
between the operating system and applications to pass more of
the operating system power saving capabilities to the
application layer.
|
10.01.2012 16:15 SE Colloquium A2-2-219 | |
Florian Postel:
Qualitätssicherung der Entwicklungsprozesse einer langlebigen
Branchensoftware für die Sozialwirtschaft
Die Entwicklungsprozesse einer langlebigen Branchensoftware bedürfen einer kontinuierlichen Qualitätssicherung. Auftretende Probleme müssen benannt, die Ursachen gefunden und analysiert werden. Diese Diplomarbeit verfolgte dazu zwei Ziele: Erstens wurde ein Verfahren zur systematischen Qualitätssicherung von Entwicklungsprozessen entwickelt. Zweitens wurde dieses an einer Gruppe von Symptomen angewendet, die bei der täglichen Arbeit in den Abläufen der Entwicklungsabteilung eines Unternehmens beobachtet wurden. Dieses Unternehmen entwickelt eine Branchensoftware für die Sozialwirtschaft. Als Ergebnis der Verfahrensanwendung wurde eine Lösungsstrategie entwickelt und exemplarisch umgesetzt, die eines der Probleme des Unternehmens beseitigen kann. Die Verfahrensanwendung diente außerdem der Validierung der Verfahrensentwicklung und somit der Erfüllung des ersten Ziels. Für diese Aktivitäten wurden die speziellen Belange des Unternehmens aus dem Bereich Kleinere und Mittlere Unternehmen berücksichtigt, die sich insbesondere in den begrenzt zur Verfügung stehenden materiellen und personellen Ressourcen ausdrücken. Auch wurde ein besonderer Wert auf die Zusammenarbeit mit den betroffenen Mitarbeitern gelegt, da deren Akzeptanz für eine erfolgreiche Verbesserung essentiell war. |
2011
13.12.2011 17:00 SE Colloquium A2-2-219 | |
Maxat Kulmanov:
Synchronization of Software Evolution Repositories
Interoperability of tools is recognised as a key issue in the evolution of large scale systems. However, due to the heterogeneity in today's software evolution repositories, providing performant software analyses, it is difficult to integrate tools into a consistent and interoperable whole. This presentation will discuss a synchronization approach, so that tools may use synchronized data among all participating tools in software evolution activities. We expect that this approach will enhance the interoperability between tools for metrics, refactoring, redocumentation and other software evolution activities. |
13.12.2011 16:15 SE Colloquium A2-2-219 | |
Oliver Beck:
Eine grafische Benutzeroberfläche für ein XML-basiertes Web Content Management System
|
15.11.2011 16:15 SE Colloquium A2-2-219 | |
Dilshod Kuryazov:
Evolution of Integrated Software Models
|
18.10.2011 Conference Wellington, New Zealand | |
Modeling Systems plays an important role in todays software
development and evolution.
Modeling provides goal-oriented abstractions in all phases of software development, which
requires deep knowledge on modeling techniques and broad experiences in applying these
techniques. Today, Software Engineering is supported by various modeling techniques, providing
modeling languages, modeling language definition technologies, and model transformation
technologies. Industry and academia successfully realized expressive modeling and meta modeling
languages and mature tools for the practical application.
|
27.09.2011 16:00 SE Colloquium A2-2-219 | |
Timo von der Dovenmühle:
Integration von Kennzahlsystemen in UDDI zur
Entscheidungsunterstützung bei der Komposition serviceorientierter
Architekturen.
Die Realisierung einer serviceorientierten Anwendung wird von vielen Kriterien beeinflusst, die nicht allein technisch begründet sind. Die Anforderungen verschiedener Interessengruppen spielen eine wichtige Rolle, wenn es um die Auswahl geeigneter Serviceanbieter geht. Der Prozess der Auswahl eines geeigneten Services ist häufig nur in geringem Maße automatisiert. Wichtige Kriterien wie beispielsweise Service Level Agreements liegen als Vertrag vor, sodass diese Informationen nur manuell einbezogen werden können. Als Folge ist die Adaptierung neuer Services in ein bestehendes System mit großem Aufwand verbunden. Diese Arbeit beschäftigt sich mit der Frage, wie vorhandene Elemente einer serviceorientierten Architektur verändert werden müssen, damit die Anforderungen verschiedener Interessengruppen berücksichtigt werden können, ohne wesentliche Eingriffe in existierende Software durchführen zu müssen. Dies wird am Beispiel einer Enterprise Resource Planning Software dargestellt. |
20.09.2011 16:15 SE Colloquium A2-2-219 | |
Florian Postel:
Qualitätssicherung der Entwicklungsprozesse einer langlebigen
Branchensoftware für die Sozialwirtschaft
Der Vortrag stellt den Halbzeitstand einer Diplomarbeit vor, deren Ziel das Erkennen, Bewerten und Beherrschen von Risiken bzw. Problemen eines mittelständischen Softwareunternehmens ist. Das Unternehmen entwickelt eine langlebige Branchensoftware für die Sozialwirtschaft. Die Entwicklung einer langlebigen Branchensoftware bedarf einer konsequenten Qualitätssicherung. Insbesondere die Langlebigkeit führt dabei zu einer Reihe von Herausforderungen. Die qualitativen und funktionalen Anforderungen sowohl an die Software als auch an die organisatorischen Rahmenbedingungen ändern sich innerhalb der Produktlebensdauer. Dies kann zu Phänomenen wie beispielsweise Softwareerosion führen, die negative Auswirkungen auf die Softwarequalität haben. Außerdem können sich über die Zeit auch die Auswirkungen kleinerer Probleme und Ungenauigkeiten in den Prozessen und Produkten potenzieren und somit zu erfolgsgefährdenden Problemen entwickeln. Im ersten Schritt zur Zielerreichung der Diplomarbeit wurden die Problemfelder eingegrenzt, auftretende Symptome systematisch erfasst und eine Auswahl für die Durchführung weiterer Schritte getroffen. Für die ausgewählten Symptome wurde eine detaillierte Problemerhebung und Ursachenanalyse vorgenommen. Die Ergebnisse der Analyse sollen vorgestellt und diskutiert werden, um die noch durchzuführenden Schritte zu unterstützen. Zunächst soll eine geeignete Lösungsstrategie festgelegt und eine Lösung für das analysierte Problem entwickelt werden. Zur Validierung der Strategie soll die Lösung exemplarisch umgesetzt werden. Bei Erfolg kann das entwickelte Verfahren im Anschluss an die Arbeit als Blaupause zur Lösung der anderen beschriebenen Probleme angewendet werden. |
21.06.2011 16:15 SE Colloquium OpenText (Ammerländer Heerstr. 138, 1. Stock) | |
Damaris Lahl:
Entwicklung eines generischen Ansatzes zur plattformunabhängigen Instrumentierung von Code
Die Trennung verschiedener Fachlichkeiten innerhalb einer Anwendung gehört zu den wichtigsten Softwareprinzipien. Auf einer einzelnen Plattform kann sie mit Hilfsmitteln der aspektorientierten Programmierung - einer Erweiterung der objektorientierten Programmierung - erreicht werden. Dazu wird Code einer bestimmten Fachlichkeit, der mit der objektorientierten Programmierung noch andere Fachlichkeiten durchziehen würde, in der aspektorientierten Programmierung isoliert implementiert und erst zur Kompilier- oder Laufzeit an die entsprechenden Stellen im Code der anderen Fachlichkeiten instrumentiert. Mit dem entwickelten generischen Ansatz kann die Instrumentierung plattformunabhängig beschrieben werden. Die dazu geschaffene domänenspezifische Sprache enthält alle nötigen Elemente zur Darstellung des einzufügenden Codes und der Stellen im Quellcode der Anwendung, an denen dieser Code eingefügt werden soll. Durch Transformationen wird die entwickelte Sprache in Code von plattformabhängigen Programmiersprachen umgewandelt und die Instrumentierung mit den Hilfsmitteln der aspektorientierten Programmierung durchgeführt. |
20.06.2011 14:00 Colloquium A1 0-004 | |
Carl Worms:
CREDIT SUISSE AG
A Lecture from Real World: IT Management in a Global Bank
The lecture consists of two parts:
|
- to provide a repository with relevant information about the available interfaces
- to support IT Manager in decision making regarding the implementation and re-engineering of the interfaces
- to reduce costs by deactivating the redundant interfaces, cancelation of maintenance contracts and reusing the existing interfaces
- to support the consolidation of the system landscape in terms of interfaces
14.06.2011 16:15 SE Colloquium A2-2-219 | |
Lama Balloul:
Interface Life Cycle Management for system landscape
Enterprise Resource Planning are designed to cover several functional units in Enterprises. However, not all companies are using a single integrated ERP system for all their business functions, rather a mixture of ERP system and other third-party software systems. These systems need to interact with each other via interfaces to transfer information and achieve the objectives of the enterprise.According to a survey from Gartner Group, around 40% of IT budgets are spent on implementing and maintaining interfaces. Many companies suffer from lack of knowledge about available interfaces and their dependencies In fact, underestimating these dependencies could lead to disasters, from which business processes can be affected and as a result can end up with high penalty and big loss. To control the risk associated with interfaces and manage the latter in better way, I would like to present my course of action which is Interface Life Cycle Management. I go through it by identifying the interfaces and their characteristics in a landscape and assigning them to the corresponding phases in their life cycle. The interfaces are stored in a graph database, whose features are useful for answering the questions during the analysis. The characteristics of interfaces are weighted in a way to comprise the basement for risk assessment. At the end of this thesis, the results will be evaluated through comparing the costs of interfaces and by applying tests on the proposed solution. The objectives of my thesis are: |
27.05.2011 14:00 Disputation Universität Kiel, LMS2 R.Ü2/K | |
Niels Streekmann:
Clustering-Based Support for Software Architecture Restructuring
The modernisation of existing software systems is an important topic
in software engineering
research and practice. A part of the modernisation of software systems is the restructuring of
their architecture. This has to be done in numerous contexts, including the evolution to
service-oriented architectures, the re-establishment of the maintainability of a system or the
smooth migration of a system to a new development environment. Architecture restructurings
are coarse-grained changes to the internal structure of the system that are performed in
temporally limited projects. The planning of the transfer of a existing implementation to the
target architecture of a system is currently a mostly manual task. While the analysis of the
existing system is supported by e.g. architecture reconstruction approaches, the actual
restructuring process is not supported by current approaches.
|
18.05.2011 12:30 Colloquium BIS Saal | |
Patricia Burkert-Espich, Sandra Hofmann:
Gastvortrag zum Thema „Aufwandsschätzung in einer neuen Dimension – Integrierte Methodische Estimierung
der Cost Xpert“
Aktuelle Studien belegen, dass der Einsatz von Schätzmethoden ein elementarer Erfolgsfaktor für IT-/Softwareprojekte ist (VSEK, 2006). Cost Xpert entwickelte die Integrierte Methodische Estimierung (IME) als intelligente und ganzheitliche Lösung für die Realisierung werthaltiger IT Projekte in »Time&Budget«. IME stellt die zuverlässige Schätzung von Aufwand, Zeit, Ressourcen und Kosten sowie potentielle Risiken, Fehler und den Dokumentationsumfang über den gesamten Lifecycle von IT Applikationen sicher. Die Cost Xpert Tool Suite repräsentiert den aktuellen Stand der IME in einem intuitiv bedienbaren Standardtool für realistische Schätzungen. Der erste Teil der Veranstaltung gibt einen Einblick in parametrische Schätzmethoden, die Lösung von Cost Xpert (IME) und deren Mehrwert und Nutzen für die Kunden. Im zweiten Teil wird anhand eines reellen Kundenprojekts aufgezeigt, wie mit der Cost Xpert Tool Suite eine Schätzung durchgeführt wird und welche Ergebnisse der Kunde erhält. |
17.05.2011 17:00 SE Colloquium A2-2-219 | |
Niels Streekmann:
Clustering-Based Support for Software Architecture Restructuring
|
02.05. - 04.05.2011 Conference Bad Honnef | |
Software Reengineering comprises all activities that aim at examination and alteration of a software system to reconstitute it in a new form. The main goal of the Workshop Software Reengineering (WSR) is to bring together different working groups from academia and industry that work in the fields of software reengineering and maintenance. Everyone working in this field is invited to present his/her current activities or results. Practitioners' experience reports are as welcome as scientific projects and results. |
21.04.2011 16:15 SE Colloquium A2-2-219 | |
Jan Jelschen:
Towards a Catalogue of Software Evolution Services
Evolving large software systems comprises the application of many different techniques to analyse, reverse engineer, visualize, and transform software systems. Tools supporting these activities mostly lack interoperability support, and thus need to be wired manually to facilitate desired tasks. This talk proposes describing existing techniques as services, as a prerequisite to create an interoperability framework for software evolution tools. |
12.04.2011 16:15 SE Colloquium A2-2-219 | |
Yvette Teiken:
AutoMAIS - Automatisierte Modellgetriebene Analytische Informationssysteme
Analytische Informationssysteme dienen der Entscheidungsunterstützung in Organisationen. Technisch handelt es sich dabei um integrierte Datenbestände aus inhaltlich und technisch unterschiedlichen Systemen. Verwendet werden Analytische Informationssysteme von Entscheidern einer Organisation, die mit deren Hilfe komplexe Analysen durchführen und darauf aufbauend Ihre Entscheidungen treffen. Analytische Informationssysteme sind komplexe Software-Systeme, deren initialer Aufbau zeitaufwändig und kostenintensiv ist. In einem solchen System müssen unterschiedliche technische Aspekte und Abstraktionsniveaus beachtet werden. Auf Grund dieser Herausforderungen ist es sehr aufwändig, eine integrierte Sicht auf den initialen Aufbau solcher Systeme zu ermöglichen. |
15.03.2011 16:15 SE Colloquium A2-2-219 | |
Florian Postel:
Evaluation des halbautomatischen Verfahrens zur modellbasierten Architekturrestrukturierung (MARE)
|
03.03. - 04.03.2011 Conference Oldenburg | |
The European Conference on Software Maintenance and Reengineering (CSMR), the premier European conference on the theory and practice of maintenance, reengineering and evolution of software systems, promotes discussion and interaction among researchers and practitioners about the development of maintainable systems, and the evolution, migration and reengineering of existing ones. We invite people from industry, industrial research and academia to submit papers or experience reports. This conference is not limited to European participants. Authors from outside Europe are also welcomed. |
22.02.2011 16:15 SE Colloquium A2-2-219 | |
Christian Zillmann:
The SOAMIG Process Model in Industrial Applications
The SOAMIG Project aims at a general migration process model with an emphasis on transformation-based conversion. The SOAMIG Process Model is divided into several phases and disciplines, which describe and organize general migration activities. The process is applied in two industrial software migration projects addressing architecture and code migration. |
25.01.2011 16:15 SE Colloquium A2-2-219 | |
Damaris Lahl:
Entwicklung eines generischen Ansatzes zur plattformübergreifenden Instrumentierung von Code
Die Trennung von Belangen bei der Implementierung gehört zu den Prinzipien der Softwareentwicklung. Mit der aspektorientierten Programmierung wurde die objektorientierte Programmierung um die Möglichkeit erweitert, auch Belange wie Logging, Transaktionen und Fehlerbehandlung isoliert zu entwickeln, die sich vorher nicht vom Code anderer Funktionalitäten trennen ließen. Die Werkzeuge dieses Programmierparadigmas sind jedoch auf bestimmte Plattformen, wie beispielsweise Java und .NET, spezialisiert und unterscheiden sich in ihrer Arbeitsweise. Werden verschiedene Plattformen verwendet, müssen auch Belange getrennt voneinander verwaltet werden, bei denen einheitliche Vorgaben von Vorteil sind. Ein Beispiel sind einheitliche Logging-Dateien, die sich besser analysieren lassen. Das Ziel dieser Arbeit ist die Entwicklung eines Ansatzes, mit dem beliebiger Code in bestehende Anwendungen eingefügt werden kann. Das Hinzufügen von Codeteilen zum Code einer Anwendung wird auch Instrumentierung genannt. Der Ansatz soll auf beliebige Plattformen erweiterbar sein, wobei die einzufügenden Codeteile und die Anwendung weiterhin plattformspezifisch entwickelt werden, die Beschreibung der zu erweiternden Stellen im Code einer Anwendung und die dort einzufügenden Funktiuonalitäten jedoch plattformunabhängig erfolgt. Im Vortrag wird dieses Vorhaben vorgestellt und die Verwendung von Werkzeugen der aspektorientierten Programmierung zur Instrumentierung des Codes sowie der Verwendung einer noch im Rahmen dieser Arbeit zu entwickelnden domänenspezifischen Sprache für die plattformunabhängigen Beschreibungen diskutiert. |
19.01.2011 14:00 SE Colloquium Universität Bremen, MZH 1400 | |
Ira D. Baxter:
DMS: Software Tool Infrastructure
Software systems continue to grow in size, complexity, and heterogeneity of structure. Manual methods for designing, implementing, and modifying software systems are becoming less effective. Tools to analyze application code to extract low level details ("static analysis") or architecture are becoming increasingly necessary. But the purpose of analysis is to support *change*. This talk will describe the DMS Software Reengineering Toolkit, a general purpose source code analysis and transformation system. DMS is a kind of generalized compiler, parameterized by language descriptions, analysis tasks and modification tasks, with mature language front ends for C, C++, C#, Java, Python, COBOL and a number of other languages, allows DMS to be applied to a wide variety of analysis and transformation tasks. DMS provides a kind of amortized infrastructure for tools in the same way that an OS provides amortized infrastructure for conventional application software; without the infrastructure, the cost of tools is much higher and delivery times are much longer. Its generalization allows also DMS to be used for an amazing variety of software engineering tasks. This talk will cover briefly the inspiration behind DMS: capturing and reusing *design* information, to provide an incremental model of software construction and maintenance. The talk will provide some description of the DMS infrastructure, including a program transformation system, a flow analysis engine, and parallel execution foundations. We will discuss a number of applications, including fully automated conversion of the mission software an aircraft, large-scale architecture restructing of a C++ application system, architecture extraction for mainframe software, test coverage, as well as duplicate code detection. We will end with some discussion about what is difficult to do with tools like DMS: first-principals specifications, reasoning about software configurations, deep inference, acquisition of sufficient knowledge to enable broad use, and learning curve skills. Biography: Dr. Baxter is CEO and CTO of Semantic Designs, Inc., the company behind the DMS toolkit. He has been involved with computing since 1966, working with digit circuits. He discovered software in 1967 and learned to program on IBM 1401 and 1620s. He implemented one of the first commercial minicomputer timesharing systems on a Data General Nova in 1970, before receiving his B.S. in Computer Science (1973). In 1976, he started Software Dynamics, a systems software house, where he designed compilers, time-sharing and distributed network operating systems. The similarity in concepts and dissimilarity in implementation of the various OSes suggested that managing designs was key to managing long-lived software systems, and turned Ira's interests towards deeper software engineering research. In 1990, he received a Ph.D. in Computer Science from the University of California at Irvine, where he studied Software Engineering, focusing on design reuse using transformational methods. Dr. Baxter spent several years with Schlumberger, working on a PDE-solver generator for CM-5 supercomputers (Sinapse). He was consulting Research Scientist for Rockwell International, focusing on industrial control automation software engineering tools for several years. In 1995, he founded Semantic Designs, to build commercial tools that will radically improve the methods and economics of software enhancement and maintenance. Dr. Baxter is the architect and one of the main implementers of DMS, and the architect and implementer of the PARLANSE parallel programming language. At Semantic Designs, he provides consulting to Fortune 100 companies on automated software analysis, transformation and domain-specific synthesis methods. For the last decade, he has been SD's principal management, supporting marketing and sales, and provides project vision, management and technical architecture to SD's large custom-software customers. His shoe size is 11 1/2. |
2010
14.12.2010 15:30 SE Colloquium A2-2-219 | |
Yvette Teiken:
AutoMais
In dem Dissertationsvorhaben AutoMais geht es darum, automatisierte modellgetriebene Analytische Informationssysteme bereit zu stellen. Bei Analytischen Informationssystemen handelt es sich um komplexe Software-Systeme, die der Analyse und Entscheidungsunterstützung einer Organisation dienen. Der initiale Aufbau eines solchen Systems ist zeitaufwändig und somit kostenintensiv. Ziel des Vorhabens ist es, den Prozess des initialen Aufbaus in Aspekte zu zerlegen. Jeder dieser Aspekte wird mit einer eigenen Sprache beschrieben. Alle Sprachen werden über ein gemeinsames Metamodell integriert. Dies hat den Vorteil, dass ein einzelner Aspekt adäquat beschrieben werden kann und trotzdem globale Aussagen über das zu realisierende System getroffen werden können. Ebenfalls können auf Basis des Metamodells große Teile des Systems generiert werden. Somit ist es möglich, Analytische Informationssysteme effizienter und schneller bereit zu stellen. Ziel dieses Vortrag ist es zum Einen das Vorhaben und den aktuellen Stand vorzustellen und zum Anderen den roten Faden des Vorhabens zu testen und zu diskutieren. |
17.08.2010 16:15 SE Colloquium A2-2-219 | |
Mirco Josefiok, Mathias Ringe:
EAM im Gesundheitswesen
Informationstechnologie im Gesundheitswesen hat sich in den vergangenen Jahren stark gewandelt und entwickelt. Die Anzahl der verwendeten Anwendungen und die zugrunde liegende Infrastruktur haben sich innerhalb der letzten zehn Jahre nahezu verdoppelt. Für Einrichtungen im Gesundheitswesen ist es eine Herausforderung mit dieser Entwicklung Schritt zu halten. In anderen Wirtschaftsbereichen hat sich der Ansatz des "Enterprise Architecture Managements" für die Unterstützung bei der Arbeit mit großen Unternehmensarchitekturen bewährt. In Zusammenarbeit mit Mitarbeitern eines norddeutschen Krankenhauses wird unter Zuhilfenahme der Werkzeuge EAVis und 3LGM² die aktuelle Unternehmensarchitektur erhoben. Auf Wunsch der Mitarbeiter des norddeutschen Krankenhauses liegt der Fokus dabei auf den Anwendungen und ihren Beziehungen zueinander. Ein auf dieser Erhebung aufbauender Vergleich soll klären, welches dieser beiden Werkzeuge für die an sie gestellten Aufgaben besser geeignet ist. Abschließend wird jedoch ein Ausblick auf weitere Möglichkeiten gegeben. |
10.08.2010 16:15 SE Colloquium OFFIS D21 | |
Jan Jelschen:
Towards a Catalogue of Software Evolution Services
|
20.07.2010 16:15 SE Colloquium OFFIS D21 | |
Simon Eiterig:
A Metamodel based approach to generating visualisations
In diesem Abschlussvortrag eines individuellen Projekts stellt Simon
Eiterig seine Ergebnisse vor.
|
13.07.2010 14:45 SE Colloquium A2-2-219 | |
Asad Gul:
Application-level Resource (Energy) Consumption Optimization in Software Systems
Power and energy optimization has become an important concern in system design due to increase in energy prices as well as cooling cost that is required on per watt basis to keep the system away from heat failure. In case of mobile devices, energy optimization is also important due to limited battery life. Conceptually a complete system can be viewed as a composition of three layers. Hardware, OS and application. Power and energy optimization decisions can be made in either layer. My focus is on the application layer as it is directly exposed to the user. User determines application which in turn determines the underlying layers to act accordingly. And because of this an application can best know what their resource and energy requirements are and consequently application can implement better power management policies as compared to the underlying layers. |
01.06.2010 16:15 SE Colloquium OFFIS D21 | |
Stefan Gudenkauf:
Entwicklung einer DSL zur prozessbasierten Verhaltensbeschreibung von Software - Vorgehen und
Zwischenstand mit Beispiel
|
25.05.2010 16:15 SE Colloquium OFFIS D21 | |
Mirco Josefiok, Mathias Ringe:
Enterprise Architecture Management im Gesundheitswesen
|
18.05.2010 16:15 SE Colloquium OFFIS D21 | |
Matthias Uslar:
Standardisierte Referenzarchitektur für das Smart-Grid
|
03.05. - 05.05.2010 Workshop Bad Honnef | |
27.04.2010 16:15 SE Colloquium OFFIS D21 | |
Christian Zillmann:
Iterative Zielarchitekturdefinition in SOAMIG
Software-Migrationen erfordern die Definition von Zielarchitekturen, die die Eigenschaften des neuen Architekturparadigmas weitgehend nutzen, und die die Architektureinschränkungen der zu migrierenden Systeme ausreichend berücksichtigen. Im Rahmen des SOAMIG-Projekts zur Migration in Service-orientierte Architekturen wird ein inkrementelles Vorgehensmodell zur Ermittlung einer solchen Zielarchitektur entwickelt. Der Beitrag beschreibt dieses Vorgehen und skizziert erste Anwendungserfahrungen. |
23.04.2010 10:15 Colloquium A13 0-028 | |
Volker Riediger:
TGraphen (typisierte, attributierte, gerichtete und angeordnete Graphen) sind eine sehr generelle Klasse von Graphen, die die Formalismen vieler grundlegender Graphmodelle integrieren und erweitern. TGraphen basieren auf einer präzisen mathematischen Definition. Die Modellierung von TGraph-Schemas mit grUML (Graph UML) bildet den Ausgangspunkt für die automatische Generierung von lauffähigen anwendungsspezifischen APIs zur Verarbeitung von TGraphen. Der konsequente Einsatz von Metamodellierungs-Techniken ermöglicht dabei gleichzeitig die Realisierung generischer Werkzeuge und Graph-Algorithmen. JGraLab ( jgralab.uni-koblenz.de), entwickelt am Institut für Softwaretechnik der Universität Koblenz-Landau, ist eine hocheffiziente Open-Source Java API für TGraphen. Eine nahtlose Integration von Modellierungs-, Repräsentations-, Manipulations-, Anfrage- und Transformations-Technologien erleichtert die Anwendungsentwicklung. JGraLab wird als Repository-Technik in vielen Forschungsprojekten eingesetzt. Im Vortrag werden einige mit JGraLab realisierte Anwendungen vorgestellt. |
23.03.2010 16:15 SE Colloquium A2-2-219 | |
Sabina El Haoum:
Semantische Analyse von Unternehmensmodellen
Die informationstechnische Unterstützung von Organisations- und Managementstrukturen gehört zu den Hauptaufgabenfeldern der Wirtschaftsinformatik. Die Qualität dieser Unterstützung hängt unter anderem davon ab, inwieweit es gelingt, die verschiedenen in einer Unternehmensarchitektur existierenden Modelle zu bündeln, um eine integrierte Betrachtung zu ermöglichen. Eine wichtige Voraussetzung für die Effektivität einer solchen integrierten Betrachtung besteht in der Kohärenz der Unternehmensmodelle. Ziel des vorgestellten Ansatzes ist ein Werkzeug zur Bewertung der Kohärenz von Modellen. Der entsprechende Lösungsansatz ist Teil eines aktuellen Promotionsvorhabens am Lehrstuhl für Business Engineering der Universität Oldenburg, welches im Rahmen des Vortrages präsentiert wird. |
09.02.2010 16:15 SE Colloquium A2-2-219 | |
Steffen Kruse:
Co-Evolution of Metamodels and Model Transformations
Supporting the longevity of complex software systems is an ongoing challenge in software engineering. While Model Driven Software Engineering (MDSE) provides suitable methods to handle the growing complexity of software systems, the shift from a code centric to a partitioned view of systems introduces a host of new types of artefacts like models, metamodels, DSLs and model transformations. To enable the long-term viability of a model-driven approach, the global concern of evolution has to be tackled for the model driven system and the different artefacts it comprises. It is in this light that this talk proposes the research topic of co-evolving metamodels and model transformations as a contribution to the model driven effort. |
26.01.2010 16:30 SE Colloquium A2-2-219 | |
Niels Streekmann:
Modellbasierte Architekturrestrukturierung -
Evaluation des Ansatzes
Architekturrestrukturierung ist Restrukturierung der impliziten Architektur eines Softwaresystems hin zu einer Zielarchitektur. Im Vortrag wird ein modellbasierter Ansatz zur Architekturrestrukturierung vorgestellt. Der Schwerpunkt liegt dabei auf der Planung und der Durchführung der Evaluation des Ansatzes. Es werden erste Ergebnisse aus einer initialen Fallstudie und einem industriellen Restrukturierungsprojekt vorgestellt. Darauf aufbauend sollen die noch folgenden Schritte der Evaluation beschrieben und diskutiert werden. |
19.01.2010 16:15 SE Colloquium A2-2-219 | |
Stefan Gudenkauf:
A Coordination-Based Model-Driven Method for Parallel Application Development
A continuous trend in computing is the demand for increasing computing performance. With the advent of multi-core processors in the consumer market in 2005, parallel systems have moved out of the scientific niche and became a commodity. This raises the need to exploit concurrency in software of all kinds and domains, whether distributed or not. Unfortunately, the majority of software developers today are short on parallel programming experience, and our current abstractions are harder to program than necessary because they are enormously nondeterministic and make it necessary to cut away unwanted nondeterminism instead of careful introduction. Even though many concepts of parallel programming are sound, parallel software engineering practice is still immature, and traditional parallel programming communities are solely concerned with increasing performance but not software engineering in general. At least in the near future there will be no tools and techniques to fully exploit concurrency automatically. Software developers will have to address concurrency explicitly and from the very beginning of application development. This talk presents the current status of a PhD study that regards the coordination model of a parallel system as the first development artifact. To address the need for higher abstractions and to facilitate reuse, we propose a top-down method that hierarchically separates coordination from computation. Ordinary software developers are supported in the development of parallel applications by combining coordination modeling with model-driven development. |
2009
15.12.2009 16:15 SE Colloquium A2-2-219 | |
Matthias Postina:
Ein EA-zentriertes Vorgehen zur Evolution einer SOA
Das Paradigma der serviceorientierten Architektur hält Einzug in immer mehr Unternehmensanwendungslandschaften, besonders dann, wenn es darum geht, fachliche Anforderungen an die IT schnell und effizient umzusetzen. Hersteller von Fachmodulen und Infrastrukturprodukten wie beispielsweise IBM (Web-Sphere) und SAP (SAP NetWeaver mit Composition Environment) haben sich längst mit entsprechenden Produkten wie Enterprise Servicebussen, Workflowengines und Servicerepositories am Markt positioniert. Dennoch hält sich die Anzahl der Anwendungslandschaften, die sich nahtlos und vollständig serviceorientiert zusammensetzen, stark in Grenzen. Meistens beschränken sich SOA-Fallstudien und -Projekte auf eingeschränkte Bereiche der Anwendungslandschaft eines Unternehmens. Somit gibt es wenig Erfahrung mit langfristigem Betrieb und der Evolution solcher modernen Anwendungslandschaften, und es ist zu erwarten, dass diese sich im Aufbau befindlichen und komplexen Gebilde ohne geeignete Managementmethoden und Toolsupport nicht beherrschbar sein werden. An dieser Stelle setzt dieses Promotionsvorhaben auf, indem ein unternehmensarchitektur- zentriertes (Enterprise Architecture – EA) Vorgehen entwickelt wird, um die Evolution einer serviceorientierten Architektur zu unterstützen. Dazu wird im Rahmen dieser Arbeit ein Vorgehensmodell zur Entwicklung und Etablierung eines intelligenten Servicerepositories eingeführt und im Rahmen einer Machbarkeits- studie evaluiert. |
08.12.2009 16:15 SE Colloquium A2-2-219 | |
Philipp Gringel (OFFIS):
SOAMIG - Projektvorstellung
Das SOAMIG-Projekt beschaeftigt sich mit der Migration von
Legacy-Systemen in
service-orientierte Architekturen (SOA). Legacy Systeme werden u.a. charakterisiert
durch eine veraltete Architektur, fehlende oder unvollstaendige Dokumentation,
Veränderungen, die über Jahre und Jahrzehnte durch Wartungen und Anpassungen an
sich ändernde Anforderungen entstanden sind sowie Wartungs-Programmierer, die bei
der Entwicklung der ursprünglichen Systeme nicht beteiligt waren.
|
08.12.2009 16:15 SE Colloquium A2-2-219 | |
Michael Godfrey (Univ. Waterloo):
The Past, Present, and Future of Software Evolution
As Fred Brooks famously noted, change is an essential characteristic
of software development, as software systems must respond to evolving
requirements, platforms, and other environmental pressures. In this talk,
we discuss the concept of software evolution from several perspectives.
We examine how it relates to and differs from software maintenance.
We discuss insights about software evolution arising from Lehman's laws
of software evolution and the staged lifecycle model of Bennett and Rajlich.
We compare software evolution to other kinds of evolution, from science and
social sciences, and we ex-amine the forces that shape change. Finally,
we discuss the changing nature of software in general as it relates to
evolution, and we propose open challenges and future directions for software
evolution re-search.
|
- Architecture Development Method (ADM)
- Architecture Capability Framework
- Architecture Content Framework
01.12.2009 16:15 SE Colloquium A2-2-219 | |
Matthias Postina:
Überblicksvortrag zu TOGAF (The Open Group Architecture Framework)
Das Architecture Framework der Open Group (TOGAF) wurde Anfang
dieses
Jahres in der Version 9 veröffentlicht.
Ziel dieses Oberseminartermins soll es sein, den Teilnehmern einen
Überblick zu vermitteln und erste Erfahrungen, die sich aus
Schulungsmaßnahmen bez. TOGAF 9 ergeben haben, weiterzugeben.
|
24.11.2009 16:15 SE Colloquium A2-2-219 | |
André van Hoorn / Robert von Massow(Uni):
Architecture-Based Online Capacity
Management for Increased Resource Efficiency of S/W Systems
An important quality attribute of today's enterprise software systems is performance. Performance objectives addressing timing behavior metrics such as throughput and response time are part of contractually specified Service Level Agreements (SLAs). Particularly systems accessible through the Internet are exposed to highly varying workloads. The timing behavior of software systems is significantly influenced by the workload conditions. An on-going capacity management strategy is required, in order to continuously satisfy the SLAs. This includes the provision of an appropriate computing infrastructure and the assignment of software components to it. Over the last years, this task was performed rather ad-hoc in a static and pessimistic way by satisfying future infrastructure demands according to a "kill-it-with-iron" mentality. This causes unnecessarily high operating costs during medium or low workload periods. André will present his work in progress aiming for increasing the resource efficiency of software systems exposed to highly varying workloads by architectural runtime reconfigurations. Based on continuously updated architectural runtime models, the number of allocated computing resources as well as the deployment of the software components is automatically adapted with respect to current demands and previously specified performance objectives. Robert will present the status of his Diploma thesis, entitled "Performance Simulation of Runtime Reconfigurable Software Architectures", which he is currently working on in this project context. |
17.11.2009 16:15 SE Colloquium A2-2-219 | |
Raimar Falke (Uni Bremen):
Softwareklon-Erkennung und Falsch-Positive
Klonerkennung ist ein Verfahren der Software-Wartung um Redundanzen und Abhängigkeiten in der Software klarer darzustellen. Dieses Wissen kann verwendet werden, um die Aufgaben der Wartung wie Programmverstehen und die Ausführung von Änderungen zu vereinfachen. Die Anwendung von Klonerkennung ist jedoch nicht auf die Wartungsphase beschränkt, wird dort jedoch am stärksten eingesetzt, da sie existierenden Quelltext benötigt. Im Prozess der Klonerkennung wird meist mit Werkzeugen gearbeitet, welche dem Benutzer selbstständig eine Menge von ähnlichen Quelltextfragmenten liefern. Diese Kandidaten werden dann vom Benutzer begutachtet und in Klon und nicht-Klon (Falsch-Positive) eingeteilt. Für die eigentlichen Tätigkeiten ist aber nur die Menge der Klone interessant. Diese Tätigkeiten können z.B. die Dokumentation oder die Entfernung des Klones sein. Es zeigt sich, dass der Anteil von nicht-Klonen unter den Kandidaten gross ist. Dieses führt dazu, dass der Benutzer mehr Zeit als notwendig mit der Begutachtung der Kandidaten verbringt. Diese Arbeit untersucht, warum die Werkzeuge so viele nicht-Klone liefern und welche Maßnahmen geeignet sind, ihren Anteil zu verringern. |
10.11.2009 16:15 SE Colloquium A2-2-219 | |
Diskussionsrunde "Future Trends in MDSD"
|
03.11.2009 16:15 SE Colloquium A2-2-219 | |
Steffen Kruse:
Decoupling Models and Visualisations for Practical EA Tooling
Rigorous modelling techniques and specialised analysis methods support enterprise architects when embarking on enterprise architecture management (EAM). Yet, while customised modelling solutions provide scalability, adaptability and flexibility they are often in conflict with generic or reusable visualisations. We present an approach to augment customised modelling with the techniques of model transformations and higher-order transformations to provide flexible and adaptable visualisations with a minimum of requirements for the underlying enterprise models. We detail our approach with a proof-of-concept implementation and show how a decoupling can ease EAM approaches and provide appropriate tooling in practice. |