260 resultados para code generation
em Queensland University of Technology - ePrints Archive
Resumo:
This work is a MATLAB/Simulink model of a controller for a three-phase, four-wire, grid-interactive inverter. The model provides capacity for simulating the performance of power electroinic hardware, as well as code generation for an embedded controller. The implemented hardware topology is a three-leg bridge with a neutral connection to the centre-tap of the DC bus. An LQR-based current controller and MAF-based phase detector are implemented. The model is configured for code generation for a Texas Instruments TMS320F28335 Digital Signal Processor (DSP).
Resumo:
Metaphor is a multi-stage programming language extension to an imperative, object-oriented language in the style of C# or Java. This paper discusses some issues we faced when applying multi-stage language design concepts to an imperative base language and run-time environment. The issues range from dealing with pervasive references and open code to garbage collection and implementing cross-stage persistence.
Resumo:
One of the classic forms of intermediate representation used for communication between compiler front-ends and back-ends are those based on abstract stack machines. It is possible to compile the stack machine instructions into machine code by means of an interpretive code generator, or to simulate the stack machine at runtime using an interpreter. This paper describes an approach intermediate between these two extremes. The front-end for a commercial Modula 2 compiler was ported to the "industry standard PC", and a partially compiling back-end written. The object code runs with the assistance of an interpreter, but may be linked with libraries which are fully compiled. The intent was to provide a programming environment on the PC which is identical to that of the same compilers on 32-bit UNIX machines. This objective has been met, and the compiler is available to educational institutions as free-ware. The design basis of the new compiler is described, and the performance critically evaluated.
Resumo:
SAP and its research partners have been developing a lan- guage for describing details of Services from various view- points called the Unified Service Description Language (USDL). At the time of writing, version 3.0 describes technical implementation aspects of services, as well as stakeholders, pricing, lifecycle, and availability. Work is also underway to address other business and legal aspects of services. This language is designed to be used in service portfolio management, with a repository of service descriptions being available to various stakeholders in an organisation to allow for service prioritisation, development, deployment and lifecycle management. The structure of the USDL metadata is specified using an object-oriented metamodel that conforms to UML, MOF and EMF Ecore. As such it is amenable to code gener-ation for implementations of repositories that store service description instances. Although Web services toolkits can be used to make these programming language objects available as a set of Web services, the practicalities of writing dis- tributed clients against over one hundred class definitions, containing several hundred attributes, will make for very large WSDL interfaces and highly inefficient “chatty” implementations. This paper gives the high-level design for a completely model-generated repository for any version of USDL (or any other data-only metamodel), which uses the Eclipse Modelling Framework’s Java code generation, along with several open source plugins to create a robust, transactional repository running in a Java application with a relational datastore. However, the repository exposes a generated WSDL interface at a coarse granularity, suitable for distributed client code and user-interface creation. It uses heuristics to drive code generation to bridge between the Web service and EMF granularities.
Resumo:
An application of image processing techniques to recognition of hand-drawn circuit diagrams is presented. The scanned image of a diagram is pre-processed to remove noise and converted to bilevel. Morphological operations are applied to obtain a clean, connected representation using thinned lines. The diagram comprises of nodes, connections and components. Nodes and components are segmented using appropriate thresholds on a spatially varying object pixel density. Connection paths are traced using a pixel-stack. Nodes are classified using syntactic analysis. Components are classified using a combination of invariant moments, scalar pixel-distribution features, and vector relationships between straight lines in polygonal representations. A node recognition accuracy of 82% and a component recognition accuracy of 86% was achieved on a database comprising 107 nodes and 449 components. This recogniser can be used for layout “beautification” or to generate input code for circuit analysis and simulation packages
Resumo:
Despite being poised as a standard for data exchange for operation and maintenance data, the database heritage of the MIMOSA OSA-EAI is clearly evident from using a relational model at its core. The XML schema (XSD) definitions, which are used for communication between asset management systems, are based on the MIMOSA common relational information schema (CRIS), a relational model, and consequently, many database concepts permeate the communications layer. The adoption of a relational model leads to several deficiencies, and overlooks advances in object-oriented approach for an upcoming version of the specification, and the common conceptual object model (CCOM) sees a transition to fully utilising object-oriented features for the standard. Unified modelling language (UML) is used as a medium for documentation as well as facilitating XSD code generation. This paper details some of the decisions faced in developing the CCOM and provides a glimpse into the future of asset management and data exchange models.
Resumo:
Although there are many approaches for developing secure programs, they are not necessarily helpful for evaluating the security of a pre-existing program. Software metrics promise an easy way of comparing the relative security of two programs or assessing the security impact of modifications to an existing one. Most studies in this area focus on high level source code but this approach fails to take compiler-specific code generation into account. In this work we describe a set of object-oriented Java bytecode security metrics which are capable of assessing the security of a compiled program from the point of view of potential information flow. These metrics can be used to compare the security of programs or assess the effect of program modifications on security using a tool which we have developed to automatically measure the security of a given Java bytecode program in terms of the accessibility of distinguished ‘classified’ attributes.
Resumo:
The implementation of ‘good governance’ in Indonesia’s regional government sector became a central tenet in governance research following the introduction of the national code for governance in 2006. The code was originally drafted in 1999 as a response to the Asian financial crises and many cases of unearthed corruption, collusion, and nepotism. It was reviewed in 2001 and again in 2006 to incorporate relevant political, economical, and social developments. Even though the national code exists along with many regional government decrees on good governance, the extent of implementation of the tenets of good governance in Indonesia’s regional government is still questioned. Previous research on good governance implementation in Indonesian regional government (Mardiasmo, Barnes and Sakurai, 2008) identified differences in the nature and depth of implementation between various Indonesian regional governments. This paper analyses and extends this recent work and explores key factors that may impede the implementation and sustained application of governance practices across regional settings. The bureaucratic culture of Indonesian regional government is one that has been shaped for over approximately 30 years, in particular during that of the Soeharto regime. Previous research on this regime suggests a bureaucratic culture with a mix of positive and negative aspects. On one hand Soeharto’s regime resulted in strong development growth and strong economic fundamentals, resulting in Indonesia being recognised as one of the Asian economic tigers prior to the 1997 Asian financial crises. The financial crises however revealed a bureaucratic culture that was rife with corruption, collusion, and nepotism. Although subsequent Indonesian governments have been committed to eradicating entrenched practices it seems apparent that the culture is ingrained within the bureaucracy and eradication of it will take time. Informants from regional government agree with this observation, as they identify good governance as an innovative mechanism and to implement it will mean a deviation from the “old ways.” Thus there is a need for a “changed” mind set in order to implement sustained governance practices. Such an exercise has proven to be challenging so far, as there is “hidden” resistance from within the bureaucracy to change its ways. The inertia of such bureaucratic cultures forms a tension against the opportunity for the implementation of good governance. From this context an emergent finding is the existence of a ‘bureaucratic generation gap’ as an impeding variable to enhanced and more efficient implementation of governance systems. It was found that after the Asian financial crises the Indonesian government (both at national and regional level) drew upon a wider human resources pool to fill government positions – including entrants from academia, the private sector, international institutions, foreign nationals and new graduates. It suggested that this change in human capital within government is at the core of this ‘inter-generational divide.’ This divergence is exemplified, at one extreme, by [older] bureaucrats who have been in-position for long periods of time serving during the extended Soeharto regime. The “new” bureaucrats have only sat in their positions since the end of Asian financial crisis and did not serve during Soeharto’s regime. It is argued that the existence of this generation gap and associated aspects of organisational culture have significantly impeded modernising governance practices across regional Indonesia. This paper examines the experiences of government employees in five Indonesian regions: Solok, Padang, Gorontalo, Bali, and Jakarta. Each regional government is examined using a mixed methodology comprising of on-site observation, document analysis, and iterative semi-structured interviewing. Drawing from the experiences of five regional governments in implementing good governance this paper seeks to better understand the causal contexts of variable implementation governance practices and to suggest enhancements to the development of policies for sustainable inter-generational change in governance practice across regional government settings.
Resumo:
Type unions, pointer variables and function pointers are a long standing source of subtle security bugs in C program code. Their use can lead to hard-to-diagnose crashes or exploitable vulnerabilities that allow an attacker to attain privileged access over classified data. This paper describes an automatable framework for detecting such weaknesses in C programs statically, where possible, and for generating assertions that will detect them dynamically, in other cases. Exclusively based on analysis of the source code, it identifies required assertions using a type inference system supported by a custom made symbol table. In our preliminary findings, our type system was able to infer the correct type of unions in different scopes, without manual code annotations or rewriting. Whenever an evaluation is not possible or is difficult to resolve, appropriate runtime assertions are formed and inserted into the source code. The approach is demonstrated via a prototype C analysis tool.
Resumo:
The purpose of this work is to validate and automate the use of DYNJAWS; a new component module (CM) in the BEAMnrc Monte Carlo (MC) user code. The DYNJAWS CM simulates dynamic wedges and can be used in three modes; dynamic, step-and-shoot and static. The step-and-shoot and dynamic modes require an additional input file defining the positions of the jaw that constitutes the dynamic wedge, at regular intervals during its motion. A method for automating the generation of the input file is presented which will allow for the more efficient use of the DYNJAWS CM. Wedged profiles have been measured and simulated for 6 and 10 MV photons at three field sizes (5 cm x 5 cm , 10 cm x10 cm and 20 cm x 20 cm), four wedge angles (15, 30, 45 and 60 degrees), at dmax and at 10 cm depth. Results of this study show agreement between the measured and the MC profiles to within 3% of absolute dose or 3 mm distance to agreement for all wedge angles at both energies and depths. The gamma analysis suggests that dynamic mode is more accurate than the step-and-shoot mode. The DYNJAWS CM is an important addition to the BEAMnrc code and will enable the MC verification of patient treatments involving dynamic wedges.