Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Daniel E. Cooke

dblp:c/DanielECooke · DBLP profile ↗
← Back
35ranked-venue papers
28as first author
0since 2021 · last 2010
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 28 · 23 first-authorArtificial intelligence and machine learning · 15 · 10 first-authorApplied, interdisciplinary, general and emerging computing · 3 · 2 first-authorSecurity and privacy · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
1 paper
Parallel and multicore computing · 100%
Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 88% Program synthesis and code generation · 7% Requirements engineering and software design · 4%

Topics — the 5 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
language semantics
0.112008
Normalize, transpose, and distribute: An automatic approach for handling nonscalars · ACM Trans. Program. Lang. Syst. 2008
Parallel and multicore computing › parallel programming models
automatic parallelization
0.112008
Normalize, transpose, and distribute: An automatic approach for handling nonscalars · ACM Trans. Program. Lang. Syst. 2008
Parallel and multicore computing
parallel programming models
0.112008
Normalize, transpose, and distribute: An automatic approach for handling nonscalars · ACM Trans. Program. Lang. Syst. 2008
Requirements engineering and software design
computer-aided software engineering
0.011990
Towards a Formalism to Produce a Programmer Assistant CASE Tool · IEEE Trans. Knowl. Data Eng. 1990
Requirements engineering and software design
model-driven engineering
0.011990
Towards a Formalism to Produce a Programmer Assistant CASE Tool · IEEE Trans. Knowl. Data Eng. 1990

Methods — techniques the papers use, named apart from their topics

