25 research outputs found

    Zur Testfallgenerierung in der Entwurfsphase

    Get PDF

    Dynamische Ausführung von Positionstransformationen mittels OpenGL ES 2.0-Shaderprogrammen

    Get PDF
    Wegen der Forderung nach Isolation und Performanz in eingebetteten Systemen ("embedded Systems") ist ein Konzept notwendig, dass dynamisch bei laufzeitkritischen Grafikanwendungen die Positionstransformation von Vertices mit Hilfe von Vertex Shadern, während der Laufzeit übernimmt. Daher wurde in dieser Arbeit ein Konzept entwickelt, welches die Position einzelner Vertices berechnet, bevor die kompletten Rendering Befehle ausgeführt werden. Dies ist nötig um abschätzen zu können, ob die Deadlines von sicherheitskritischen Anwendungen eingehalten werden. Dazu wird in dieser Arbeit der Vertex Shader während der Laufzeit mit Hilfe von LLVM kompiliert und berechnet, für einen gegebenen Vertex dessen Position

    Dynamische Ausführung von Positionstransformationen mittels OpenGL ES 2.0-Shaderprogrammen

    Get PDF
    Wegen der Forderung nach Isolation und Performanz in eingebetteten Systemen ("embedded Systems") ist ein Konzept notwendig, dass dynamisch bei laufzeitkritischen Grafikanwendungen die Positionstransformation von Vertices mit Hilfe von Vertex Shadern, während der Laufzeit übernimmt. Daher wurde in dieser Arbeit ein Konzept entwickelt, welches die Position einzelner Vertices berechnet, bevor die kompletten Rendering Befehle ausgeführt werden. Dies ist nötig um abschätzen zu können, ob die Deadlines von sicherheitskritischen Anwendungen eingehalten werden. Dazu wird in dieser Arbeit der Vertex Shader während der Laufzeit mit Hilfe von LLVM kompiliert und berechnet, für einen gegebenen Vertex dessen Position

    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

    Adaptive anwendungsspezifische Verarbeitung von XML-Dokumenten

    Get PDF
    In dieser Arbeit wird ein Konzept vorgeschlagen, mit dem neue hohere Operatoren auf der Grundlage existierender Operatoren einer XML-Transformationsprache aufgebaut werden können. Durch das Zusammenfassen von immer wieder auftretenden Operatorkombinationen zu höheren Operatoren können Transformationsdefinitionen bspw. kürzer und verständlicher beschrieben werden. Zur Umsetzung des Konzeptes ist die Ausführungsumgebung XTC entstanden. XTC koordiniert den Ablauf, um höhere Operatoren in niedrigere, letztendlich elementare Operatoren einer Basistransformationssprache zu überführen. Neben XTC wird das Generatorsystem XOpGen entwickelt, welches den Implementierungsaufwand für die neuen höheren Operatoren weiter verringert. Das Potential von höheren Operatoren wird an der vom W3C standardisierten XML-Transformationssprache XSLT demonstriert. XSLT wird mit verschiedenen, sowohl universellen als auch domänenspezifischen, Operatoren erweitert

    Neuere Entwicklungen der deklarativen KI-Programmierung : proceedings

    Get PDF
    The field of declarative AI programming is briefly characterized. Its recent developments in Germany are reflected by a workshop as part of the scientific congress KI-93 at the Berlin Humboldt University. Three tutorials introduce to the state of the art in deductive databases, the programming language Gödel, and the evolution of knowledge bases. Eleven contributed papers treat knowledge revision/program transformation, types, constraints, and type-constraint combinations

    Qualitätssicherung von Modelltransformationen - Über das dynamische Testen programmierter Graphersetzungssysteme

    Get PDF
    Modelle und Metamodelle repräsentieren Kernkonzepte der modellgetriebenen Softwareentwicklung (MDSD). Programme, die Modelle (unter Bezugnahme auf ihre Metamodelle) manipulieren oder ineinander überführen, werden als Modelltransformationen (MTs) bezeichnet und bilden ein weiteres Kernkonzept. Für dieses klar umrissene Aufgabenfeld wurden und werden speziell angepasste, domänenspezifische Transformationssprachen entwickelt und eingesetzt. Aufgrund der Bedeutung von MTs für das MDSD-Paradigma ist deren Korrektheit essentiell und eine gründliche Qualitätssicherung somit angeraten. Entsprechende Ansätze sind allerdings rar. In der Praxis erweisen sich die vornehmlich erforschten formalen Verifikationsansätze häufig als ungeeignet, da sie oft zu komplex oder zu teuer sind. Des Weiteren skalieren sie schlecht in Abhängigkeit zur Größe der betrachteten MT oder sind auf Abstraktionen bezogen auf die Details konkreter Implementierungen angewiesen. Demgegenüber haben testende Verfahren diese Nachteile nicht. Allerdings lassen sich etablierte Testverfahren für traditionelle Programmiersprachen aufgrund der Andersartigkeit der MT-Sprachen nicht oder nur sehr eingeschränkt wiederverwenden. Zudem sind angepasste Testverfahren grundsätzlich wünschenswert, da sie typische Eigenschaften von MTs berücksichtigen können. Zurzeit existieren hierzu überwiegend funktionsbasierte (Black-Box-)Verfahren. Das Ziel dieser Arbeit besteht in der Entwicklung eines strukturbasierten (White-Box-)Testansatzes für eine spezielle Klasse von Modelltransformationen, den sog. programmierten Graphtransformationen. Dafür ist anhand einer konkreten Vertreterin dieser Sprachen ein strukturelles Überdeckungskonzept zu entwickeln, um so den Testaufwand begrenzen oder die Güte der Tests bewerten zu können. Auch müssen Aspekte der Anwendbarkeit sowie der Leistungsfähigkeit der resultierenden Kriterien untersucht werden. Hierzu wird ein auf Graphmustern aufbauendes Testüberdeckungskriterium in der Theorie entwickelt und im Kontext des eMoflon-Werkzeugs für die dort genutzte Story- Driven-Modeling-Sprache (SDM) praktisch umgesetzt. Als Basis für eine Wiederverwendung des etablierten Ansatzes der Mutationsanalyse zur Leistungsabschätzung des Kriteriums hinsichtlich der Fähigkeiten zur Fehlererkennung werden Mutationen zur synthetischen Einbringung von Fehlern identifiziert und in Form eines Mutationstestrahmenwerks realisiert. Letzteres ermöglicht es, Zusammenhänge zwischen dem Überdeckungskonzept und der Mutationsadäquatheit zu untersuchen. Im Rahmen einer umfangreichen Evaluation wird anhand zweier nichttrivialer Modelltransformationen die Anwendbarkeit und die Leistungsfähigkeit des Ansatzes in der Praxis untersucht und eine Abgrenzung gegenüber einer quellcodebasierten Testüberdeckung durchgeführt. Es zeigt sich, dass das entwickelte Überdeckungskonzept praktisch umsetzbar ist und zu einer brauchbaren Überdeckungsmetrik führt. Die Visualisierbarkeit einzelner Überdeckungsanforderungen ist der grafischen Programmierung bei Graphtransformationen besonders nahe, so dass u. a. die Konstruktion sinnvoller Tests erleichtert wird. Die Mutationsanalyse stützt die These, dass die im Hinblick auf Steigerungen der Überdeckungsmaße optimierten Testmengen mehr Fehler erkennen als vor der Optimierung. Vergleiche mit quellcodebasierten Überdeckungskriterien weisen auf die Existenz entsprechender Korrelationen hin. Die Experimente belegen, dass die vorgestellte Überdeckung klassischen, codebasierten Kriterien vielfach überlegen ist und sich so insbesondere auch für das Testen von durch einen Interpreter ausgeführte Transformationen anbietet

    Visual data flow language with higher-order combinators

    Get PDF
    Moderne Softwaretechnik (Software Engineering) befasst sich mit der professionellen Entwicklung von hochqualitativen Softwaresystemen. Softwarequalität und insbesondere die relative Korrektheit eines Programms kann mit Hilfe von formalen Verfahren auf der Basis einer Spezifikation bestimmt werden. Im besten Falle kann a posteriori auf der Grundlage eines fertigen Programms eine formale Verifikation durchgeführt werden. Diese Arbeit untersucht eine konstruktive Herangehensweise, die Programme a priori korrekt erstellt, indem eine abstrakte Spezifikation sukzessive in ein ausführbares Programm überführt wird. Es wird eine graphische Notation und zugleich ein methodischer Ansatz zur Softwareentwicklung definiert, der die transformative Programmierung in den Vordergrund stellt. Die behandelte Thematik liegt dabei im Spannungsfeld mehrerer Aspekte wie Datenflussprogrammierung, Techniken des lambda,-Kalküls und des gegebenen Transformations-Rahmenwerks HOPS. Letzteres ist ein Entwicklungssystem zur visuellen Programmierung, das Gegenstand mehrerer Forschungsprojekte an der Universität der Bundeswehr München war. Ziel der Arbeit ist es, einen nahtlosen Übergang zwischen den einzelnen Phasen der Softwareentwicklung wie Analyse, Entwurf und Implementierung mittels eines transformativen Ansatzes zu erreichen. Dies wird an einem umfangreichen Beispiel aus dem Gebiet der digitalen Signalverarbeitung dargestellt.Modern software engineering deals with professional development of high quality software systems. Software quality and especially relative correctness of programs based on a specification can be determined by formal methods. At best a formal verification can be performed a posteriori on the basis of a complete program. This thesis investigates a constructive approach which generates programs correctly a priori by transforming an abstract pecification successively into an executable program. A graphical notation together with a methodical approach for software development will be defined emphasizing transformational programming. The outlined topic covers areas of several aspects like data flow programming, techniques of the lambda,-calculus and the given transformation framework HOPS. The latter is a development system for visual programming hich was subject of several research projects at the University of the Federal Armed Forces. The aim of the thesis is to obtain a transformational approach for the seamless transition between the specific phases of software development like analysis, design, and implementation. This will be demonstrated by a substantial example in the field of digital signal processing

    Timed petri-nets and FastAsy

    Get PDF
    Die Arbeit führt eine spezielle Klasse von zeitbeschrifteten Petri-Netzen mit Read-Arcs ein. Wir stellen darauf basierend einen Effizienzbegriff vor und verwenden ein Testing-Szenario, um zu einer Charakterisierung des Begriffs zu gelangen. Wir zeigen weiter eine Methode auf, zeitbehaftete Erreichbarkeitsgraphen effizient zu speichern. Die Ausdrucksmächtigkeit verschiedener Untertypen der Netze werden untersucht. Zuletzt stellen wir unsere Software FastAsy vor, die automatisiert die Effizienz solcher Netze vergleichen kann.This work introduces a special class of timed petri-nets with read-arcs. Based on this, we present a notion of efficiency and then use a testing scenario to provide a means of characterization. Furthermore we show a method for efficient storage of timed reachability graphs. The expressiveness of different subtypes of our nets is discussed. Last we present our software FastAsy which can automatically compare the efficiency of such nets
    corecore