************************************************************************
*
*
* Einladung
*
*
*
* Informatik-Oberseminar
*
*
*
************************************************************************
Zeit: Donnerstag, 13 September 2018, 10:00
Ort: E2, Raum 5056, Ahornstraße 55
Referent: Ana-Maria-Cristina Nicolaescu, M.Sc.
Titel: Behavior-Based Architecture Conformance Checking
Abstract:
In the past years several approaches for static-based architecture
conformance checking were proposed. These pose important limitations
when considering modern systems, typically composed of several
interacting processes. Ever since the advent of object orientation and
due to the shift from monolith architectures to componentized ones, the
complexity of software systems has moved from structure to behavior.
This is typically out of the scope of static-based conformance
approaches, which face an impossibility in assessing if the system under
analysis is behaving as foreseen by its architects.
ARAMIS is our solution to alleviating the above-mentioned problem.
First, the intended architecture description of the system under
analysis is expressed using an ARAMIS-specific meta-model. This
encompasses the architecture units constituting the system and the
communication rules governing these. To increase acceptance,
model-engineering techniques are also proposed to enable the reuse of
intended architecture descriptions elaborated using different
meta-models than that of ARAMIS. Next, interactions are extracted during
the system's execution using third party monitoring tools. Given that a
holistic analysis of the behavior of a system is impossible in general,
we proposed several indicators to assess whether the captured
interactions represent an adequate basis for checking the conformance of
the system as a whole. The interactions are consequently elevated to
depict communication between the units defined in the system's intended
architecture description and validated to check their conformance to the
formulated communication rules. The results constitute a description of
the implemented architecture of the system, characterized by its drift
from the intended one. This can subsequently be explored using several
mechanisms such as user-defined architecture views and perspectives or
dedicated visualizations. Last but not least, processes for guiding the
activities involved in behavior-based conformance checking were
developed and described.
The ARAMIS concept and the developed toolbox were evaluated in three
case studies, the last two being conducted in industrial settings. The
results were very positive. The evaluation proved that the ARAMIS
approach can be utilized by organizations when attempting to understand
and evaluate the current state of implemented architectures and as a
starting point for future evolution.
Es laden ein: Die Dozenten der Informatik
+**********************************************************************
*
*
* Einladung
*
*
*
* Informatik-Oberseminar
*
*
*
+**********************************************************************
Zeit: Montag, 29. Oktober 2018, 15:00 Uhr
Ort: Raum 9U10, Gebäude E3, Ahornstr. 55
Referent: Dipl. Inform. Lars Hermerschmidt
Titel: Agile Modellgetriebene Entwicklung von Software Security & Privacy
Abstract:
IT systems continue to penetrate all aspects of daily life, so that these systems are required to function correctly while they aggregate more and more information to enable a more comfortable and efficient life. However, every day 16 new vulnerabilities in average are reported in software products, which enable adversaries to abuse system functionality in developer unintended way. Nevertheless users do not only fear unauthorized access to their data by adversarial third party when they compromise system's security, but as well if services do not provide transparency over their collection and processing of sensitive user data. These security and privacy aspects need to be addressed during software system development, where developers typically focus on a constructive view on the system, which makes it hard for them to think like an adversary who misuses the system. In this thesis the three aspects security architecture, correct handling of input data during the creation of output data, and user privacy are researched in the context of software development. Models are used to describe these aspects and the agile model-driven software development approach is utilized to connect those models to executable systems.
To enable developers to express their constructive view on the security architecture of a system, the security architecture modeling language MontiSecArc is presented. From this language a domain specific transformation language is derived, which enables security experts to express known flaws in the security architecture together with a solution in a flaw correction pattern. These pattern can be applied automatically within an agile development process to prevent architectural flaws. In addition the notation of flaw correction patterns enables precise description, naming, and distinction of architectural flaws such that flaw correction patterns can be collected.
Injection vulnerabilities like Cross-Site-Scripting (XSS) and SQL Injection are the most common class of vulnerabilities, which emerge if a program uses input data to create output data that is written in a language without encoding the input according to the output's language. This injection vulnerability preventing encoding is depending on the output language and the different contexts within the language. Therefore, in this work the MontiCoder approach is presented, which integrates the context-specific encoding into the language definition and derives unparser and parser from this definition, which automatically perform context-specific encoding and decoding. This approach shifts the definition of the correct encoding of data from the developer who is using a language to the language developer and provides the latter one the ability to precisely define the encoding together with the language itself.
Facing the challenges of developers who aim to provide more transparency and self-determinism to service users about the usage of there data within a service, in this thesis the Privacy Development Language (PDL) is presented. The PDL enables developers to model the service's data structure along with the usage of the data within the service. From this data model an interactive privacy policy is generated, which enables users to select those parts of the service they want to use and present them a description of the used data and the procession which is performed to deliver the selected service. This way the approach enables service users to perform an informed privacy decision and eases developers work to provide transparency.
Explicitly modeling these aspects enables analyses of security an privacy on model level, such that vulnerabilities are fixed within models as well.
This way there is no need to extract all flaws from handwritten low level code after development.
Es laden ein: Die Dozenten der Informatik
+**********************************************************************
*
*
* Einladung
*
*
*
* Informatik-Oberseminar
*
*
*
+**********************************************************************
Zeit: Dienstag, 11. September 2018, 10.00 Uhr
Ort: E3, Raum 9222
Referent: Katrin Hölldobler, M.Sc. RWTH
Thema: MontiTrans: Agile, modellgetriebene Entwicklung von und mit domänenspezifischen, kompositionalen Transformationssprachen
Abstract:
Modelle sind die zentralen Entwicklungsartefakte der modellgetriebenen Softwareentwicklung und müssen entsprechend überarbeitet, weiterentwickelt und gewartet werden. Daher sind Modelltransformationen ebenfalls essenziell für die modellgetriebene Softwareentwicklung. Während domänenspezifische Sprachen (DSLs) zur Modellierung mittlerweile weitverbreitet sind, sind spezifische Transformationssprachen rar. Stattdessen werden General Purpose Transformationssprachen (GPTLs) verwendet, die Transformationen basierend auf der internen Repräsentation der Modelle formulieren. Diese interne Repräsentation ist Modellierern und Domänenexperten in der Regel unbekannt, was deren Einbindung in den Entwicklungsprozess deutlich erschwert. Domänenspezifische Transformationssprachen (DSTLs) basieren auf der den Modellierern bekannten konkreten Syntax der DSL, wodurch sie spezifisch für die zugehörige DSL sind. Dies verringert den initialen Aufwand zum Erlernen der Transformationssprache, da der größte Teil der Syntax bereits bekannt ist und zusätzlich nur die Syntax der Transformationsoperatoren erlernt werden muss. Andererseits haben DSTLs durch ihre Zugehörigkeit zu einer DSL den Nachteil, dass für jede neu entwickelte DSL gleichzeitig oder für existierende DSLs nachträglich eine DSTL entwickelt werden muss. Aus diesem Grund erhöht sich der Aufwand der DSL-Entwicklung deutlich. Darüber hinaus erhöht sich der Aufwand weiter, wenn DSTLs zur Übersetzung zwischen verschiedenen Sprachen benötigt werden und entwickelt werden müssen. Zur Reduzierung dieses Aufwands wurde in [Wei12] ein erster DSTL-Generator vorgestellt. Dieser wurde mithilfe der Language Workbench MontiCore 2 entwickelt. Besondere Merkmale von MontiCore 4 sind die Möglichkeiten zur modularen Sprachdefinition durch Sprachkomposition sowie die an die Objektorientierung angelehnten Konzepte der Nichtterminalerweiterung als Erweiterung des Alternativenkonzepts von Grammatiken. Der bisherige DSTL-Generator ermöglicht eine Generierung von DSTLs aus MontiCore-Grammatiken und unterstützt ausschließlich monolithische Sprachdefinitionen. Die Mehrzahl der mit MontiCore entwickelten Modellierungssprachen sind hingegen kompositional definiert. Die bisher generierten DSTLs unterstützen ausschließlich Transformationen von Modellen innerhalb einer Modellierungssprache. Übersetzungen zwischen verschiedenen Sprachen oder die Migration von Modellen zwischen Sprachversionen ist somit nicht möglich. Des Weiteren wird bisher nur ein Teil der möglichen Konzepte von MontiCore-Grammatiken unterstützt, auf den sich die restlichen Konzepte abbilden lassen. Dadurch sind Sprachentwickler in der Sprachdefinition eingeschränkt.
Im Rahmen dieser Dissertation wird die generative Entwicklung und Verwendung von DSTLs in der modellgetriebenen Softwareentwicklung durch MontiTrans unterstützt. MontiTrans ermöglicht die Entwicklung neuer DSTLs und der zugehörigen Infrastruktur zur Spezifikation und Ausführung von Modelltransformationen. Für die Entwicklung von MontiTrans wurden die zuvor beschriebenen offenen Punkte aufgegriffen und die Generierung von DSTLs basierend auf den Ergebnissen aus [Wei12] weiterentwickelt. MontiTrans wurde sowohl zur Entwicklung neuer DSTLs als auch zur Entwicklung von Bibliotheken von wiederverwendbaren Transformationen verwendet. Hierdurch konnte gezeigt werden, dass MontiTrans ein umfassendes Werkzeug zur Entwicklung von DSTLs sowie für die Entwicklung von Modelltransformationen innerhalb modellgetriebener Softwareentwicklungsprojekte ist. MontiTrans erleichtert sowohl Sprachentwicklern die Entwicklung neuer DSLs und zugehöriger DSTLs als auch Transformationsentwicklern die Definition und Anwendung neuer Transformationen.
Es laden ein: Die Dozenten der Informatik