• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 101
  • 22
  • 14
  • 9
  • 7
  • 5
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 188
  • 188
  • 52
  • 51
  • 44
  • 43
  • 40
  • 34
  • 29
  • 28
  • 26
  • 25
  • 25
  • 24
  • 22
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Automatic compiler generation from natural semantics specifications

McKeever, Stephen Walter January 2002 (has links)
No description available.
2

Search-based Optimization for Compiler Machine-code Generation

Clauson, Aran 10 October 2013 (has links)
Compilation encompasses many steps. Parsing turns the input program into a more manageable syntax tree. Verification ensures that the program makes some semblance of sense. Finally, code generation transforms the internal abstract program representation into an executable program. Compilers strive to produce the best possible programs. Optimizations are applied at nearly every level of compilation. Instruction Scheduling is one of the last compilation tasks. It is part of code generation. Instruction Scheduling replaces the internal graph representation of the program with an instruction sequence. The scheduler should produce some sequence that the hardware can execute quickly. Considering that Instruction Scheduling is an NP-Complete optimization problem, it is interesting that schedules are usually generated by a greedy, heuristic algorithm called List Scheduling. Given search-based algorithms' successes in other NP-Complete optimization domains, we ask whether search-based algorithms can be applied to Instruction Scheduling to generate superior schedules without unacceptably increasing compilation time. To answer this question, we formulate a problem description that captures practical scheduling constraints. We show that this problem is NP-Complete given modest requirements on the actual hardware. We adapt three different search algorithms to Instruction Scheduling in order to show that search is an effective Instruction Scheduling technique. The schedules generated by our algorithms are generally shorter than those generated by List Scheduling. Search-based scheduling does take more time, but the increases are acceptable for some compilation domains.
3

Rhapsody on small processor platforms

Andersson, Per-Oskar January 2008 (has links)
Rhapsody is a Model-Driven Development (MDD) tool for embedded and real-time system design. The purpose of this thesis is to determine if Rhapsody can be used for software development on small processor platforms such as the Atmel AVR. Rhapsody is normally used on platforms running an operating system. Therefore certain adaptations are needed in order to use it on platforms without an operating system. These adaptations and their affect on the usability of the tool, advantages and disadvantages are all studied while porting AVR-software to Rhapsody on one of CC Systems products, the robust on-board computer CC Pilot XL II. / Rhapsody är ett verktyg för modelldriven utveckling och design av inbyggda system och realtidssystem. Syftet med detta examensarbete är att undersöka om Rhapsody kan användas för att utveckla mjukvara till små processorplattformar som Atmel’s AVR. Då Rhapsody normalt används till plattformar med ett operativsystem behöver vissa modifieringar göras för att möjliggöra utveckling mot plattformar utan operativsystem. Dessa modifieringar, deras för och nackdelar samt påverkan på utvecklingsprocessen undersöks medan AVR-mjukvara porteras till Rhapsody. Mjukvaran som porteras är en del av styrsystemet till en av CC Systems produkter: CC Pilot XL II, en robust fordonsdator.
4

Translating Discrete Time SIMULINK to SIGNAL

Messaoud, Safa 02 July 2014 (has links)
As Cyber Physical Systems (CPS) are getting more complex and safety critical, Model Based Design (MBD), which consists of building formal models of a system in order to be used in verification and correct-by-construction code generation, is becoming a promising methodology for the development of the embedded software of such systems. This design paradigm significantly reduces the development cost and time while guaranteeing better robustness, capability and correctness with respect to the original specifications, when compared with the traditional ad-hoc design methods. SIMULINK has been the most popular tool for embedded control design in research as well as in industry, for the last decades. As SIMULINK does not have formal semantics, the application of the model based design methodology and tools to its models is very limited. In this thesis, we present a semantic translator that transform discrete time SIMULINK models into SIGNAL programs. The choice of SIGNAL is motivated by its polychronous formalism that enhances synchronous programming with asynchronous concurrency, as well as, by the ability of its compiler of generating deterministic multi thread code. Our translation involves three major steps: clock inference, type inference and hierarchical top-down translation. We validate the semantic preservation of our prototype tool by testing it on different SIMULINK models. / Master of Science
5

