General Research Interests
John W. Baugh Jr.
North Carolina State University
My research interests are in the area of computer-aided engineering
-- the use of computers to support engineering research, practice,
and education. Although my master's degree and research laboratory
experience are in engineering mechanics, my doctoral studies in
computing have allowed me to work in several major areas of civil
engineering, including structures, transportation, and environmental
engineering. Within these areas my activities have ranged from
independent, single-investigator projects to team projects involving
several disciplines and collaborating organizations. My projects
touch on various facets of problem solving, from theoretical aspects
and formal models to the practical issues of building complete systems
that incorporate state-of-the-art technology.
I characterize what may appear to be broad research interests with a
unifying theme: I enjoy the creative aspects of building mathematical
and computational models that support civil engineering. Some of
these include models for structural optimization and the generation of
alternative designs, which are based on the ideas of mathematical
programming. Others include models for optimizing air quality
control-strategies using genetic algorithms and simulated annealing.
In each application area, I have developed mathematical models as well
as computational approaches for solving them efficiently, e.g.,
through the design and implementation of distributed computer systems.
However, a large part of my modeling efforts, perhaps somewhat
surprisingly, has been applied to the software development endeavor
itself.
Underlying my interests in the software development process is a
general unease with our growing reliance on computer systems and the
vulnerability that comes with it. While there are numerous directions
for improving the process, I have focused on developing and applying
quantitative approaches, building mathematical models of computer
programs the way one builds mathematical models of engineering
systems. It is my belief that ensuring the quality of our
profession's software is a vastly underrepresented area of current
research, and that we and other engineering disciplines are at a
critical juncture in our evolution into a computationally dominated
profession.
1. Formal development methods and data modeling
Computer programs are complex artifacts, and as such the processes by
which they are created can benefit from traditional engineering tools,
including mathematical specification and quantitative analysis.
Research that I have performed in this area has centered on the
development and use of pertinent approaches, notations, and tools for
improving the quality of engineering software systems, both sequential
and concurrent. These improvements are intended to promote the
integration and reuse of software and, more importantly, its
correctness. One motivation for pursuing this line of research is the
profession's increasing dependence on computer solutions and the
impracticality of inspecting every computer result and interpreting
its validity in every situation. Embedded computer systems, which
operate without a human in the loop, are of obvious concern; however,
even systems that simply provide information or advice to human
designers and controllers have well-documented safety concerns. For
instance, in 1979 the Nuclear Regulatory Commission shut down five
nuclear power plants that did not satisfy earthquake standards due to
an error in the software used to design them. My research has also
included the development and use of formal methods in areas other than
software development, e.g., to provide a formal semantics for products
and processes used in the architecture, engineering, and construction
(AEC) industry.
Application areas: sequential and distributed finite element analysis
systems, product and process data modeling in the AEC industry.
References: journal articles
4
5
8
15
16
18,
invited article
2
2. Finite state verification
Verification is the process of proving that computer systems satisfy
certain properties, i.e., a specification. When systems are modeled
with a finite number of states, verification is decidable: an
algorithm exists for proving propositions about them, thereby
automating to some degree the process. Nevertheless, finite state
verification was impractical until the mid 1980s and '90s when several
breakthroughs addressed the so-called "state explosion" problem of
parallel composition. As might be expected of a relatively new area
of study, most case studies have been performed by the researchers
developing the approaches, in this case theoretical computer
scientists. My own studies over the last decade have contributed to
an understanding of the role of finite state verification in practical
applications, as well as approaches that have enabled the verification
of complex systems with as many as 10^19 states. These approaches
have included not only general insights in mathematical modeling, but
specific improvements to the state of the art, including the notion of
observer processes for equivalence-based verification of timed
systems, and the most efficient known algorithm for generating minimal
diagnostic formulas (in a stronger sense than other algorithms) for
bisimulation inequivalent systems. Of particular motivation in my
case studies are embedded control systems, which in many cases are
safety critical in that human lives and physical well-being depend on
them.
Application areas: multiprocessor systems for active structural
control, coordinated traffic signals in an intelligent transportation
system, product and process data modeling for AEC applications, and
distributed finite element analysis systems.
References: journal articles
2
3
4
5
7
8
10
12,
invited article
1
3. Engineering design and optimization
Modern approaches such as simulated annealing and genetic algorithms
have increased the scope of engineering design problems that can
addressed by mathematical optimization. My research in design and
optimization has applications in several areas, and includes the
following types of studies: showing that such approaches are
warranted, i.e., that the application is computationally intractable;
designing and implementing algorithms that make use of high
performance distributed systems; and developing decision support
systems where the intended role of optimization models is to generate
sets of good, alternative designs that provide insight and spur
creativity.
Application areas: vehicle routing and scheduling using simulated
annealing, topological design of structures using integer-linear
programming, and air quality management for control-strategy
optimization using genetic algorithms and simulated annealing.
References: journal articles
1
6
9
4. High performance distributed systems
My interests in distributed systems have focused on improving the
performance of computationally intensive problems in engineering
analysis and design. When I began working in this area in the late
1980s it was not obvious that conventional communication networks
could provide a reasonable infrastructure for a nontrivial set of
engineering applications, and my first implementations were based on
the same operating-system-level primitives that print spoolers and
electronic mailers use. Having now designed and implemented numerous
systems, we have shown that distributed solutions on conventional
hardware can be made practical in the engineering work place. Part of
our success in designing efficient algorithms is due to our
development of simple communication cost models that have enabled us
to predict the performance of different design alternatives. We have
developed algorithms for coarse- to medium-grained applications, and
have performed comprehensive parametric studies of their efficiency.
Analysis application areas: linear-elastic finite element analysis
with direct, iterative, and hybrid equation solvers, and discrete
element modeling at the meso-molecular level.
Design application areas: air quality management for control-strategy
optimization with distributed genetic algorithms, topological design
of structures with a distributed branch-and-bound solver, and vehicle
routing and scheduling using simulated annealing.
References: journal articles
1
4
5
11
13
14
17
Return to the home page of
John Baugh