17 research outputs found

    Eine Methode der effizienten und verifizierbaren Programmannotation für den Transport von Escape-Informationen

    Get PDF
    JIT compilation is frequently employed in order to speedup the execution of platform-independent and dynamically extensible mobile code applications. Since the time required for dynamic compilation directly influences a program's execution time, JIT compilers usually utilize only simple and fast techniques for program analysis and optimization. Program annotations can be used to improve the analysis and optimizitation process of a JIT compiler. Program annotations allow a mobile code system derive information about a program, on the producer side, and transmit that information along with the program to the consumer side. In this work, we present an inherently safe annotation technique for the safe transmission of escape information. The annotation technique described in this work is built on the SafeTSA mobile code format and is implemented as a simple extension of SafeTSA's type system. The space required for these annotations is minimal, and measurements of compilation time show that using information from an offline escape analysis in form of program annotations is evident faster than performing the escape analysis at runtime

    Graphersetzung mit Anwendungen im Übersetzerbau

    Get PDF

    Perspektiven: Persistente Objekte mit anwendungsspezifischer Struktur und FunktionalitÀt

    Get PDF
    FlexibilitĂ€t und Anpassbarkeit von Softwarekomponenten sind in den letzten Jahren zu stark diskutierten Themen im Bereich des Software-Engineering geworden. Um eine höhere Wiederverwendungsquote zu erreichen als dies in der Vergangenheit möglich war, werden Konzepte gesucht, die eine nachtrĂ€gliche und nicht antizipierte Anpassung von Modulen und Komponenten an geĂ€nderte Anforderungen unterstĂŒtzen. Objektorientiertes Design und dessen Umsetzung durch objekt-orientierte Programmiersprachen bilden zwar einen Schritt in diese Richtung, in dem durch die Konzepte Kapselung und dynamisches Binden eine dynamische Austauschbarkeit von Implementierungen zur Laufzeit einer Applikation unterstĂŒtzt wird. In der Praxis erfordern traditionelle objektorientierte Programmiersprachen jedoch den Einsatz einer Vielzahl ineinander verzahnter Entwurfsmuster, um dem Anspruch einer nachtrĂ€glichen Adaptierbarkeit gerecht zu werden. Die vorliegende Arbeit schlĂ€gt Sprachkonzepte fĂŒr streng getypte objektorientierte Programmiersprachen vor, welche ein nachtrĂ€gliches „Zuschneidern“ von Klassen und deren bereits existierenden Instanzen unterstĂŒtzen. Damit werden Komponenten und deren Schnittstellen einerseits leicht erweiterbar, andererseits ermöglichen diese Mechanismen auch die VerĂ€nderung und Anreicherung bestehender Implementierungen an neue Gegebenheiten

    Middleware fĂŒr UbiquitĂ€re Systeme: Ein Modellgetriebener Ansatz

    Get PDF
    Dieser Dissertation liegt die Hypothese zugrunde, dass modell-getriebene Softwareentwicklung (MDSD) den Widerspruch zwischen "top-down"- und "bottom-up"- Entwicklung durch einen "middle-out" Ansatz auflöst, welcher zwischen Technologie und Abstraktion vermittelt. MDSD wird als Mittel verwendet, um Middleware fĂŒr UbiquitĂ€re Systeme auf dem einen Turm von Modellen zu bauen, ohne den Bezug zur konkreten Technologie zu verlieren

    Realisierungsmethodik von applikationsspezifischen Softcore FPGA-Lösungen: in AbhÀnigkeit von algorithmischen Anforderungen im Einsatzgebiet eingebetteter Systeme

    Get PDF
    Die vorliegende Dissertation befasst sich mit Prinzipien, Methodiken, Techniken und Realisierungen zur systematischen Entwicklung von komplexen eingebetteten Systemen unter Verwendung von Softcore Prozessoren. Die adressierte AufgabendomĂ€ne ist vor allem die echtzeitkritische Daten- und Bildverarbeitung. Notwendig sind neue Lösungen aufgrund immer leistungsfĂ€higerer eingebetteter Systeme, mit deren Hilfe Aufgabenfelder bedient werden können, die bisher mit diesen Systemen nicht umsetzbar waren. Aufbauend auf den Darstellungen bereits existierender Modelle und Verfahren, wie z. B. dem V-Modell oder dem Hardware-Software Co-Design, wird eine spezielle Realisierungsmethodik fĂŒr applikationsspezifische Softcore FPGA-Lösungen in AbhĂ€ngigkeit von algorithmischen Anforderungen in der AufgabendomĂ€ne erarbeitet. In diesem Zusammenhang wird eine Softcore-Bibliothek mit an diese DomĂ€ne angepassten Eigenschaften konzipiert und umgesetzt. Das dabei verwendete modellbasierte Vorgehen ermöglicht durch eine hierarchische Beschreibung und Validierung eine zeit- und kosteneffiziente Entwicklung komplexer Systeme. FĂŒr jede Abstraktionsebene werden Modelle vorgestellt, die jeweils auf dieser alle notwendigen Anforderungen zur frĂŒhzeitigen Fehlererkennung und Fehlervermeidung sowie eine automatisierte Codegenerierung und Optimierungen sinnvoll umsetzen. Durch gezielte Festlegung einzuhaltender Kriterien und Entwicklungsschritte wird dabei in jeder Komponente der Toolchain eine bestmögliche Kombination von zeit- und kosteneffizienter Entwicklung mit der Sicherstellung der Einhaltung harter Echtzeiteigenschaften sowie einer Maximierung der Wiederverwendbarkeit, erreicht. Dabei spielt die Anpassbarkeit der eingebetteten Systeme mit Hilfe von partieller Rekonfiguration, mit der das dynamische Austauschen von Teilen des Softcores oder sogar ganzer Softcore Prozessoren zur Laufzeit ermöglicht wird, eine wichtige Rolle. Es erfolgen ein praktischer Nachweis der FunktionalitĂ€t der erarbeiteten Modelle sowie ausfĂŒhrliche Experimente ĂŒber die zeitlichen Anforderungen bei der partiellen Rekonfiguration von Softcore Prozessoren. Die praktischen Ergebnisse der Arbeit zeigen deutlich die Effizienz der Entwicklung von Lösungen mit der konzipierten und umgesetzten Toolchain sowie die Relevanz und Einsetzbarkeit der partiellen Rekonfiguration in diesem Gebiet.This dissertation focuses on principles, methods, techniques and realizations for the systematic development of complex embedded systems using softcore processors. The addressed domain is primarily real-time-critical data and image processing. New solutions are needed due to the increasing performance of embedded systems, allowing for a range of applications that were previously not solvable with these systems. Building on the concepts of already existing models and methods, e.g. the V-model or hardware-software-co-design, a special realization methodology for application-specific softcore FPGA solutions is developed, in conjunction with algorithmic requirements in the addressed domain. In this context, a softcore library with characteristics tailored to this domain is designed and implemented. Through a hierarchical description and validation, the model-based approach used in this thesis enables the time- and cost-efficient development of complex systems. For each abstraction level, models are presented that provide all necessary requisites for early error detection and prevention, as well as mostly automated code generation and code optimization. By defining relevant criteria and development steps, a parsimonious development with respect to time and cost is achieved in each component of the toolchain. This ensures strict adherence to the hard real-time properties and maximizes the reusability of the modules implemented for a specific project. The adaptability of the embedded systems through using partial reconfiguration plays an important role. Partial reconfiguration enables dynamic replacement of parts of the softcore or even entire softcore processors at runtime. A practical evaluation of the functionality of the developed models as well an extensive array of experiments concerning the time requirements for the partial reconfiguration of softcore processors are presented. The practical results of this thesis clearly demonstrate the efficiency of developing solutions with the designed and realized toolchain, as well as the relevance and applicability of partial reconfiguration in the addressed domain

    Das FPGA-Entwicklungssystem CHDL

    Get PDF
    In dieser Arbeit wurde das Konzept der C++-basierten Hardwarebeschreibung fĂŒr Field Programmable Gate Arrays (FPGAs) weiterentwickelt und optimiert. Ergebnis ist ein homogenes System, das eine deutlich verbesserte UnterstĂŒtzung fĂŒr FPGA-Koprozessoren bietet als bisher verfĂŒgbare Werkzeuge: Das FPGA-Entwicklungssystem CHDL. CHDL integriert mehrere parallel einsetzbare Beschreibungsebenen von der detaillierten strukturellen Spezifikation ĂŒber Zustandsmaschinen bis hin zur Hochsprachenbeschreibung. Die Simulation kann durch Nachbilden der Hardwareumgebung mittels C++-Funktionen das gesamte zu untersuchende System umfassen. Auch die Softwarekomponente des FPGA-Koprozessors ist in die Simulation einbezogen. ZusĂ€tzlich wird die Anwendung moderner Debugging-Verfahren wie Readback und partielle Rekonfiguration unterstĂŒtzt. Die Ausgabe der Netzlisten erfolgt direkt im XNF- oder EDIF-Format. Beim Einsatz von CHDL muß der Entwickler nur eine einzige Sprache beherrschen, um Anwendungen fĂŒr FPGA-Koprozessoren zu implementieren: C++. Ein handelsĂŒblicher C++-Kompiler sowie die Place&Route-Software des FPGA-Herstellers reichen aus, um mit CHDL FPGA-Anwendungen zu entwickeln. Es werden keine weiteren Werkzeuge benötigt, insbesondere keine VHDL-Kompiler
    corecore