Knowledge-based Techniques for Developing Engineering Applications in the 21st Century Dave Cooper * Genworks International, Bloomfield Hills, Michigan, 48302, USA Gianfranco LaRocca Delft University of Technology, Delft, The Netherlands Since the 1980s, Knowledge-Based Engineering (KBE) technology has been used to capture and automate design and engineering in industries such as aircraft and automobiles. The fundamental properties of a KBE system include automatic caching and dependency tracking for scalable runtime performance of large models, minimal source code volume, and efficient model development and debugging. The GDL platform from Genworks International represents a “next generation” KBE toolkit, providing all the benefits that matter from the legacy “pioneer” systems, as well as the broader benefits of: Portable web-based development and runtime environments; compatibility with contemporary CAD and other data exchange formats; independence from proprietary CAD systems; and robust underlying commercial components (Allegro CL and SMLib surface/solid modeling). This paper will provide an overview of the fundamental features of KBE, using GDL as a concrete modern example, and explore a sample GDL application which models airfoil shapes for use in aircraft and wind turbine design. I. Introduction I.A. Definition Knowledge-based Engineering (KBE) may be described as “engineering on the basis of electronic knowledge models.” 1 The early off-the-shelf KBE systems resulted from the synthesis of formal KB-style modeling languages with the core geometry algorithms of Computer-aided Design (CAD) systems. Today, a state-of-the-art KBE system will provide the user with a modeling language which is functional, declarative, object-oriented, and typically will be embedded in a standardized Lisp a dialect, such as the Common Lisp Object System (CLOS) b . KBE can therefore be defined 2 as the use of dedicated software language tools (i.e. KBE systems) in order to capture and reuse product and process engineering knowledge in a convenient and maintainable fashion. This knowledge includes, but is by no means limited to, the programmed “recipes” for producing detailed surface and solid geometry related to the products and processes. The ultimate objective of KBE is to reduce the time and cost of product development by: In particular, automating repetitive, non-creative design tasks. This is achieved by Instantiating (cre- ating particular manifestations of) the KBE models, and using them to generate output such as 2D and 3D geometry, typeset reports, and other arbitrary computed datasets. * Head, Product Development, david.cooper@genworks.com, AIAA Member. Ph.D. Student, Aerospace Engineering, Kluyverweg 1, 2629HS Delft, The Netherlands, AIAA Member. a Lisp, or “List Processing,” programs can manipulate source code as a native data structure, giving rise to macroexpansion capabilities (“macro” systems) that allow tool developers to create new syntax or even new Domain-Specific Languages (DSLs) which still retain all the features of the base Lisp (i.e. supersets of the Lisp). In this way macros and macro-based DSLs can and have been developed, to provide users with extremely powerful, and above all user-friendly, language constructs to use as tools for representing KBE models. b ANSI standard X3.226-1994 1 of 22 American Institute of Aeronautics and Astronautics 7th AIAA Aviation Technology, Integration and Operations Conference (ATIO) 18 - 20 September 2007, Belfast, Northern Ireland AIAA 2007-7711 Copyright © 2007 by Dave Cooper. Published by the American Institute of Aeronautics and Astronautics, Inc., with permission.