Daniel E. Cooke
Texas Tech University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Daniel E. Cooke.
Journal of Systems and Software | 1996
Daniel E. Cooke; Ann Q. Gates; Elif Demirörs; Onur Demirörs; Murat M. Tanik; Bernd J. Krämer
Abstract A variety of specification languages exist that support one or more phases of software development. This article emphasizes languages that support the functional phase, i.e., languages that can be used to define the observable behavior of a system. The languages surveyed include Z, Prolog, SF, Clear, Larch, PAISLey, Spec, CSP, SEGRAS and BagL. The article divides the languages into four major categories based on the way the language specifies the external behavior of the system and on the ability of the language to specify concurrent systems. Each language section includes a discussion of the constructs of the language, a specification of a problem in the language, and an evaluation of the language. The article is intended to acquaint the reader with a wide range of functional specification languages.
Software - Practice and Experience | 1996
Daniel E. Cooke
SequenceL is a language intended for experimentation with declarative constructs for nonscalar processing. In SequenceL, a problem solver provides little in the way of iterative/recursive details in a problem solution. Instead, the problem solver describes the solution directly by specifying, via a metastructure, the data structures which will hold results useful for solving the problem. SequenceL is a small language (i.e. there is a small number of language constructs), and it is not domain dependent. This paper is meant to introduce the reader to SequenceL.
International Journal of Software Engineering and Knowledge Engineering | 1995
Luqi; Daniel E. Cooke
This paper explores the possibility of automated support for detecting inconsistencies in software systems and requirements. The inconsistencies are introduced when the environment of the software system changes. We refer to the software environment as its context. We review the recent research progress on nonmonotonic logics, pointing out the significance of these results to software maintenance. We explain how a practical implementation of such logics can be obtained via a simple extension to logic programming in the form of an answer procedure that realizes the Extended Logic Semantics [7] for nonmonotonic logic programs that have a unique answer set (which is a large and useful class of logic programs). We augment the existing automated capabilities of the Computer-Aided Prototyping System (CAPS) for rapid prototyping via the extension to logic programming to provide an improved automated capability for detecting certain kinds of inconsistencies created by implicit requirements changes. We illustrate the significance of this capability via an example prototype for a problem originally suggested by Lehman.
ACM Sigsoft Software Engineering Notes | 2005
Michael E. Shin; Daniel E. Cooke
This paper describes the self-healing mechanism for components in reliable systems. Each component in a self-healing system is designed as a layered architecture, structured with the healing layer and the service layer. The healing layer of a self-healing component is responsible for detection of anomalous objects in the service layer, reconfiguration of the service layer, and repair of anomalous objects detected. The service layer of a self-healing component provides functionality to other components, which consists of tasks (concurrent or active objects), connectors, and passive objects accessed by tasks. A connector supports the self-healing mechanism for self-healing components as well as encapsulates the synchronization mechanism for message communication between tasks in a component. Connectors are involved in detection of anomalous objects, reconfiguration of components, and repair of anomalous objects. This paper also specifies connectors - the message queue self-healing connector. message buffer self-healing connector, and message buffer and response self-healing connector - which provide functionalities for the self-healing mechanism.
Software - Practice and Experience | 2000
Daniel E. Cooke; Per Andersen
SequenceL is a language that provides declarative constructs for non-scalar processing. Rather than specifying program control structures that, in turn, imply a data product, the problem solver specifies a data product, and the control structures to produce or process the data product are implied. Although SequenceL has been previously introduced in two papers (Cooke, DE. An Introduction to SequenceL: A language to experiment with constructs for processing nonscalars. Software—Practice and Experience 1996; 26(11):1205–1246; and Cooke, D. SequenceL Provides a Different way to View Programming. Computer Languages 1998; 24:1–32), recent improvements to the language have indicated that parallel control structures are also implied by the SequenceL problem solutions. This paper focuses on these recent advances. Copyright
International Journal of Software Engineering and Knowledge Engineering | 1993
Daniel E. Cooke
This paper reviews the impact that the next generation programming environment may have on the software process model. In doing so it informally defines the concept of a next generation language and seriously considers the concerns of software development, validation, verification, and evolution within the context of a future abstraction.
IEEE Computer | 2006
Daniel E. Cooke; Matt Barry; Michael R. Lowry; Cordell Green
NASA is using model-based languages and risk analysis methodologies to raise software development to the level of hardware development. Ultimately, it hopes to achieve a fusion of systems and software engineering by replacing conventional software development techniques with capability engineering, which focuses on a systems full set of functionalities.
ACM Transactions on Programming Languages and Systems | 2008
Daniel E. Cooke; J. Nelson Rushton; Brad Nemanich; Robert G. Watson; Per Andersen
SequenceL is a concise, high-level language with a simple semantics that provides for the automatic derivation of many iterative and parallel control structures. The semantics repeatedly applies a “Normalize-Transpose-Distribute” operation to functions and operators until base cases are discovered. Base cases include the grounding of variables and the application of built-in operators to operands of appropriate types. This article introduces the results of a 24-month effort to reduce the language to a very small set of primitives. Included are comparisons with other languages, the formal syntax and semantics, and the traces of several example problems run with a prototype interpreter developed in 2006.
International Journal of Software Engineering and Knowledge Engineering | 1991
Daniel E. Cooke; Ann Q. Gates
This paper reviews the progress that has been made towards the definition of a new generation of computer assisted problem solving tool. When we solve problems with a computer we state the solution...
international conference on tools with artificial intelligence | 1991
C. V. Ramamoorthy; Daniel E. Cooke
Exploration is made of how methods of truth maintenance may be applied in the engineering of integrated, dynamic systems. In the life of a large system, it is not possible to foresee every significant event which may affect the behavior of the system. Truth maintenance techniques may prove useful in the production and maintenance of these large systems. A discussion is presented of how it is the decision making aspects of a system which change. Both the information on which the authors base their decisions and strategies for decision making change. Truth maintenance is discussed with respect to preserving the models of specifications and the models of programs.<<ETX>>