28 research outputs found

    Validierung von MultiView-basierten Prozessmodellen mit grafischen Validierungsregeln

    Get PDF
    Die Bedeutung und Verbreitung von Software wĂ€chst im betrieblichen und privaten Umfeld stetig. Das primĂ€re Ziel bei der Verwendung von Software ist die Optimierung manueller oder bereits (teil-) automatisierter Problem- bzw. Aufgabenstellungen. Der zentrale Bezugspunkt bei der Entwicklung der Software ist die Softwarespezifikation. Diese beinhaltet im Idealfall alle fĂŒr die Softwarelösung relevanten Anforderungen. Ein an Bedeutung gewinnender Bestandteil der Spezifikation sind GeschĂ€ftsprozessmodelle. Diese beschreiben dabei die AblĂ€ufe der zu entwickelnden Softwarelösung in Form von grafischen Prozessdarstellungen. Aufgrund der zunehmenden Anreicherung der Prozessmodelle mit Anforderungen und Informationen wie bspw. gesetzlichen Bestimmungen oder Details fĂŒr die modellgetriebene Softwareentwicklung erwachsen aus einfachen Ablaufdarstellungen komplexe und umfangreiche GeschĂ€ftsprozessmodelle. UnabhĂ€ngig davon, ob GeschĂ€ftsprozessmodelle zur reinen Spezifikation bzw. Dokumentation dienen oder fĂŒr die modellgetriebene Softwareentwicklung eingesetzt werden, ist ein zentrales Ziel die Sicherstellung der inhaltlichen Korrektheit der GeschĂ€ftsprozessmodelle und damit der darin modellierten Anforderungen. In aktuellen Softwareentwicklungsprozessen werden dazu hĂ€ufig manuelle PrĂŒfverfahren eingesetzt, welche jedoch hĂ€ufig sowohl zeit- als auch kostenintensiv und zudem fehleranfĂ€llig sind. Automatisierbare Verfahren benötigen allerdings formale Spezifikationssprachen. Diese werden aber aufgrund ihrer mathematisch anmutenden textuellen Darstellung im Umfeld der GeschĂ€ftsprozessmodellierung meist abgelehnt. Im Gegensatz zu textuellen Darstellungen sind grafische ReprĂ€sentationen hĂ€ufig leichter verstĂ€ndlich und werden vor allem im Bereich der GeschĂ€ftsprozessmodellierung eher akzeptiert. Im Rahmen der Arbeit wird daher ein auf formalen grafischen Validierungsregeln basierendes Konzept zur ÜberprĂŒfung der inhaltlichen Korrektheit von GeschĂ€ftsprozessmodellen vorgestellt. Das Konzept ist dabei unabhĂ€ngig von der Modellierungssprache der GeschĂ€ftsprozessmodelle sowie von der Spezifikationssprache der Validierungsregeln. Zur Verbesserung der Beherrschbarkeit der zunehmend komplexen und umfangreichen GeschĂ€ftsprozessmodelle wird zudem ein als MultiVview bezeichnetes Sichtenkonzept vorgestellt. Dies dient zur Reduzierung der grafischen KomplexitĂ€t und zur Zuordnung von Aufgaben- und Verantwortungsbereichen (beispielsweise Datenschutz- und Sicherheitsmodellierung) bei der GeschĂ€ftsprozessmodellierung. Das Gesamtkonzept wurde prototypisch in der Software ARIS Business Architect und als Plug-in fĂŒr die Entwicklungsumgebung Eclipse realisiert. Eine Evaluation erfolgt zum einen an dem Eclipse Plug-in anhand eines Requirements Engineering Tool Evaluation Framework und zum anderen anhand von AnwendungsfĂ€llen aus dem Bereich der öffentlichen Verwaltung, der ELSTER-SteuererklĂ€rung und SAP-Referenzprozessen

    eine graphbasierte Sprache zur Spezifikation komplexer Suchmuster fĂŒr die statische Quelltextanalyse

    Get PDF
    Das Ziel dieser Arbeit ist die Darstellung einer graphbasierten Sprache fĂŒr die Beschreibung komplexer Suchmuster zur Quelltextanalyse. Der Fokus liegt auf der Möglichkeit einer modularisierten Musterspezifikation, so dass der Nutzer komplexe Muster ĂŒber die Kombination einzelner Module erstellen kann. Die Sprachsyntax basiert sowohl auf dem Abstrakten Syntaxbaum, als auch auf Elementen der Graphtypen KontrollabhĂ€ngigkeitsgraph und DatenabhĂ€ngigkeitsgraph. Somit kann in einer Musterspezifikation die GraphreprĂ€sentation von Java Syntaxelementen mit abstrakteren AbhĂ€ngigkeitsbeziehungen kombiniert werden

    Generierung von effizienten Security-/Safety-Monitoren aus modellbasierten Beschreibungen

    Get PDF
    Computer werden heute zunehmend durch kleine Recheneinheiten mit Sensoren zur Erfassung der Außenwelt ergĂ€nzt. Diese Recheneinheiten kommunizieren untereinander und mit externen Einheiten, um Informationen weiterzugeben und sich untereinander abzustimmen. Hierdurch findet auch eine Öffnung von sicherheitskritischen eingebetteten Systemen nach außen statt. Die Systeme können nun entweder direkt oder indirekt ĂŒber zusĂ€tzliche Einheiten angegriffen werden. Des Weiteren ist die auf eingebetteten Systemen eingesetzte Software durch beschrĂ€nkte Ressourcen auf das Nötigste reduziert und bietet keine komplexen Sicherheitsmechanismen. Maßnahmen wie Testen von Software kann deren Fehlerfreiheit nicht sicherstellen. In realen Systemen ist zudem davon auszugehen, dass nicht bekannte Fehler existieren, die u.a. auch von Angreifern ausgenutzt werden können. Die LaufzeitĂŒberwachung solcher Systeme hat sich als geeignet erwiesen, um auch unbekannte Angriffe und Fehler zu erkennen. Zur Spezifikation solcher Laufzeitmonitore ĂŒber Beschreibungen (Signaturen) von erlaubtem und verbotenem Verhalten haben sich viele verschiedene Spezifikationssprachen herausgebildet. Diese basieren auf verschiedensten Modellierungskonzepten. Zur Generierung von Monitoren aus diesen Spezifikationen in Software und Hardware mĂŒssen fĂŒr die unterschiedlichen Sprachen verschiedenste Codegeneratoren erstellt werden. Des Weiteren besitzen einige der gewöhnlich verwendeten einfach zu verstehenden Spezifikationssprachen keine formalisierte Syntax und Semantik. In dieser Arbeit wird zusammen mit [Pat14] der Model-based Security/Safety Monitor (MBSecMon)-Entwicklungsprozess vorgestellt. Dieser umfasst parallel zu dem eigentlichen Softwareentwicklungsprozess des zu ĂŒberwachenden Systems die Spezifikation, die Generierung und die Einbindung von Laufzeitmonitoren. Ziel dieser Arbeit ist die Definition einer formal definierten Zwischensprache zur ReprĂ€sentation stark verschrĂ€nkter nebenlĂ€ufiger Kommunikationen. Zu ihrer Entwicklung werden Anforderungen basierend auf existierenden Arbeiten aufgestellt. Auf Grundlage dieser Anforderungen wird die Zwischensprache Monitor-Petrinetze (MPN) entworfen und formal definiert. Diese Zwischensprache unterstĂŒtzt die ReprĂ€sentation von Signaturen, die in verschiedensten Spezifikationssprachen modelliert sind, und die Generierung von effizienten Laufzeitmonitoren fĂŒr unterschiedliche Zielplattformen. Die MPNs sind ein auf Petrinetzen basierender Formalismus, der um Konzepte der LaufzeitĂŒberwachung erweitert wurde. Es wird gezeigt, dass die MPN-Sprache alle ermittelten Anforderungen an eine solche Zwischensprache, bis auf ein Hierarchisierungskonzept fĂŒr Ereignisse, das in dieser Arbeit nicht behandelt wird, erfĂŒllt. Die MPN-Sprache wird in einem prototypischen Werkzeug zur Monitorgenerierung eingesetzt. Dieses unterstĂŒtzt die MBSecMon-Spezifikationssprache [Pat14] als Eingabesprache und verwendet die MPN-Sprache als ZwischenreprĂ€sentation zur Monitorgenerierung fĂŒr verschiedenste Plattformen und Zielsprachen. Die generierten Monitore werden auf ihr Laufzeitverhalten und ihren Speicherverbrauch evaluiert. Es hat sich gezeigt, dass sich die MPN-Sprache trotz ihrer hohen AusdrucksstĂ€rke zur einfachen Generierung effizienter Laufzeitmonitore fĂŒr verschiedenste Plattformen und Zielsprachen eignet

    Automatisierte Analyse integrierter Software-Produktlinien-Spezifikationen

    Get PDF
    Der Trend zur Digitalisierung fĂŒhrt zu neuen Anwendungsszenarien (z.B. Industrie 4.0, Internet der Dinge, intelligente Stromnetze), die laufzeitadaptive Software-Systeme erfordern, die sich durch kontinuierliche Rekonfiguration an verĂ€ndernde Umgebungsbedingungen anpassen. Integrierte Software-Produktlinien-Spezifikationen ermöglichen die prĂ€zise Beschreibung von Konsistenzeigenschaften derartiger Systeme in einer einheitlichen ReprĂ€sentation. So bietet die Spezifikationssprache Clafer sowohl Sprachmittel zur Charakterisierung der LaufzeitvariabilitĂ€t eines Systems als auch fĂŒr die rekonfigurierbaren Bestandteile der Systemarchitektur sowie komplexer AbhĂ€ngigkeiten. In Clafer-Spezifikationen werden hierzu Sprachkonstrukte aus UML-Klassendiagrammen und Meta-Modellierungssprachen zusammen mit Feature-orientierten Modellierungstechniken und Constraints in PrĂ€dikatenlogik erster Stufe kombiniert. Durch die betrĂ€chtliche AusdrucksstĂ€rke neigen derartige integrierte Produktlinien-Spezifikationen in der Praxis dazu, sehr komplex zu werden (z.B. aufgrund versteckter AbhĂ€ngigkeiten zwischen Konfigurationsoptionen und Komponenten). Sie sind daher Ă€ußerst anfĂ€llig fĂŒr Spezifikationsfehler in Form von Inkonsistenzen oder EntwurfsschwĂ€chen in Form von Anomalien. Inkonsistenzen und Anomalien mĂŒssen jedoch möglichst frĂŒh im Entwurfsprozess erkannt und behoben werden, um drastische Folgekosten zur Laufzeit eines Systems zu vermeiden. Aus diesem Grund sind statische Analysetechniken zur automatisierten Analyse integrierter Software-Produktlinien-Spezifikationen unabdingbar. Existierende AnsĂ€tze zur KonsistenzprĂŒfung erfordern, dass der Suchraum fĂŒr die Instanzsuche vorab entweder manuell oder durch heuristisch identifizierte Schranken eingeschrĂ€nkt wird. Da, falls keine Instanz gefunden werden kann, nicht bekannt ist, ob dies durch einen zu klein gewĂ€hlten Suchraum oder eine tatsĂ€chliche Inkonsistenz verursacht wurde, sind existierende Analyseverfahren inhĂ€rent unvollstĂ€ndig und praktisch nur eingeschrĂ€nkt nutzbar. DarĂŒber hinaus wurden bisher noch keine Analysen zur Identifikation von Anomalien vorgeschlagen, wie sie beispielsweise in VariabilitĂ€tsmodellen auftreten können. Weiterhin erlauben existierende Verfahren zwar die Handhabung von ganzzahligen Attributen, ermöglichen jedoch keine effiziente Analyse von Spezifikationen die zusĂ€tzlich reellwertige Attribute aufweisen. In dieser Arbeit prĂ€sentieren wir einen Ansatz zur automatisierten Analyse integrierter Software-Produktlinien-Spezifikationen, die in der Sprache Clafer spezifiziert sind. HierfĂŒr prĂ€sentieren wir eine ganzheitliche Spezifikation der strukturellen Konsistenzeigenschaften laufzeitadaptiver Software-Systeme und schlagen neuartige Anomalietypen vor, die in Clafer-Spezifikationen auftreten können. Wir charakterisieren eine Kernsprache, die eine vollstĂ€ndige und korrekte Analyse von Clafer-Spezifikationen ermöglicht. Wir fĂŒhren zusĂ€tzlich eine neuartige semantische ReprĂ€sentation als mathematisches Optimierungsproblem ein, die ĂŒber die Kernsprache hinaus eine effiziente Analyse praxisrelevanter Clafer-Spezifikationen ermöglicht und die Anwendung etablierter Standard-Lösungsverfahren erlaubt. Die Methoden und Techniken dieser Arbeit werden anhand eines durchgĂ€ngigen Beispiels eines selbst-adaptiven Kommunikationssystems illustriert und prototypisch implementiert. Die experimentelle Evaluation zeigt die EffektivitĂ€t unseres Analyseverfahrens sowie erhebliche Verbesserungen der Laufzeiteffizienz im Vergleich zu etablierten Verfahren

    Realisierung von Softwareproduktlinien durch Komposition von Belangimplementierungen

    Get PDF
    Softwareproduktlinienentwicklung ist ein Ansatz zur systematischen Wiederverwendung von Softwareartefakten. In dieser Arbeit stellen wir ein Verfahren vor, welches es erlaubt, unterstĂŒtzte Merkmale einer Produktlinie in Form voneinander abgegrenzter Belangimplementierungen zu spezifizieren und diese zu maßgeschneiderten Varianten der Produktlinie zu komponieren. Das Verfahren vereinigt hierzu Konzepte der mehrdimensionalen Belangtrennung, der generischen Programmierung sowie der Generierung
    corecore