A Design Language for Scientific Computing Software in Drasil / Design Language for SCS

MacLachlan, Brooks January 2020 (has links)
Drasil is a framework for generating high-quality documentation and code for Scientific Computing Software (SCS). Despite the tendency of SCS code to follow an Input-Calculate-Output design pattern, there are many design variabilities in SCS. Drasil should therefore allow its users to specify a design for their generated program. To this end, a language that encodes the design variabilities present in SCS was implemented in Drasil. Drasil's code generator was updated to generate code based on a user's design choices. A Generic Object-Oriented Language, GOOL, from which Python, Java, C#, or C++ code can be generated, was implemented. Drasil's code generator targets GOOL, enabling the choice of programming language to be included in the design language. Other choices included in the language are related to the modularity, the generation of record classes to bundle variables, the inlining of constants, the code types used to represent different mathematical spaces, which external library to use to solve ODEs, the behaviour when a constraint is violated, and the presence of documentation, logging, or a controller. The design language is implemented as a record type in Haskell, and is designed to be understandable, extensible, and usable. A design specification can be easily changed, to generate a different version of the same program, which would often require time-consuming refactoring if the program was written manually. During the regular build process of Drasil, working code is generated in all four target languages for three examples of SCS, each using a different design specification. / Thesis / Master of Applied Science (MASc)
6

Rhapsody on small processor platforms

Andersson, Per-Oskar January 2008 (has links)
<p>Rhapsody is a Model-Driven Development (MDD) tool for embedded and real-time system design. The purpose of this thesis is to determine if Rhapsody can be used for software development on small processor platforms such as the Atmel AVR. Rhapsody is normally used on platforms running an operating system. Therefore certain adaptations are needed in order to use it on platforms without an operating system. These adaptations and their affect on the usability of the tool, advantages and disadvantages are all studied while porting AVR-software to Rhapsody on one of CC Systems products, the robust on-board computer CC Pilot XL II.</p> / <p>Rhapsody är ett verktyg för modelldriven utveckling och design av inbyggda system och realtidssystem. Syftet med detta examensarbete är att undersöka om Rhapsody kan användas för att utveckla mjukvara till små processorplattformar som Atmel’s AVR. Då Rhapsody normalt används till plattformar med ett operativsystem behöver vissa modifieringar göras för att möjliggöra utveckling mot plattformar utan operativsystem. Dessa modifieringar, deras för och nackdelar samt påverkan på utvecklingsprocessen undersöks medan AVR-mjukvara porteras till Rhapsody. Mjukvaran som porteras är en del av styrsystemet till en av CC Systems produkter: CC Pilot XL II, en robust fordonsdator.</p>
7

Visual Studio Add-in for Proxy Object Code Generation

Thangavel, Gopalakrishnan January 2013 (has links)
In recent years, Component models have become common for desktop and server-side applications. But it has not obtained such importance in case of embedded real-time systems.  Therefore, there has been a lot of research undergoing for introducing such component models for embedded real-time systems.  This thesis work proposes an alternative approach for doing this, by the generation of proxies.   The idea is to provide an extension to an existing binary component and modify it to adapt to the targeted real-time operating system. Rather than modifying the existing component, a new component is generated, which is called as the proxy component.  This newly generated proxy component provides the same method implementation as the original component and also provides some additional services.  These services enable these components to meet the needs of targeted embedded real-time systems.  In order to achieve this, a Visual Studio 2008 add-in has been created. This add-in is capable of inspecting an existing Smart Device Component and visualizes the Classes, Interfaces and Methods in the original component in its UI.  In addition to this, the add-in also shows the available services to be included in the proxy component.  The UI of the add-in is designed in such a way that, the user is able to select the services, which should be included in the proxy component.  Based on the user’s selection, the add-in generates the proxy component with the additional services.
8

