Results 1 -
5 of
5
A Hardware Abstraction Layer in Java
"... Embedded systems use specialized hardware devices to interact with their environment, and since they have to be dependable, it is attractive to use a modern, type-safe programming language like Java to develop programs for them. Standard Java, as a platform independent language, delegates access to ..."
Abstract
-
Cited by 9 (8 self)
- Add to MetaCart
Embedded systems use specialized hardware devices to interact with their environment, and since they have to be dependable, it is attractive to use a modern, type-safe programming language like Java to develop programs for them. Standard Java, as a platform independent language, delegates access to devices, direct memory access, and interrupt handling to some underlying operating system or kernel, but in the embedded systems domain resources are scarce and a Java virtual machine (JVM) without an underlying middleware is an attractive architecture. The contribution of this paper is a proposal for Java packages with hardware objects and interrupt handlers that interface to such a JVM. We provide implementations of the proposal directly in hardware, as extensions of standard interpreters, and finally with an operating system middleware. The latter solution is mainly seen as a migration path allowing Java programs to coexist with legacy system components. An important aspect of the proposal is that it is compatible with the Real-Time Specification for Java (RTSJ).
Extending a Functional Programming System for Embedded Applications
- Software: Practice & Experience
, 1995
"... This paper describes such a model, its implementation by extension to the Gofer programming system, and examples of its use. Performance results indicate that even this prototype interpretive system is adequate for small applications. The major gain of using a functional language is the ease with wh ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
This paper describes such a model, its implementation by extension to the Gofer programming system, and examples of its use. Performance results indicate that even this prototype interpretive system is adequate for small applications. The major gain of using a functional language is the ease with which abstraction can be layered over low-level detail, improving both the readability of code and its tractability
Modelling Communication in Ada with Shared Data Abstractions
, 1998
"... ions Dennis Freidel Hewlett Packard -- Colorado Networks Division Chris Marlin yz & Michael Oudshoorn y The University of Adelaide April 30, 1998 Abstract Descriptions of parallel programming languages are typically presented in an entirely informal manner; similar informal descriptive techni ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
ions Dennis Freidel Hewlett Packard -- Colorado Networks Division Chris Marlin yz & Michael Oudshoorn y The University of Adelaide April 30, 1998 Abstract Descriptions of parallel programming languages are typically presented in an entirely informal manner; similar informal descriptive techniques are usually also the basis of comparisons between parallel programming languages. Such informal descriptions frequently lead to misunderstandings about the programming languages being described, and how they relate to one another. In this paper, we use shared data abstractions, an extension of abstract data types for parallel programming, as the basis for a model of inter-task communication in the programming language Ada. This approach leads to a precise description of the inter-task communication facility of Ada, as well as offering a basis upon which to compare parallel programming languages. Categories and Subject Descriptors: D.3.1 [Programming Languages]: Formal Definitions and Th...
A Hybrid Implementation of a oriented Programming Language Simulation
, 1991
"... data types, each with a full range of attributes and functions to implement semantic actions, are statistics, queues and resources. (d) to provide for abstract data-typing capability using the entity class. With these the attributes can be represented for each member of a class of transaction object ..."
Abstract
- Add to MetaCart
data types, each with a full range of attributes and functions to implement semantic actions, are statistics, queues and resources. (d) to provide for abstract data-typing capability using the entity class. With these the attributes can be represented for each member of a class of transaction objects flowing through a modelled system. Each entity attribute may be of any of the above-mentioned data types, except of an entity class itself. An entity class may only be declared, not also defined, in the environment; definition must take place in the simulator section. Entity attributes may be inherited. 2. For the SIMULATOR, (a) to define processes that describe an entity's activities in the modelled system, thereby forming the basis of model execution for simulation. A process contains a name, a formal parameter list (including number, type, mode of argument), an optional entity parameter, and a sequence of statements. If the optional entity parameter is not specified, the process is exogenous and can only be initiated by the start statement in the environment; otherwise, the process can be activated in the simulator, with reference to the named entity. (b) to define functions, each including a name, a formal parameter list, the function's type, and a sequence of statements. Functions are available for computational ease only. They are not illustrated in the example program of Figure 2. (c) to declare local variables and constants within processes and functions. Local constants must be of a simple type; local variables must be of a simple type or an entity type. (d) to provide processes and functions with each of the following: simple instructions (e.g. assignment, read, write); typical arithmetic, logical and relational operations; and several control constructs to aid...
Functions, Frames, and Interactions -- completing a λ-calculus-based purely functional language with respect to programming-in-the-large and interactions with runtime environments
, 1998
"... The original aim of the work that led to this dissertation was to extend an existing, purely functional language with facilities for input/output and modular programming. The language is based on an untyped -calculus, i.e., program execution is defined as program transformation according to a fixed ..."
Abstract
- Add to MetaCart
The original aim of the work that led to this dissertation was to extend an existing, purely functional language with facilities for input/output and modular programming. The language is based on an untyped -calculus, i.e., program execution is defined as program transformation according to a fixed set of reduction rules including fi-reduction. Consistently, the implementation comprises an interactive reduction system which is integrated with a syntax-oriented editor: any sub-expression or program result can be submitted for (stepwise) reduction. There is no distinguished main program, no `global' environment and no explicit static part of the language -- in particular, there is no static type system. It is therefore not clear how to add one of the known solutions for input/output or modular programming to such a programming environment. Furthermore, simply adding features to the language would lead to a complex language design with weakly integrated parts, thus losing much of the appe...

