Software Engineering

Past Software Engineering Events 2018

  • 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.



  • 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.


Past Software Engineering News 2018

  • 20. Workshop Software-Reengineering und -Evolution (WSRE)

    02. - 04. Mai 2018 Die Workshops Software-Reengineering und Evolution (WSRE) im Physikzentrum Bad Honnef wurden mit dem ersten WSR 1999 von Jürgen Ebert und Franz Lehner ins Leben gerufen, um neben den erfolgreichen internationalen Tagungen im Bereich Reengineering (CSMR, ICSM, IWPC, WCRE, etc.) auch ein deutschsprachiges Diskussionsforum zu schaffen.

    Software-Evolution zur Erhaltung von Nutzen und Wert großer Software-Systeme unter sich ständig ändernden Anforderungen und Umgebungsbedingungen ist ein Kernaspekt für Software-Hersteller und -Nutzer und die Informatik-Forschung. Der Fokus der WSR-Workshops hat sich neben dem "klassischen" Reengineering auch auf das Gebiet der Evolution hin erweitert. Der Begriff "Evolution" wurde daher mit dem 16. WSRE in den Workshop-Titel übernommen, um diesem wichtigen Thema Rechnung zu tragen.

    Ziel der Treffen ist es, einander kennen zu lernen und auf diesem Wege auch eine Basis der Kooperation zu schaffen, so dass das Themengebiet weiteren Fortschritt und Konsolidierung erfährt.

    Inzwischen hat sich der Workshop Software-Reengineering und Evolution, der als Low-Cost-Workshop ohne eigenes Budget durchgeführt wird, als zentrale deutschsprachige Reengineering-Konferenz etabliert. Der WSRE hat auch maßgeblich zur Bildung der deutschsprachigen Reengineering-Community beigetragen und bildet die Keimzelle der GI-Fachgruppe Software-Reengineering.

    Die Abteilung Softwaretechnik ist aktiv im Fachgruppe Software-Reengineering (SRE) der Gesellschaft für Informatik involviert. In diesem Jahr 02.-04. Mai feiert das Workshop 20. Jubiläum. Johannes Meier von der Abteilung Softwaretechnik stellt seine Paper (co-author Andreas Winter) in des Workshop dar (das Programm des WSR).

  • International Scientific-Practical and Spiritual-Educational Conference 2018 in Uzbekistan

    On 05. – 06. April 2018 the Ministry of Information Technologies and Communications of the Republic of Uzbekistan and the Tashkent University of Information Technologies named after Muhammad al-Khorazmiy organized an international scientific-practical and spiritual-educational conference to explore the importance of information and communication technologies in the innovative development of real sectors of the economy during the anniversary of the birth of Muhammad al-Khorazmiy. The Software Engineering representative, Dilshodbek Kuryazov participated in the conference and gave a presentation regarding smart modelling. The paper submitted by the software engineering group (authors: Dilshod Kuryazov, Andreas Winter and Christian Schöneberg) has won the best paper awards at the conference.

    20 professors from 10 countries of the world participated in the conference. During the conference, issues related to the role of information and communication technologies in the development of industries, prospects for innovative development of real sectors of the economy were discussed, a number of proposals were suggested. In addition, the conference discussed the prospects for the development of telecommunications systems, digital television, radio, wireless technology and radio engineering. The bottom picture shows the participants of the conference.