interpreter · 0.2formal semantics · 0.2weak specification · 0.0logic formula · 0.0
YearPublicationVenuePosition
2010 The multi-core programming challenge
Daniel E. Cooke
SEKE1
2009 Guest Editor's Introduction
Daniel E. Cooke
Int. J. Softw. Eng. Knowl. Eng.1
2008 Normalize, transpose, and distribute: An automatic approach for handling nonscalars
abstract
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.
Daniel E. Cooke, J. Nelson Rushton, Brad Nemanich, Robert G. Watson, Per Andersen
ACM Trans. Program. Lang. Syst.1
2006 The Role of Theory and Experiment in Language Design--A 15 Year Perspective
abstract
This paper highlights a 15-year research effort during which the executable specification language SequenceL has been researched and developed. The paper covers early insights into how iterative control structures are used as well as advances involving simple and general semantics
Daniel E. Cooke, Brad Nemanich, J. Nelson Rushton
ICTAI1
2006 The Evolutionary Role of Variable Assignment and Its Impact on Program Verification
Daniel E. Cooke, J. Nelson Rushton, Robert G. Watson
SEKE1
2003 Software Engineering as Technology Transfer
Daniel E. Cooke, Jason Denton
SEKE1
2002 Projecting our Presence in Space and in Time
abstract
To help meet NASA's computer science research needs, the number one priority at the NASA Ames Research Center is now computer science research. NASA's change in focus has arisen out of its realization that the major technological roadblocks impeding the nation's ability to perform earth and space science, and to achieve its exploration goals, center on computation and Artificial Intelligence (AI). Communication delays on long distance missions compel NASA to focus on Computer Science research. With roundtrip communication delays ranging from 6 to 45 minutes between Earth and Mars, human and robotic missions cannot be effectively controlled remotely from earth. Much of the intelligence provided by Mission Controllers will, in the future, necessarily accompany human and virtual explorers.
Daniel E. Cooke
ICTAI1
2002 Automatic concurrency in SequenceL
Daniel E. Cooke, Vladik Kreinovich
Sci. Comput. Program.1
2000 Automatic parallel control structures in SequenceL
abstract
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 © 2000 John Wiley & Sons, Ltd.
Daniel E. Cooke, Per Andersen
Softw. Pract. Exp.1
1998 A Distributed Version of the SequenceL Language
abstract
This paper introduces a new computational model for SequenceL. The model is extended through the addition of a notion of the VRAM model. The computational model introduced together with the SequenceL language provides for a good expression of distributed behaviour.
Daniel E. Cooke, Vladik Kreinovich, Joseph E. Urban
SRDS1
1998 SequenceL Provides a Different Way to View Programming
Daniel E. Cooke
Comput. Lang.1
1998 Guest Editors' Introduction
Daniel E. Cooke, Joseph E. Urban
Int. J. Softw. Eng. Knowl. Eng.1
1997 Abstraction, concurrency, and communal computing in SequenceL
Daniel E. Cooke
COMPSAC1
1996 Languages for the specification of software
Daniel E. Cooke, Ann Q. Gates, Elif Demirörs, Onur Demirörs, Murat M. Tanik, Bernd J. Krämer
J. Syst. Softw.1
1996 An Introduction to Sequence L: A Language to Experiment with Constructs for Processing Nonscalars
abstract
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.
Daniel E. Cooke
Softw. Pract. Exp.1
1995 Preliminary Thoughts Concerning The Interphase Activity of Requirement Migration
Daniel E. Cooke
SEKE1
1995 The Use of Integrity Constraints in Software Engineering
Ann Q. Gates, Daniel E. Cooke
SEKE2
1995 The Future of Software Engineering Education
Joseph E. Urban, Daniel E. Cooke, Doris L. Carver, Roland T. Mittermeir
SEKE2
1995 How to Combine Nonmonotonic Logic and Rapid Prototyping to Help Maintain Software
abstract
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.
Luqi, Daniel E. Cooke
Int. J. Softw. Eng. Knowl. Eng.2
1994 Bag languages, concurrency, Horn logic programs, and linear logic
Daniel E. Cooke, Richard Duran, Ann Q. Gates, Vladik Kreinovich
SEKE1
1993 Formal support for software maintenance
abstract
In this paper we combine a variation of the CAPS model with an extended version of Prolog based upon the stable model semantics of logic programming [GEL]. We believe this to be the first paper presenting such a combination. In order to combine the CAPS model with the extended Prolog, we first implement a subset of the PSDL language in Prolog. We show the significance of the combination through an example prototype of a problem originally suggested by Lehman (1990). The resulting model provides a general framework for developing prototypes capable of determining when they are in need of adaptive maintenance.>
Daniel E. Cooke, Luqi
COMPSAC1
1993 Possible Effects of the Next Generation Programming Language on the Software Process Model
abstract
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.
Daniel E. Cooke
Int. J. Softw. Eng. Knowl. Eng.1
1992 The management of uncertainty in software development
abstract
There are at least two different kinds of uncertainty in software development. Both are centered around software specification. The first type has to do with the uncertainty as to whether or not a given description is truly a specification of the software to be developed. The second type of uncertainty has to do with the lifetime of a valid specification. Most programs have parts that are a mixture of the two types. A high-level view of both types of uncertainty in specification is presented to explain the problems inherent in software development and maintenance. The view supports the need for prototyping throughout software development and maintenance.>
Luqi, Daniel E. Cooke
COMPSAC2
1992 Logical Development of a Petri Net Deadlock Analysis Program
abstract
If a well-structured concurrent program is represented as a Petri net, it is possible to analyze the network for deadlock. By well-structured concurrent program is meant one in which levels of nesting follow structured programming tenets. Program liveness is defined for a well-structured concurrent program represented as a Pefri net, a Prolog program which will analyze the Petri net for deadlock is presented, and it is proved that the program truly implements the specification of program liveness.>
Daniel E. Cooke
ICTAI1
1992 An Introduction to BagL
abstract
Introduces a compilable program specification language, BagL. BagL is the result of a formal study to ascertain how data/control structure interaction can be abstracted. BagL meets the accepted properties of a 'good' language. BagL maintains a consistent level of abstraction; is extensible, orthogonal, concise, and unambiguous; and addresses software evolutionary issues. A visual interface for the formal BagL language is presented, as well as the syntax and informal semantics of BagL.>
Daniel E. Cooke, Aida Gutierrez
SEKE1
1992 Guest Editor's Introduction
Daniel E. Cooke
Int. J. Softw. Eng. Knowl. Eng.1
1991 AI in multimedia (panel session)
abstract
In this panel session, the following topics are discussed: artificial intelligence in business; artificial intelligence in multimedia; neural networks as a tool for artificial intelligence: software engineering for knowledge-based systems: and artificial intelligence as a solution for software engineering.>
Nikolaos G. Bourbakis, Robin Williams 0001, Forouzan Golshani, Myron Flickner, Ted Laliotis, Sukhan Lee 0001, José G. Delgado-Frias, Dan W. Hammerstrom, Cris Koutsougeras, Gerald G. Pechanek, Benjamin W. Wah, John Yen, Farokh B. Bastani, Tom Cooper, Karan Harbison-Briggs, Rudy Lauber, Alun D. Preece, Imran A. Zualkernan, Wei-Tek Tsai, Daniel E. Cooke, Martin Feather, Stephen Fickas, N. Minsky, Peter G. Selfridge, Douglas Smith
ICTAI20
1991 The correspondence between methods of artificial intelligence and the production and maintenance of evolutionary software
abstract
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.>
C. V. Ramamoorthy, Daniel E. Cooke
ICTAI2
1991 Guest Editor's Introduction: the Impact of Case on Software Development Processes
Daniel E. Cooke
Int. J. Softw. Eng. Knowl. Eng.1
1991 Book Review: "software Conflict: Essays on the Art and Science of Software Engineering"
Daniel E. Cooke
Int. J. Softw. Eng. Knowl. Eng.1
1991 On the Development of a Method to Synthesize Programs from Requirements Specifications
abstract
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 in terms of several languages, beginning with a requirements specification language and ending with a program. Beginning with a generalization of a programming language, this paper follows steps towards the removal of control and data structure information in a problem solution. The effort discussed here would result in the requirements specification language being the final language used in problem solving.
Daniel E. Cooke, Ann Q. Gates
Int. J. Softw. Eng. Knowl. Eng.1
1990 An Introduction To The Recognition of Iterative Structures by a CASE Tool
Ann Q. Gates, Daniel E. Cooke
SEKE2
1990 Formal specifications of resource-deadlock prone petri nets
Daniel E. Cooke
J. Syst. Softw.1
1990 Towards a Formalism to Produce a Programmer Assistant CASE Tool
abstract
A weak specification method important to the area of computer-aided software engineering (CASE) is introduced. The specification language introduced does not require the specification of control flow information. When given a specification consisting of a formula characterizing input constraints of a function and a formula characterizing output constraints, it is possible to synthesize program functions. The synthesis algorithm is guaranteed to find all functions which satisfy the specification. It is shown that when the algorithm is applied to the specifications, it is capable of producing all program structures, including sequences, selections, and iterations. Therefore, the methodology provides for a formal foundation upon which a CASE programmer assistant tool can be built.>
Daniel E. Cooke
IEEE Trans. Knowl. Data Eng.1
1989 Proving Properties of Software Design Methods
Daniel E. Cooke
SEKE1