While the control structures in recent programming languages are structured, the data structures are still primitive. This paper examines data structures and operations on them, and proposes some new features in progr...
详细信息
While the control structures in recent programming languages are structured, the data structures are still primitive. This paper examines data structures and operations on them, and proposes some new features in programming languages. These new features are principally in the areas of data description and data usage. In data description, the emphasis is on a global view of dynamic data structures; in data usage, semantic relationships between data items are innate in the operations on these data structures. Finally, example data descriptions and algorithms using some of the new features are contrasted with those using conventional features.
In Nonlinear Model Predictive Control(NMPC), an optimal control problem (OCP) is solved repeatedly at every sampling instant. To satisfy the real-time restriction, modern methods tend to convert the OCP into structure...
详细信息
The C++ design patterns for solvers used in Object-Oriented computing and simulation models for complex dynamic systems are presented. The C++ language includes the Standard Template Library (STL) that provides a grea...
详细信息
The C++ design patterns for solvers used in Object-Oriented computing and simulation models for complex dynamic systems are presented. The C++ language includes the Standard Template Library (STL) that provides a great number of global function templates called generic algorithms, designed for processing collections of objects. For solving initial value problems for systems of ordinary differential equations (ODE), the standard 4th order fixed-step-sized Runge-Kutta method is chosen. The use of these design patterns is applied in aerospace simulation model, which include numerous dynamic objects involving optimal control, navigation, and decision making systems.
A tool oriented approach to automating the planning of machining processes is presented. The approach is intended to permit efficient formulation and implementation of process planning capabilities, and to keep consta...
详细信息
A tool oriented approach to automating the planning of machining processes is presented. The approach is intended to permit efficient formulation and implementation of process planning capabilities, and to keep constant the effort required to add new capabilities to a program. Process planning is modeled as a collection of functions and a recursive algorithm. Because the process planning procedures do not interact and are treated identically by the recursive procedure, a program can grow in size without growing in complexity. Software was developed in order to test the concepts. Feasible process plans were generated, and time to execute was short. Efforts to add a new process planning capability was independent of the number of capabilities previously provided. This approach can efficiently produce general and flexible process planning programs.
Domain modeling can be applied to collections of reusable designs and reusable software. Libraries of such collections can be used when applying a refinement by transformation technique to software construction. There...
详细信息
Domain modeling can be applied to collections of reusable designs and reusable software. Libraries of such collections can be used when applying a refinement by transformation technique to software construction. There already exist systems that can automatically or semi-automatically perform program transformations that constitute refinements. An important question is how to organize such libraries so that transformation tools may feasibly use them. We show that transformation of a high level program with constraints on the transformations is an NP-complete problem;however, appropriately organized libraries are tractable. Moreover, we define a property which a library of transformations can have, ensuring that any consistent high level program can be transformed into an executable form. Finally, we give approximations which reduce the complexity of transformations for libraries which do not have this property. The most important aspect of this work is that it implies certain rules should be followed in constructing libraries and the domains that are placed in them.
Recruitment, training and deployment of programming staff are all issues vital in the efficient running of a data processing department. The article discusses the impact of structured programming techniques on staff t...
详细信息
Recruitment, training and deployment of programming staff are all issues vital in the efficient running of a data processing department. The article discusses the impact of structured programming techniques on staff training and employment levels. The continuing necessity of the maintenance and support of existing programs is also discussed.
The use of watchdog processors in the implementation of Structural Integrity Checking (SIC) is described. A model for ideal SIC is given in terms of formal languages and automata. Techniques for use in implementing SI...
详细信息
The use of watchdog processors in the implementation of Structural Integrity Checking (SIC) is described. A model for ideal SIC is given in terms of formal languages and automata. Techniques for use in implementing SIC are presented. The modification of a Pascal compiler into an SIC Pascal preprocessor is summarized.
structured analysis (SA) combines blueprint-like graphic language with the nouns and verbs of any other language to provide a hierarchic, top-down, gradual exposition of detail in the form of an SA model. The things a...
详细信息
structured analysis (SA) combines blueprint-like graphic language with the nouns and verbs of any other language to provide a hierarchic, top-down, gradual exposition of detail in the form of an SA model. The things and happenings of a subject are expressed in a data decomposition and an activity decomposition, both of which employ the same graphic building block, the SA box, to represent a part of a whole. SA arrows, representing input, output, control, and mechanism, express the relation of each part to the whole. The paper describes the rationalization behind some 40 features of the SA language, and shows how they enable rigorous communication which results frorn disciplined, recursive application of the SA maxim: "Everything worth saying about anything worth saying something about must be expressed in six or fewer pieces."
The structured programming literature provides methods and a wealth of heuristic knowledge for guiding the construction of provably correct imperative programs. We investigate these methods and heuristics as a basis f...
详细信息
The structured programming literature provides methods and a wealth of heuristic knowledge for guiding the construction of provably correct imperative programs. We investigate these methods and heuristics as a basis for mechanizing program synthesis. Our approach combines proof planning with conventional partial order planning. Proof planning is an automated theorem proving technique which uses high-level proof plans to guide the search for proofs. Proof plans are structured in terms of proof methods, which encapsulate heuristics for guiding proof search. We demonstrate that proof planning provides a local perspective on the synthesis task. In particular, we show that proof methods can be extended to represent heuristics for guiding program construction. Partial order planning complements proof planning by providing a global perspective on the synthesis task. This means that it allows us to reason about the order in which program fragments are composed. Our hybrid approach has been implemented in a semi-automatic system called Bertha. Bertha supports partial correctness and has been tested on a wide range of non-trivial programming examples.
Two primitives for structured programming are introduced. The primitives allow a generalized procedure entry and return similar to the ‘loop’ and ‘break’ statements found in many algorithmic languages for control ...
详细信息
Two primitives for structured programming are introduced. The primitives allow a generalized procedure entry and return similar to the ‘loop’ and ‘break’ statements found in many algorithmic languages for control in repetitive commands. Examples are given and the practicality of the primitives especially for interactive programming is stressed. Finally, the detailed implementation of the primitives is discussed; they may be implemented as procedures within an existing language.
暂无评论