MDA panaudojimo programinės įrangos kūrimui tyrimas / MDA usage in software development process

Škultinas, Tomas 24 May 2005 (has links)
IT industry all time is looking for ways to improve software development productivity as well as the quality and longevity of the software that it creates. OMG announced Model Driven Architecture as its strategic direction. It is software development methodology that provides new viewpoint in software development process. The modeling of problem domain and model transformation are key elements of MDA architecture and they are analyzed in this work using OMG specifications and other resources. The purpose of this work is to evaluate benefits of MDA framework in software development process. The new MDA framework is developed according to the results of MDA architecture analysis. Experimental usage of new MDA framework concentrates on productivity of software development process, automation of repeated tasks and required skill set of application developers.
9

Generation of Concurrency Controls using Discrete-Event Systems

Dragert, Christopher 27 September 2008 (has links)
The development of controls for the execution of concurrent code is non-trivial. This work shows how existing discrete-event system (DES) theory can be successfully applied to this problem. From code without concurrency controls and a specification of desired behaviours, a DES representation of the problem is obtained, and then used to generate concurrency control code. By applying rigorously proven DES theory, the resulting code comes with guarantees not present in similar works. All control schemes generated in DES are nonblocking, yielding code that is free of both livelock and deadlock. Additionally, the generated control scheme is minimally restrictive, meaning only problematic behaviours are prevented. If the specifications cannot be enforced as presented, the largest controllable subset is instead enforced. The result, which requires no further interaction to generate, is the best possible control scheme given the interaction between the specifications and the original code. Existing methods encounter difficulties when faced with multiple specifications that interact to form deadlocks. Modular DES theory is successfully applied, allowing resolution of these conflicts without requiring the user to introduce new specifications. Moreover, the approach is independent of specific programming or specification languages. A Java implementation is given, along with two problems showing the process in action. / Thesis (Master, Computing) -- Queen's University, 2008-09-25 09:03:51.593
10

Compiler and Runtime for Memory Management on Software Managed Manycore Processors

January 2014 (has links)
abstract: We are expecting hundreds of cores per chip in the near future. However, scaling the memory architecture in manycore architectures becomes a major challenge. Cache coherence provides a single image of memory at any time in execution to all the cores, yet coherent cache architectures are believed will not scale to hundreds and thousands of cores. In addition, caches and coherence logic already take 20-50% of the total power consumption of the processor and 30-60% of die area. Therefore, a more scalable architecture is needed for manycore architectures. Software Managed Manycore (SMM) architectures emerge as a solution. They have scalable memory design in which each core has direct access to only its local scratchpad memory, and any data transfers to/from other memories must be done explicitly in the application using Direct Memory Access (DMA) commands. Lack of automatic memory management in the hardware makes such architectures extremely power-efficient, but they also become difficult to program. If the code/data of the task mapped onto a core cannot fit in the local scratchpad memory, then DMA calls must be added to bring in the code/data before it is required, and it may need to be evicted after its use. However, doing this adds a lot of complexity to the programmer's job. Now programmers must worry about data management, on top of worrying about the functional correctness of the program - which is already quite complex. This dissertation presents a comprehensive compiler and runtime integration to automatically manage the code and data of each task in the limited local memory of the core. We firstly developed a Complete Circular Stack Management. It manages stack frames between the local memory and the main memory, and addresses the stack pointer problem as well. Though it works, we found we could further optimize the management for most cases. Thus a Smart Stack Data Management (SSDM) is provided. In this work, we formulate the stack data management problem and propose a greedy algorithm for the same. Later on, we propose a general cost estimation algorithm, based on which CMSM heuristic for code mapping problem is developed. Finally, heap data is dynamic in nature and therefore it is hard to manage it. We provide two schemes to manage unlimited amount of heap data in constant sized region in the local memory. In addition to those separate schemes for different kinds of data, we also provide a memory partition methodology. / Dissertation/Thesis / Ph.D. Computer Science 2014

Page generated in 0.2667 seconds