76 research outputs found

    A practical comparison between Java and Ada in implementing a real-time embedded system

    Full text link
    This paper presents a student’s observations from an undergraduate research project that explored using Java to implement the software for a real-time embedded system that was originally implemented in a university-level real-time systems course using Ada 95. It briefly gives an overview of the project, the decision made concerning which Java virtual machine to use, and how that virtual machine performed in the real-time environment. It then goes into detail about the merits and drawbacks of using Java to implement real-time and embedded systems such as this one and how using Java to implement them compares with using Ada. Categories and Subject Descriptors D.3.3. [Programming Languages]: Language Constructs an

    Description-driven Adaptation of Media Resources

    Get PDF
    The current multimedia landscape is characterized by a significant diversity in terms of available media formats, network technologies, and device properties. This heterogeneity has resulted in a number of new challenges, such as providing universal access to multimedia content. A solution for this diversity is the use of scalable bit streams, as well as the deployment of a complementary system that is capable of adapting scalable bit streams to the constraints imposed by a particular usage environment (e.g., the limited screen resolution of a mobile device). This dissertation investigates the use of an XML-driven (Extensible Markup Language) framework for the format-independent adaptation of scalable bit streams. Using this approach, the structure of a bit stream is first translated into an XML description. In a next step, the resulting XML description is transformed to reflect a desired adaptation of the bit stream. Finally, the transformed XML description is used to create an adapted bit stream that is suited for playback in the targeted usage environment. The main contribution of this dissertation is BFlavor, a new tool for exposing the syntax of binary media resources as an XML description. Its development was inspired by two other technologies, i.e. MPEG-21 BSDL (Bitstream Syntax Description Language) and XFlavor (Formal Language for Audio-Visual Object Representation, extended with XML features). Although created from a different point of view, both languages offer solutions for translating the syntax of a media resource into an XML representation for further processing. BFlavor (BSDL+XFlavor) harmonizes the two technologies by combining their strengths and eliminating their weaknesses. The expressive power and performance of a BFlavor-based content adaptation chain, compared to tool chains entirely based on either BSDL or XFlavor, were investigated by several experiments. One series of experiments targeted the exploitation of multi-layered temporal scalability in H.264/AVC, paying particular attention to the use of sub-sequences and hierarchical coding patterns, as well as to the use of metadata messages to communicate the bit stream structure to the adaptation logic. BFlavor was the only tool to offer an elegant and practical solution for XML-driven adaptation of H.264/AVC bit streams in the temporal domain

    Open Multithreaded Transactions: A Transaction Model for Concurrent Object-Oriented Programming

    Get PDF
    To read the abstract, please go to my PhD home page

    Doctor of Philosophy

    Get PDF
    dissertationCompilers are indispensable tools to developers. We expect them to be correct. However, compiler correctness is very hard to be reasoned about. This can be partly explained by the daunting complexity of compilers. In this dissertation, I will explain how we constructed a random program generator, Csmith, and used it to find hundreds of bugs in strong open source compilers such as the GNU Compiler Collection (GCC) and the LLVM Compiler Infrastructure (LLVM). The success of Csmith depends on its ability of being expressive and unambiguous at the same time. Csmith is composed of a code generator and a GTAV (Generation-Time Analysis and Validation) engine. They work interactively to produce expressive yet unambiguous random programs. The expressiveness of Csmith is attributed to the code generator, while the unambiguity is assured by GTAV. GTAV performs program analyses, such as points-to analysis and effect analysis, efficiently to avoid ambiguities caused by undefined behaviors or unspecifed behaviors. During our 4.25 years of testing, Csmith has found over 450 bugs in the GNU Compiler Collection (GCC) and the LLVM Compiler Infrastructure (LLVM). We analyzed the bugs by putting them into different categories, studying the root causes, finding their locations in compilers' source code, and evaluating their importance. We believe analysis results are useful to future random testers, as well as compiler writers/users

    Federated approach for enterprise interoperability (a reversible model driven and HLA based methodology)

    Get PDF
    L'interopérabilité est une des caractéristiques requises pour les entreprises évoluant dans un marché globalisé à la concurrence croissante et complexe. Dans la dernière décennie, l'interopérabilité des entreprises a été développée et prescrite par différents types de cadres, de méthodes et de techniques. Cependant, le développement de l'interopérabilité n'est pas encore assez mature pour être considéré en tant que science à part entière. Par ailleurs, il ne cesse d'évoluer en fonction des besoins des entreprises,de leurs environnements et des différents secteurs d activité. Aujourd'hui, l'environnement s organise en réseaux multipleet provoque d imprévisibles situations liées à leurs dynamiques (création, modification, résilience). Ainsi l interopérabilité durable devient une dimension nouvelle de recherche pour l'interopérabilité des systèmes d'entreprise et de leurs domaines d'applications. Dans l'interopérabilité durable, l'interopérabilité d'entreprise dynamique est l'un des thèmes focaux. Cette approche dynamique, également appelée fédérée , est originaire du cadre d'interopérabilité de l'Entreprise proposée dans le Réseau d Excellence (NoE)INTEROP. Il vise à donner la capacité aux entreprises d établir une interopérabilité à la volée sans connaissance préalable des informations à échanger. Cette thèse présente l'état actuel des travaux qui se rapprochent du développement de l'interopérabilité des entreprises fédérés en dynamique. Ces travaux de thèse mettent tout d abord en évidence l intérêt de la redécouverte de modèles à partir d un système existant avant de concevoir un futur système. Une méthodologie de réverse engineering dirigée par les modèles et basée sur la norme de simulation distribuée HLA est proposée pour concevoir et développerpar l'approche fédérée d'interopérabilité le futur système d information de l entreprise. La phase de mise en œuvre réutilise les concepts d interopérabilité issusde la simulation distribuée pour faciliter et coordonner la communication entre les systèmes d'information distribués hétérogènes des entreprises en combinant avec les dernières orientation service actuelle du web. La plate-forme tend ainsi à satisfaire les attentes de la dernière version du standard de l'architecture de haut niveau HLA 1516 Evolved. Ce cadre propose donc un cycle complet de développement pour qui a l'intention de réutiliser un système d'information existant sans recoder ex-nilo, mais en l adaptant aux nouvelles exigences de la dynamique d'interopérabilité.Interoperability is one of the requisite features for existing enterprises in the increasing competitive and complex global market. In the last decade, enterprise interoperability has been developed and prescribed by various kinds of frameworks, methods, and techniques. However interoperability development is still not mature enough to become a science. Meanwhile, it keeps evolving according to different business requirement and market environment. Nowadays, networked environment causes unpredictable dynamical situations, thus sustainable interoperability becomes a new research dimension in the interoperability of enterprise systems and applications domain. In the sustainable interoperability, enterprise interoperability dynamics is one of the focal topics. This dynamic approach also called federated is originated from Enterprise Interoperability Framework of INTEROP NoE, which aims to establish interoperability on the fly. This thesis presents current state on federated approaches to develop enterprise interoperability dynamics. Based on this study, a reversible model driven and HLA based methodology is proposed for achieving federated approach for Enterprise Interoperability. It reuses distributed simulation interoperability concepts to facilitate and coordinate the communication between heterogeneous distributed information systems of the enterprises. The platform is complaint with the latest version of the High Level Architecture (HLA) that is a distributed communication standard. This framework is also proposing a development lifecycle that intends to reuse existing information systems without recoding them but by adapting them to the new requirements of interoperability dynamics.BORDEAUX1-Bib.electronique (335229901) / SudocSudocFranceF

    Un meta-modèle de composants pour la réalisation d'applications temps-réel flexibles et modulaires

    Get PDF
    The increase of software complexity along the years has led researchers in the software engineering field to look for approaches for conceiving and designing new systems. For instance, the service-oriented architectures approach is considered nowadays as the most advanced way to develop and integrate fastly modular and flexible applications. One of the software engineering solutions principles is re-usability, and consequently generality, which complicates its appilication in systems where optimizations are often used, like real-time systems. Thus, create real-time systems is expensive, because they must be conceived from scratch. In addition, most real-time systems do not beneficiate of the advantages which comes with software engineering approches, such as modularity and flexibility. This thesis aim to take real time aspects into account on popular and standard SOA solutions, in order to ease the design and development of modular and flexible applications. This will be done by means of a component-based real-time application model, which allows the dynamic reconfiguration of the application architecture. The component model will be an extension to the SCA standard, which integrates quality of service attributs onto the service consumer and provider in order to stablish a real-time specific service level agreement. This model will be executed on the top of a OSGi service platform, the standard de facto for development of modular applications in Java.La croissante complexité du logiciel a mené les chercheurs en génie logiciel à chercher des approcher pour concevoir et projéter des nouveaux systèmes. Par exemple, l'approche des architectures orientées services (SOA) est considérée actuellement comme le moyen le plus avancé pour réaliser et intégrer rapidement des applications modulaires et flexibles. Une des principales préocuppations des solutions en génie logiciel et la réutilisation, et par conséquent, la généralité de la solution, ce qui peut empêcher son application dans des systèmes où des optimisation sont souvent utilisées, tels que les systèmes temps réels. Ainsi, créer un système temps réel est devenu très couteux. De plus, la plupart des systèmes temps réel ne beneficient pas des facilités apportées par le genie logiciel, tels que la modularité et la flexibilité. Le but de cette thèse c'est de prendre en compte ces aspects temps réel dans des solutions populaires et standards SOA pour faciliter la conception et le développement d'applications temps réel flexibles et modulaires. Cela sera fait à l'aide d'un modèle d'applications temps réel orienté composant autorisant des modifications dynamiques dans l'architecture de l'application. Le modèle de composant sera une extension au standard SCA qui intègre des attributs de qualité de service sur le consomateur et le fournisseur de services pour l'établissement d'un accord de niveau de service spécifique au temps réel. Ce modèle sera executé sur une plateforme de services OSGi, le standard de facto pour le developpement d'applications modulaires en Java

    Language independent modelling of parallelism

    Get PDF
    To make programs work in parallel contexts without any hazards, programming languages require changes to their structures and compilers. One of the most complicated parts is memory models and how programming languages deal with memory interactions. Different processors provide a different level of safety guarantees (i.e. ARM provides relaxed whereas Intel provides strong guarantees). On the other hand, different programming languages provide different structures for parallel computation and have individual protocols for communicating with parallel processes. Unfortunately, no specific choice is best in all situations. This thesis focuses on memory models of various programming languages and processors highlighting some positive and negative features from the point of view of programmability, performance and portability. In order to give some evidence of problems and performance bottlenecks, some small programs have been developed. This thesis also concentrates on incorrect behaviors, especially on data race conditions in programs, providing suggestions on how to avoid them. Also, some litmus tests on systems featuring different vendors' processors were performed to observe data races on each system. Nowadays programming paradigms also became a big issue. Some of the programming styles support observable non-determinism which is the main reason for incorrect behavior in programs. In this thesis, different programming models are also discussed based on the current state of the available research. Also, the imperative and functional paradigms in different contexts are compared. Finally, a mathematical problem was solved using two different paradigms to provide some practical evidence of the theory

    Symbolic execution of verification languages and floating-point code

    Get PDF
    The focus of this thesis is a program analysis technique named symbolic execution. We present three main contributions to this field. First, an investigation into comparing several state-of-the-art program analysis tools at the level of an intermediate verification language over a large set of benchmarks, and improvements to the state-of-the-art of symbolic execution for this language. This is explored via a new tool, Symbooglix, that operates on the Boogie intermediate verification language. Second, an investigation into performing symbolic execution of floating-point programs via a standardised theory of floating-point arithmetic that is supported by several existing constraint solvers. This is investigated via two independent extensions of the KLEE symbolic execution engine to support reasoning about floating-point operations (with one tool developed by the thesis author). Third, an investigation into the use of coverage-guided fuzzing as a means for solving constraints over finite data types, inspired by the difficulties associated with solving floating-point constraints. The associated prototype tool, JFS, which builds on the LibFuzzer project, can at present be applied to a wide range of SMT queries over bit-vector and floating-point variables, and shows promise on floating-point constraints.Open Acces
    • …
    corecore