In order to make precise some of the desirable features of a programming support environment, and in order to encourage others to do likewise, this paper presents the formal specification of a small module or package ...
详细信息
In order to make precise some of the desirable features of a programming support environment, and in order to encourage others to do likewise, this paper presents the formal specification of a small module or package manager suitable foruse in a Modula or Ada environment.
The paper proposes and reports on pototyping a work bench system for novice Prolog programmers which consists of a visually-structured interactive tracer and a prototype-based programming support. The tracer actually ...
详细信息
The paper proposes and reports on pototyping a work bench system for novice Prolog programmers which consists of a visually-structured interactive tracer and a prototype-based programming support. The tracer actually is a simulated interpreter in Prolog, It is interpreted by a Prolog interpreter being embedded with facilities interfacing programs in Prolog and the objects programmed in C. It displays, by way of these objects, the past, current and future goals, highlights variable sharing and value substitution, and marks the current goals and backtrack choice points. It is at user's will to let the tracer show and hide subgoals as well as to let it backtrack when it failed, step back for redoing or terminate tracing. The programming support module first provides the programmer with structural prototype patterns and the roles of the constituent functions. We developed a support system for the 2 types of recursive definitions. After having selected the prototype, the user is requested to specify the data types and the names of variables to be put in the arguments, which propagate through the structure. The support module then offers a menu of primitive or user-registered constituent functions as may be useful in processing and/or obtaining user-specified types of data. Thirdly the system lets the user express his/her intention by sample input-output data instances in his/her task goals. It makes the values propagate through the structures thus motivating the user to design the constituent functions. At the goal recursion point, the user is allowed to creep into examining the definitions of the reduced versions of the instances, helping the user find the condition with which the recursion terminates. Finally the module assists the user to convert the structural descriptions into Prolog programs.
In the past few years the authors have established a real-time object-oriented (OO) structuring approach called the RTO.k object structuring scheme for the purpose of realizing real-time computing in the form of a gen...
详细信息
In the past few years the authors have established a real-time object-oriented (OO) structuring approach called the RTO.k object structuring scheme for the purpose of realizing real-time computing in the form of a generalization of non-real-time computing, that yet allows system engineers to confidently produce certifiable real-time systems for safety-critical applications. Also, a model of an operating system kernel named the DREAM kernel (which can support both conventional real-time processes and RTO.k objects with guaranteed timely services), has been formulated. A user-friendly interface to DREAM kernel services for RTO.k-structured real-time application programs is provided by a collection of specific C++ classes called the DREAM library. In a sense, C++ augmented with the DREAM library can be viewed as an RTO.k object programming language, although it does more than that. This paper discusses the essence of RTO.k object programming in C++ with the aid of the DREAM library. Copyright (C) 1997 Elsevier Science Ltd.
In the past few years the authors have established a real-time object-oriented (OO) structuring approach called the RTO.k object structuring scheme for the purpose of realizing real-time computing in the form of a gen...
详细信息
In the past few years the authors have established a real-time object-oriented (OO) structuring approach called the RTO.k object structuring scheme for the purpose of realizing real-time computing in the form of a generalization of non-real-time computing, that yet allows system engineers to confidently produce certifiable real-time systems for safety-critical applications. Also, a model of an operating system kernel named the DREAM kernel (which can support both conventional real-time processes and RTO.k objects with guaranteed timely services), has been formulated. A user-friendly interface to DREAM kernel services for RTO.k-structured real-time application programs is provided by a collection of specific C++ classes called the DREAM library. In a sense, C++ augmented with the DREAM library can be viewed as an RTO.k object programming language, although it does more than that. This paper discusses the essence of RTO.k object programming in C++ with the aid of the DREAM library. Copyright (C) 1997 Elsevier Science Ltd.
In this paper we describe an abstract model for the development of object-oriented software in a context where several programmers work together as a team. We introduce the different levels that compose our model, map...
详细信息
In this paper we describe an abstract model for the development of object-oriented software in a context where several programmers work together as a team. We introduce the different levels that compose our model, mapping its concepts and tools to existing systems whenever possible. The goal of this work is to design an environment for co-operative programming that deals specifically with the needs of developers using object-oriented technology. Our model is based on existing software engineering tools for the development of medium and large software projects, and also on a survey of user requirements for object-oriented programming. We explain the reasons why existing software engineering tools for team programming are not suited to object-oriented technology. We also briefly describe our prototype and the tools necessary to support our co-operative object-oriented programming model.
Very few programming languages provide direct support for programming distributed embedded systems. However, as such systems become more widespread, many languages, particularly concurrent languages like Ada and Modul...
详细信息
Very few programming languages provide direct support for programming distributed embedded systems. However, as such systems become more widespread, many languages, particularly concurrent languages like Ada and Modula, will be employed for this purpose. Restrictions should be placed on the use of these languages, so that processes executing on one machine do not have access to the memory space of processes executing on another. Furthermore, if the reuse of software modules is to become a reality, then it should be possible to implement components of a system in different *** this paper we present a language-independent specification of how the use of a common class of imperative programming languages can be restricted for a distributed environment. A simple formal model, in Z, of imperative programming languages is developed, and restrictions are specified. The model is then instantiated for the languages Ada, Modula and C. It gives good results for Ada and Modula, but cannot be elegantly applied to C because the language lacks both a module and process facility. A distributed Ada programming environment based on the model is described briefly.
Considerable research effort in the software engineering domain has been focused on the development of more advanced programming environments. A key aspect in this development isdistribution. Distributed computer syst...
详细信息
Considerable research effort in the software engineering domain has been focused on the development of more advanced programming environments. A key aspect in this development isdistribution. Distributed computer systems have the potential for high reliability. This is primarily because resources can be provided redundantly at different sites. However, the possibility of partial system failure and the high level of parallel activity in distributed systems make it difficult to realise this potential. In an attempt to simplify the treatment of these problems in distributed database systems, the notion ofatomic transactionswas introduced. The transaction concept is equally applicable to the area of distributed programming environments. However, traditional database transaction mechanisms are not efficient or flexible enough to meet the requirements of distributed programming environments. This paper presents a survey of transaction techniques and discusses the application of the transaction model to distributed programming environments.
Modula-2 was designed in 1979 by Prof. Niklaus Wirth as a successor to Pascal. It provides similar facilities for the description of algorithms and data structures, but differs radically from Pascal in allowing the co...
详细信息
Modula-2 was designed in 1979 by Prof. Niklaus Wirth as a successor to Pascal. It provides similar facilities for the description of algorithms and data structures, but differs radically from Pascal in allowing the composition of programs from separately compiled modules in a carefully controlled way. This paper recounts some experiences with implementing the languages for a variety of computers, and describes a collection of tools (mostly written in Modula-2) that provides an extensive program development environment for the language. In particular, a general set of run time libraries is described together with utilities for consistent compilation, symbolic debugging and run time profiling. The paper concludes with some observations on the language formed on the basis of these experiences.
A case is made for providing direct support for time stamped event histories (TEHs) in real-time programs. The paper describes a notation for TEHs, gives some programming examples, discusses an implementation, and con...
详细信息
A case is made for providing direct support for time stamped event histories (TEHs) in real-time programs. The paper describes a notation for TEHs, gives some programming examples, discusses an implementation, and concludes with some research issues. (C) 1998 Elsevier Science Ltd. All rights reserved.
A case is made for providing direct support for time stamped event histories (TEHs) in real-time programs. The paper describes a notation for TEHs, gives some programming examples, discusses an implementation, and con...
详细信息
ISBN:
(纸本)0080430457
A case is made for providing direct support for time stamped event histories (TEHs) in real-time programs. The paper describes a notation for TEHs, gives some programming examples, discusses an implementation, and concludes with some research issues. (C) 1998 Elsevier Science Ltd. All rights reserved.
暂无评论