With the emergence of a number of strongly typed languages with very dynamic storage allocation, efficient methods of storage reclamation have become especially important. Even though no type tags are required for typ...
详细信息
ISBN:
(纸本)9780897914284
With the emergence of a number of strongly typed languages with very dynamic storage allocation, efficient methods of storage reclamation have become especially important. Even though no type tags are required for type checking programs written in these languages, current implementations do use tags to support run time garbage collection. This often inflicts a high time and space overhead on program execution. Since the early days of LISP (and Algo168 later on), there have been schemes for performing tag-free garbage collection. In this paper, we describe an improvement of existing methods that leads to more effective storage reclamation in the absence of tags. Garbage collection has also traditionally been viewed as being independent of the particular program being executed. This means that results of compile-time analyses which could increase the effectiveness of garbage collection cannot be incorporated easily into the garbage collection process. This paper describes a method for performing garbage collection 1) in the absence of tagged data, and 2) using compile-time information. This method relies on compiler-generated garbage collection routines specific to the program being executed and incurs no time overhead during execution other then the cost of the garbage collection process itself. We describe tag-free garbage collection methods for monomorphically typed and polymorphically typed languages, and suggest how they might be extended to support parallel languages.
We describe a general module language integrating abstract data types, specifications and object-oriented concepts. The framework is based on the Standard ML module system, with three main extensions: subtyping, a for...
详细信息
Traditional programminglanguagedesign has focussed on efficiency and expressiveness, with minimal attention to the ease with which a programmer can translate task requirements into statements in the language, a char...
详细信息
Ada has introduced some very useful concepts for programming large software systems. In particular, modularity, data encapsulation and generics are extremely useful concepts introduced by Ada in 1980. Since then inter...
详细信息
ISBN:
(纸本)0897914457
Ada has introduced some very useful concepts for programming large software systems. In particular, modularity, data encapsulation and generics are extremely useful concepts introduced by Ada in 1980. Since then interesting new ideas have been developed in functional languages and object-oriented programming. Ideally, productive ideas of all three directions in programminglanguagedesign should be available for software system implementation.
This paper describes the design and implementation of an Ada system for heterogeneous distributed embedded targets. It permits a single Ada program to run in a loosely coupled, heterogeneous multi-processor environmen...
详细信息
The proceedings contain 57 papers. The topics discussed include: CAPS as a requirements engineering tool;Ada and CMS-2 cohabitation a transition method for U.S. Navy realtime tactical systems;experiences in developing...
ISBN:
(纸本)0897914457
The proceedings contain 57 papers. The topics discussed include: CAPS as a requirements engineering tool;Ada and CMS-2 cohabitation a transition method for U.S. Navy realtime tactical systems;experiences in developing an Ada cross compiler;Ada semantic interface specification (ASIS);debugging of optimized ADA code;Adam, an Ada simulation library;vaijdating the adarts software design method for real-time systems;Ada-based support for abstraction, encapsulation and unit hierarchy;SA-2-Ada : a methodology for deriving Ada designs from structured analysis specifications;a microprocessor with ADA real time support;SDL: a standard language for Ada real -time applications;pilot command center testbed development environment: a better way to develop C3systems;dynamic software replacement model and its Ada implementation;design and implementation of a multi-tool ADA front end;a three level ADA interface to a commercial database;efficient loop-level parallelism in Ada;building distributed Ada applications from specifications and functional components;distribution of Ada tasks onto a heterogeneous environment;and supporting packed decimal in Ada.
SKILL is a programminglanguage that supports both command entry and procedural customization in OpusTM design FrameworkTM. After briefly considering some related work, we examine the requirements that motivate the pr...
ISBN:
(纸本)9780897913638
SKILL is a programminglanguage that supports both command entry and procedural customization in OpusTM design FrameworkTM. After briefly considering some related work, we examine the requirements that motivate the provision of a programminglanguage available to the user and describe some of the technical characteristics of the languagedesign and implementation. Finally, we describe our experience with the language and outline future work. A number of programming examples are appended.
暂无评论