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