10 results
Search Results
2. An Intelligent Tutoring System for the Dijkstra-Gries Methodology.
- Author
-
Ng, Frank, Butler, Gregory, and Kay, Judy
- Subjects
- *
COMPUTER programming , *COMPUTER algorithms , *ELECTRONIC data processing , *COMPUTER software , *SOFTWARE engineering - Abstract
This paper describes the design and implementation of an intelligent tutoring system for the Dijkstra-Gries programming methodology as defined by Cries in "The Science of Programming"[12]. The first part of the paper identifies the requirements of intelligent tutoring systems in general and those of the methodology in particular. It shows the suitability of the Smalltalk environment for developing expandable intelligent systems and the compatibility of Smalltalk's object-oriented paradigm with the Gries methodology's goal/plan approach to programming. We then describe how these requirements are met: an overview of the system's support of the methodology and the modules that enable the system to respond intelligently. As an example, a reusable tutorial part is presented, first from a student's perspective, then from an author's perspective. Finally the results of an evaluation of the system drawn from actual student experience are presented. [ABSTRACT FROM AUTHOR]
- Published
- 1995
3. On Satisfying Timing Constraints in Hard-Real-Time Systems.
- Author
-
Xu, Jia and Parnas, David Lorge
- Subjects
COMPUTER systems ,COMPUTER software ,SOFTWARE engineering ,EMBEDDED computer systems ,COMPUTER algorithms ,ELECTRONIC data processing ,COMPUTER science - Abstract
We explain why pre-run-time scheduling is essential if one wishes to guarantee that timing constraints will be satisfied in a large complex hard-real-time system. We examine some of the major concerns in pre-run-time scheduling and consider what formulations of mathematical scheduling problems can be used to address those concerns. This paper provides a guide to the available algorithms. [ABSTRACT FROM AUTHOR]
- Published
- 1993
4. Early Experience with the Visual Programmer's WorkBench.
- Author
-
Rubin, Robert V., Walker II, James, and Golin, Eric J.
- Subjects
VISUAL programming (Computer science) ,VISUAL programming languages (Computer science) ,SOFTWARE engineering ,COMPUTER programming ,CONCURRENT engineering ,ENGINEERING ,COMPUTER algorithms ,ELECTRONIC data processing ,COMPUTER software - Abstract
Diagrams play a central role in software engineering. They are used for specifying design elements such as requirements, concurrent systems, database models and interactive systems. Families of diagrams form visual languages, and creating such diagrams constitutes visual programming. The Visual Programmer's WorkBench (VPW) addresses the rapid synthesis of programming environments for the specification, analysis, and execution of visual programs. A language-based environment for a specific visual language is generated in VPW from a specification of the syntactic structure, the abstract structure, the static semantics and the dynamic semantics of the language. VPW is built around a model of distributed processing based on shared distributed memory. This framework is used both in defining the architecture of the environment and for the execution model of visual languages. The Visual Programmer's WorkBench has been used to experiment with visual programming environments for several visual languages. This paper describes the design of the Visual Programmer's WorkBench and our experience using it to generate a distributed programming environment for a concurrent visual language. [ABSTRACT FROM AUTHOR]
- Published
- 1990
- Full Text
- View/download PDF
5. Programming with Verification Conditions.
- Author
-
van Emden, M.H.
- Subjects
COMPUTER programming ,COMPUTER algorithms ,ELECTRONIC data processing ,SOFTWARE engineering ,COMPUTER software ,COMPUTER systems - Abstract
This paper contains an exposition of the method of programming with verification conditions. Although this method has much in common with the one discussed by Dijkstra in A Discipline of Programming, it is shown to have the advantage in simplicity and flexibility. The simplicity is the result of the method's being directly based on Floyd's inductive assertions. The method is flexible because of the way in which the program is constructed in two stages. In the first stage, a set of verification conditions is collected which corresponds to a program in "flowgraph" form. In this stage sequencing control is of no concern to the programmer. Control is introduced in the second stage, which consists of automatable applications of translation and optimization rules, resulting in conventional code. Although our method has no use for the sequencing primitives of "structured programming," it is highly secure and systematic. [ABSTRACT FROM AUTHOR]
- Published
- 1979
6. An Approach to Formal Definitions and Proofs of Programming Principles.
- Author
-
Misra, Jayadev
- Subjects
COMPUTER programming ,COMPUTER algorithms ,ELECTRONIC data processing ,MATHEMATICAL analysis ,COMPUTER science ,COMPUTER software ,SOFTWARE engineering ,ENGINEERING - Abstract
A method for formal description of programming principles is presented in this paper. Programming principles, such as sequential search can be defined and proven even in the absence of an application. We represent a principle as a program scheme which has partially interpreted functions in it. The functions must obey certain input constraints. Use of these ideas in program proving is illustrated with examples. [ABSTRACT FROM AUTHOR]
- Published
- 1978
7. State Constraints and Pathwise Decomposition of Programs.
- Author
-
Huang, J. C.
- Subjects
- *
COMPUTER programming , *COMPUTER algorithms , *MATHEMATICAL decomposition , *COMPUTER software , *ELECTRONIC data processing - Abstract
A state constraint is a new programming construct designed to restrict the domain of definition of a program. It can be used to decompose a program pathwise, i.e., to divide the program into subprograms along the control How, as opposed to divide the program across the control flow when the program is decomposed into functions and procedures. As a result one can now construct and manipulate a program consisting of one or more execution paths of another program. This paper describes the idea involved, examines the properties of state constraints, establishes a formal basis for pathwise decomposition, and discusses their utilities in program simplification, testing, and verification. [ABSTRACT FROM AUTHOR]
- Published
- 1990
- Full Text
- View/download PDF
8. A Distributed Scheme for Detecting Communication Deadlocks.
- Author
-
Natarajan, N.
- Subjects
- *
DISTRIBUTED computing , *COMPUTER algorithms , *COMPUTER networks , *ELECTRONIC data processing , *COMPUTER systems , *COMPUTER software , *SOFTWARE engineering - Abstract
A distributed system is an interconnected network of computing elements or nodes, each of which has its own storage. A distributed program is a collection of processes which execute asynchronously, possibly in different nodes of a distributed system, and they communicate with each other in order to realize a common goal. In such an environment, a group of processes may sometimes get involved in a communication deadlock. This is a situation in which each member process of the group is waiting for some member to communicate with it, but no member is attempting communication with it. In this paper, we present an algorithm for detecting such communication deadlocks. The algorithm is distributed, i.e., processes detect deadlocks during the course of their communication, without the aid of a central controller. The detection scheme does not presume any a priori structure among processes, and detection is made "on the fly" without freezing normal activities. The scheme does not require any storage whose size is determined by the size of the network, and hence is suitable also for an environment where processes are created dynamically. [ABSTRACT FROM AUTHOR]
- Published
- 1986
9. Global States of a Distributed System.
- Author
-
Fischer, Michael J., Griffeth, Nancy D., and Lynch, Nancy A.
- Subjects
DISTRIBUTED computing ,ELECTRONIC data processing ,COMPUTER algorithms ,COMPUTER software ,SOFTWARE engineering ,COMPUTER systems - Abstract
A global state of a distributed transaction system is consistent if no transactions are in progress. A global checkpoint is a transaction which must view a globally consistent system state for correct operation. We present an algorithm for adding global checkpoint transactions to an arbitrary distributed transaction system. The algorithm is nonintrusive in the sense that checkpoint transactions do not interfere with ordinary transactions in progress; however, the checkpoint transactions still produce meaningful results. [ABSTRACT FROM AUTHOR]
- Published
- 1982
10. Program Correctness: On Inductive Assertion Methods.
- Author
-
King, James C.
- Subjects
PROGRAMMING languages ,COMPUTER software ,COMPUTER programming ,ELECTRONIC data processing ,COMPUTER algorithms - Abstract
A study of several of the proof of correctness methods is presented. In particular, the form of induction used is explored in detail. A relational semantic model (or programming languages is introduced and its relation to predicate transformers is explored. A rather elementary viewpoint is taken in order to expose, as simply as possible, (he basic differences of the methods and the underlying principles involved. These results were obtained by attempting to thoroughly understand the "subgoal induction" method, [ABSTRACT FROM AUTHOR]
- Published
- 1980
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.