David S. Wile

dblp:36/293 · also David Wile · DBLP profile ↗
← Back
25ranked-venue papers
12as 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 · 20 · 12 first-authorArtificial intelligence and machine learning · 4Graphics, computer vision, multimedia, augmented reality and games · 4Databases, data management, data science and information retrieval · 1

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.

Software engineering, system software, and programming languages
11 papers
Requirements engineering and software design · 71% Programming languages and type systems · 18% Compilers and program optimization · 8%
Network and information security
1 paper
Systems and software security · 100%
Artificial intelligence
2 papers
Knowledge representation and reasoning · 95% Information extraction and text analysis · 5%

Topics — the 21 heaviest of 28, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design
software architecture
0.122003
Architecture Style-Based Calculi for Non-functional Properties · ASE 2003
AML: An Architecture Meta-Language · ASE 1999
Requirements engineering and software design › software architecture
architectural style
0.012003
Architecture Style-Based Calculi for Non-functional Properties · ASE 2003
Requirements engineering and software design
non-functional property analysis
0.012003
Architecture Style-Based Calculi for Non-functional Properties · ASE 2003
Compilers and program optimization
program transformation
0.031999
International Workshop on Software Transformation Systems (STS'99) · ICSE 1999
Type Transformations · IEEE Trans. Software Eng. 1981
On the Transformational Implementation Approach to Programming · ICSE 1976
Requirements engineering and software design › software architecture › architecture description
architecture description language
0.011999
AML: An Architecture Meta-Language · ASE 1999
Programming languages and type systems › syntax
abstract syntax
0.011997
Abstract Syntax from Concrete Syntax · ICSE 1997
Programming languages and type systems › syntax
concrete syntax
0.011997
Abstract Syntax from Concrete Syntax · ICSE 1997
Programming languages and type systems
language design
0.011997
Abstract Syntax from Concrete Syntax · ICSE 1997
Software maintenance and evolution
refactoring
0.011999
International Workshop on Software Transformation Systems (STS'99) · ICSE 1999
Logic in computer science
temporal logic
0.011999
AML: An Architecture Meta-Language · ASE 1999
Programming languages and type systems
abstract data types
0.011981
Type Transformations · IEEE Trans. Software Eng. 1981
Programming languages and type systems › type systems
type abstraction
0.011981
Type Transformations · IEEE Trans. Software Eng. 1981
Programming languages and type systems
type systems
0.011981
Type Transformations · IEEE Trans. Software Eng. 1981
Programming languages and type systems
program specification
0.021977
Informality in Program Specifications · IJCAI 1977
On the Transformational Implementation Approach to Programming · ICSE 1976
Requirements engineering and software design
formal specification
0.011978
Informality in Program Specifications · IEEE Trans. Software Eng. 1978
Knowledge, reasoning and agents › Knowledge representation and reasoning › knowledge acquisition
domain modeling
0.011977
The Use of a Domain Model in Understanding Informal Process Descriptions · IJCAI 1977
Software maintenance and evolution
program comprehension
0.011977
Meta-Evaluation as a Tool for Program Understanding · IJCAI 1977
Compilers and program optimization › program transformation › program derivation
transformational implementation
0.011976
On the Transformational Implementation Approach to Programming · ICSE 1976
Software maintenance and evolution › software configuration management › software release management
software deployment
0.011981
Application Downloading · ICSE 1981
Empirical software engineering › software engineering research methodology
meta-evaluation
0.011977
Meta-Evaluation as a Tool for Program Understanding · IJCAI 1977
Requirements engineering and software design
specification
0.011977
Informality in Program Specifications · IJCAI 1977

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

k-consistency · 0.1constraint satisfaction techniques · 0.1temporal logic constraints · 0.0induction · 0.0algebraic calculus · 0.0transformations · 0.0reverse engineering · 0.0algebra of data types · 0.0prototype tool · 0.0domain modeling · 0.0context-based completion · 0.0
YearPublicationVenuePosition
2010 Adapting COTS products
abstract
COTS products can play various architectural roles in software systems: as interfaces to problem-specific functionality, as components that provide such functionality itself, and as intermediary connectors and components in more complex systems. In doing so, COTS products impose their own, unique constraints on organization and functionality. Over the last ten years, we have gained considerable experience with adopting, adapting, and living with the limitations of COTS products. Our goal was to adapt the COTS product to make it fit the application rather than adapting the application needs to make them fit the COTS product - thus, in essence, adapting the COTS product without access to its source code or documentation (a unique form of maintenance). We report on a large set of experiences involving eight COTS products and a wide range of COTS-Based Software Systems - most of which were done with and for industrial partners or government agencies. This experience report attempts to both give a feeling for how applications can be augmented with such COTS interfaces and also tries to tease out the specific architectural issues that anyone adapting COTS products is certain to face.
David S. Wile, Robert Balzer, Neil M. Goldman, Marcelo Tallis, Alexander Egyed, Tim Hollebeek
ICSM1
2006 AWDRAT: A Cognitive Middleware System for Information Survivability
Howard E. Shrobe, Robert Laddaga, Robert Balzer, Neil M. Goldman, David S. Wile, Marcelo Tallis, Tim Hollebeek, Alexander Egyed
AAAI5
2006 Support for Managing Design-Time Decisions
abstract
The desirability of maintaining multiple stakeholders' interests during the software design process argues for leaving choices undecided as long as possible. Yet, any form of underspecification, either missing information or undecided choices, must be resolved before automated analysis tools can be used. This paper demonstrates how constraint satisfaction problem solution techniques (CSTs) can be used to automatically reduce the space of choices for ambiguities by incorporating the local effects of constraints, ultimately with more global consequences. As constraints typical of those encountered during the software design process, we use UML consistency and well-formedness rules. It is somewhat surprising that CSTs are suitable for the software modeling domain since the constraints may relate many ambiguities during their evaluation, encountering a well-known problem with CSTs called the k-consistency problem. This paper demonstrates that our CST-based approach is computationally scalable and effective-as evidenced by empirical experiments based on dozens of industrial models
Alexander Egyed, David S. Wile
IEEE Trans. Software Eng.2
2005 Introduction
Wolfgang Emmerich, David S. Wile
Autom. Softw. Eng.2
2005 Introduction
Wolfgang Emmerich, David S. Wile
Autom. Softw. Eng.2
2004 An Externalized Infrastructure for Self-Healing Systems
abstract
Software architecture descriptions can play a wide variety of roles in the software lifecycle, from requirements specification, to logical design, to implementation architectures. In addition, execution architectures can be used both to constrain and enhance the functionality of running systems, e.g. security architectures and debugging architectures. Along with others from DARPA's DASADA program we proposed an execution infrastructure for so-called self-healing, self-adaptive systems - systems that maintain a particular level of healthiness or quality of service (QoS). This externalized infrastructure does not entail any modification of the target system - whose health is to be maintained. It is driven by a reflective model of the target system's operation to determine what aspects can be changed to effect repair. We present that infrastructure along with an example implemented in accord with it.
David S. Wile, Alexander Egyed
WICSA1
2004 Desert Island Reading Assignment
David S. Wile
Autom. Softw. Eng.1
2004 Lessons learned from real DSL experiments
David S. Wile
Sci. Comput. Program.1
2003 Architecture Style-Based Calculi for Non-functional Properties
abstract
Engineers wield various "calculi" to help determine solutions to their problems, calculation tools varying in power from tensile strength tables to the differential calculus. A calculus is normally based on induction over an algebraic structure. Here the author explores how architecture styles can be used to describe such structures. An example calculus based on an "integration" style is presented, which is intended for use as a substyle of other architecture styles. Calculation rules in terms of the architectural elements can be used to compute non-functional attributes of artifacts described in such styles. Naturally, computerized support for calculi will help to automate the tasks of software engineers.
David S. Wile
ASE1
2003 Revealing component properties through architectural styles
David S. Wile
J. Syst. Softw.1
2001 Residual Requirements and Architectural Residue
abstract
Monitoring running systems is a useful technique available to requirements engineers, to ensure that systems meet their requirements and in some cases to ensure that they obey the assumptions under which they were created. This report studies relationships between the original requirements and the monitoring infrastructure. It postulates that the monitored requirements are in fact just compilations of original requirements, called residual requirements. Dynamic architectural models have become important tools for expressing requirements on modem distributed systems. Monitoring residual requirements will be seen to involve architectural residues, skeletal run-time images of the original logical architecture. An example sales support system is used to illustrate the issues involved, employing modest extensions to the Acme architecture description language to reason about architectural dynamism.
David S. Wile
RE1
2001 Statechart Simulator for Modeling Architectural Dynamics
abstract
Software development is a constant endeavor to optimize qualities like performance and robustness while ensuring functional correctness. Architecture Description Languages (ADLs) form a foundation for modeling and analyzing functional and non-functional properties of software systems, but, short of programming, only the simulation of those models can ensure certain desired qualities and functionalities. The paper presents an adaptation to statechart simulation, as pioneered by D. Harel (1987). This extension supports architectural dynamism: the creation, replacement, and destruction of components. We distinguish between design-time dynamism, where system dynamics are statically proscribed (e.g., creation of a predefined component class in response to a trigger), and run-time dynamism, where the system is modified while it is running (e.g., replacement of a faulty component without shutting down the system). Our enhanced simulation language, with over 100 commands, is tool-supported.
Alexander Egyed, David S. Wile
WICSA2
2001 Modeling Architecture Description Languages Using AML
David S. Wile
Autom. Softw. Eng.1
1999 International Workshop on Software Transformation Systems (STS'99)
abstract
No abstract available.
Marcelo Sant'Anna, Julio César Sampaio do Prado Leite, Ira D. Baxter, David S. Wile, Ted J. Biggerstaff, Don S. Batory, Premkumar T. Devanbu, Elizabeth Burd
ICSE4
1999 AML: An Architecture Meta-Language
abstract
The language AML (Architecture Meta-Language) is used to specify the semantics of architecture description languages (ADLs). It is a very primitive language, having declarations for only three constructs: elements, kinds and relationships. Each of these constructs may be constrained via predicates in temporal logic. The essence of AML is the ability to specify structure and to constrain the dynamic evolution of that structure. Dynamic evolution concerns arise with considerable variations in the time scale. One may constrain how a system can evolve by monitoring its development lifecycle. Another approach to such concerns involves limiting the systems' construction primitives to those from appropriate styles. One may wish to constrain what implementations are appropriate; concerns for interface compatibility are then germane. Finally, one may want to constrain the ability of the architecture to be modified as it is running. AML attempts to provide specification constructs that can be used to express all of these constraints without committing to which time scale will be used to enforce them.
David S. Wile
ASE1
1999 Guest Editorial: Introduction to the Special Section "Domain-Specfic Languages (DSL)''
David S. Wile, J. Christopher Ramming
IEEE Trans. Software Eng.1
1997 Abstract Syntax from Concrete Syntax
abstract
Modem Software Engineering practice advocates the development of domain-specific specification languages to characterize formally the idioms of discourse and jargon of specific problem domains.With poorly-understood domains it is best to construct an abstract syntax to characterize the domain concepts and abstractions before developing a concrete syntax.Often, however, a good concrete syntax exists a priori: sometimes in sophisticated formal languages characterizing (often mathematical) domains but more often in miniature, legacy-code languages, sorely in need of reverse engineering.In such cases, it is necessary to derive an appropriate abstract syntax -or its first cousin, an object-oriented model -from the concrete syntax.This report describes a transformation process that produces a good abstract representation from a low-level concrete syntax specification.
David S. Wile
ICSE1
1981 Application Downloading
Robert Balzer, Alvin S. Cooperband, Martin Feather, Philip E. London, David S. Wile
ICSE5
1981 Type Transformations
abstract
Current work on data structure encapsulation and abstraction focuses attention on individual structures and permits separate local optimizations, of these structures. We extend this work by developing the beginnings of an algebra for aggregating individual data types into larger more coordinated structures which can be more effectively optimized. The present work can well be viewed as the data equivalent of cross-procedural optimization. We believe aggregations of pure abstract types are both common and essential in practical programs and that techniques for building and manipulating them must be developed before abstract specification and program transformation can become a practical programming paradigm.
David S. Wile
IEEE Trans. Software Eng.1
1979 A Relational Data Base Foundation for Process Specification
Neil M. Goldman, David S. Wile
ER2
1978 Informality in Program Specifications
abstract
This paper is concerned with the need for computer-based tools which help human designers formulate formal process-oriented specifications. It first determines some attributes of a suitable process-oriented specification language, then examines the reasons why specifications would still be difficult to write in such a language in the absence of formulation tools. The key to overcoming these difficulties seems to be the careful introduction of informality based on partial, rather than complete, descriptions and the use of a computer-based tool that uses context extensively to complete these descnrptions during the process of constructing a well-formed specification. Some results obtained by a running prototype of such a computer-based tool on a few informal example specifications are presented and, finaliy, some of the techniques used by this prototype system are discussed.
Robert Balzer, Neil M. Goldman, David S. Wile
IEEE Trans. Software Eng.3
1977 Informality in Program Specifications
Robert Balzer, Neil M. Goldman, David S. Wile
IJCAI3
1977 Meta-Evaluation as a Tool for Program Understanding
Robert Balzer, Neil M. Goldman, David S. Wile
IJCAI3
1977 The Use of a Domain Model in Understanding Informal Process Descriptions
Neil M. Goldman, Robert Balzer, David S. Wile
IJCAI3
1976 On the Transformational Implementation Approach to Programming
Robert Balzer, Neil M. Goldman, David S. Wile
ICSE3