Knowledge based engineering: Between AI and CAD. Review of a language based technology to support engineering design Gianfranco La Rocca ⇑ Faculty of Aerospace Engineering, Delft University of Technology, Chair of Flight Performance and Propulsion, Kluyverweg 1, 2629HS Delft, The Netherlands a r t i c l e i n f o Article history: Available online 16 March 2012 Keywords: Knowledge based engineering Knowledge engineering Engineering design Generative design Knowledge based design Rule based design a b s t r a c t Knowledge based engineering (KBE) is a relatively young technology with an enormous potential for engineering design applications. Unfortunately the amount of dedicated literature available to date is quite low and dispersed. This has not promoted the diffusion of KBE in the world of industry and acade- mia, neither has it contributed to enhancing the level of understanding of its technological fundamentals. The scope of this paper is to offer a broad technological review of KBE in the attempt to fill the current information gap. The artificial intelligence roots of KBE are briefly discussed and the main differences and similarities with respect to classical knowledge based systems and modern general purpose CAD systems highlighted. The programming approach, which is a distinctive aspect of state-of-the-art KBE systems, is discussed in detail, to illustrate its effectiveness in capturing and re-using engineering knowledge to automate large portions of the design process. The evolution and trends of KBE systems are investigated and, to conclude , a list of recommen datio ns and expec tations for the KBE systems of the future is provided. 2012 Elsevier Ltd. All rights reserved. 1. Introduction Knowledge based engineering (KBE) stands at the cross point ofdiverse fundamental disciplines, such as artificial intelligence (AI), computer aided design (CAD) and computer programming. Though these individual contributing disciplines are widely represented in scientific literature, KBE a s of yet, is n ot. To date, no sc ientific books can be found that are dedicated to this topic. This can be explained by the fact that KBE has been for many years the exclusive domain of a few and highly competitive industries (aerospace and automo- tive in par ticula r) and has not enter ed mai nst ream aca demic research. The limited amount of available information, mainly in form ofpamphl etsfrom KBEvendo rs, has not sti mul ate d the sci entific com- mun ityinter estin KBEas a real eng ineeri ng dis cip lin e. In add iti on,it has alwaysbeen dif ficult to pre cis ely pos ition thi s tec hnology with- in the panorama of scientific research. Is KBE about CAD develop- ment? Or is it about artificial intelligence? Or IT? Eventually, this mix of inh erent amb igu ity and sca rce inf ormati on - pos sib ly encouraged by an inconvenient name: what kind of engineering is not based on knowledge! – has marked the difficult story of KBE to date. At the beginning of 2000, a 20 page booklet entitled AchievingComp etiti ve Adva ntage throu gh Knowl edge -Based Engi neer ing[1] was prepared for the British Department of Trade and Industry, with the stated aim of demystifying the terminology surrounding KBE and to explain how such a technology could be deployed to gain competitive advantage. In the format of a best practice guide, it starts with a very brief and high level description of the funda- mental concepts of KBE, then focuses on the possible impact ofKBE on the busi ness and concl udes with some impleme ntati on and use guidelines. Although acknowledged to be one of the most popular readings on KBE, this document did not offer sufficient technical content to spark the interest of the scientific community. Whilst the strengths and opportunities of usi ng KBE are well highlighted, no detailed information is given about the technology underpinning KBE, neither indications on the sort of activities in- volved in the development of a KBE application. In the same pe riod, two jou rnal pap ers by Cha pma n and Pin fol d were pub lished, offering a much more scientific look at KBE [2,3]. To date they are possibly the two most cited publications in the field of KBE. Yet, the main focus of those papers was on the specific application cases rather than KBE technology. So far, several other design cases claiming and demonstrating the potential of KBE in the field of engineering design have been published in scientific literature [4–10], but, still, almost nothing that focuses just on KBE technology. The purpose of this paper is to fill this gap and offer a review of the technological fundamentals of knowledge based engineering. Although some references and a few examples will be provided, no specific application and valida- tion cases are thoroughly discussed in this paper. 1474-0346/$ - see front matter 2012 Elsevier Ltd. All rights reserved. doi:10.1016/j.aei.2012.02.002 ⇑ Tel.: +31 15 2785384. E-mail address: G.LaRocca@tu delft.nl Advanced Engineering Informatics 26 (2012) 159–179 Contents lists available at SciVerse ScienceDirect Advanced Engineering Informatics journal homepage: www.elsevier.com/locate/aei
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Knowledge based engineering: Between AI and CAD. Review of a language
based technology to support engineering design
Gianfranco La Rocca ⇑
Faculty of Aerospace Engineering, Delft University of Technology, Chair of Flight Performance and Propulsion, Kluyverweg 1, 2629HS Delft, The Netherlands
a r t i c l e i n f o
Article history:Available online 16 March 2012
Keywords:
Knowledge based engineering
Knowledge engineering
Engineering design
Generative design
Knowledge based design
Rule based design
a b s t r a c t
Knowledge based engineering (KBE) is a relatively young technology with an enormous potential forengineering design applications. Unfortunately the amount of dedicated literature available to date is
quite low and dispersed. This has not promoted the diffusion of KBE in the world of industry and acade-
mia, neither has it contributed to enhancing the level of understanding of its technological fundamentals.
The scope of this paper is to offer a broad technological review of KBE in the attempt to fill the current
information gap. The artificial intelligence roots of KBE are briefly discussed and the main differences and
similarities with respect to classical knowledge based systems and modern general purpose CAD systems
highlighted. The programming approach, which is a distinctive aspect of state-of-the-art KBE systems, is
discussed in detail, to illustrate its effectiveness in capturing and re-using engineering knowledge to
automate large portions of the design process. The evolution and trends of KBE systems are investigated
and, to conclude, a list of recommendations and expectations for the KBE systems of the future is
provided.
2012 Elsevier Ltd. All rights reserved.
1. Introduction
Knowledge based engineering (KBE) stands at the cross point of
diverse fundamental disciplines, such as artificial intelligence (AI),
computer aided design (CAD) and computer programming. Though
these individual contributing disciplines are widely represented in
scientific literature, KBE as of yet, is not. To date, no scientific books
can be found that are dedicated to this topic. This can be explained
by the fact that KBE has been for many years the exclusive domain
of a few and highly competitive industries (aerospace and automo-
tive in particular) and has not entered mainstream academic
research.
The limited amount of available information, mainly in form of
pamphletsfrom KBEvendors, has not stimulated the scientific com-
munityinterestin KBEas a real engineering discipline. In addition,ithas alwaysbeen difficult to precisely position this technology with-
in the panorama of scientific research. Is KBE about CAD develop-
ment? Or is it about artificial intelligence? Or IT? Eventually, this
mix of inherent ambiguity and scarce information - possibly
encouraged by an inconvenient name: what kind of engineering is
not based on knowledge! – has marked the difficult story of KBE
to date.
At the beginning of 2000, a 20 page booklet entitled Achieving
Competitive Advantage through Knowledge-Based Engineering [1]
was prepared for the British Department of Trade and Industry,
with the stated aim of demystifying the terminology surrounding
KBE and to explain how such a technology could be deployed to
gain competitive advantage. In the format of a best practice guide,
it starts with a very brief and high level description of the funda-
mental concepts of KBE, then focuses on the possible impact of
KBE on the business and concludes with some implementation
and use guidelines. Although acknowledged to be one of the most
popular readings on KBE, this document did not offer sufficient
technical content to spark the interest of the scientific community.
Whilst the strengths and opportunities of using KBE are well
highlighted, no detailed information is given about the technology
underpinning KBE, neither indications on the sort of activities in-
volved in the development of a KBE application. In the same period,
two journal papers by Chapman and Pinfold were published,offering a much more scientific look at KBE [2,3]. To date they
are possibly the two most cited publications in the field of KBE.
Yet, the main focus of those papers was on the specific application
cases rather than KBE technology.
So far, several other design cases claiming and demonstrating
the potential of KBE in the field of engineering design have been
published in scientific literature [4–10], but, still, almost nothing
that focuses just on KBE technology. The purpose of this paper is
to fill this gap and offer a review of the technological fundamentals
of knowledge based engineering. Although some references and a
few examples will be provided, no specific application and valida-
tion cases are thoroughly discussed in this paper.
1474-0346/$ - see front matter 2012 Elsevier Ltd. All rights reserved.doi:10.1016/j.aei.2012.02.002
eric class-frames, obtained through the assignment of a specific va-
lueset to theframe slots.Class-frames and superclass-frames canbe
defined, where the former are specializations of the first and, as
such, inherit all the slots from the latter. These fundamental OO
mechanisms allow FBSs to model both taxonomies and, since slots
can contain pointers to other frames, part-whole aggregations.
To facilitate quick development of new knowledge based sys-
tems, special software tools, called shells, are available. These tools
provide the basic components of a KB system, such as the knowl-
edge base and the inference engine, without any specific domain
knowledge inside. A shell can be thought as an expert system with
an empty knowledge base and an interface to fill it. The initial ideabehind shells was to reduce or eliminate the need of programming
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Fig. 1. Relative positioning of knowledge based engineering, knowledge engineering and knowledge management. Lists of knowledge technologies involved in the various
phases of the development process of a KBE application for engineering design.
G. La Rocca / Advanced Engineering Informatics 26 (2012) 159–179 161
Lisp languages’ major data structures, and Lisp source code is itself
made up of lists. As a result, Lisp programs can manipulate source
code as a data structure, giving rise to the macroexpansions systems
that allow programmers to create new syntax or even new ‘‘little
languages’’ embedded in Lisp [43]. Although Lisp is by itself a
high-level language, it can be used to build even higher-level layers
of language on top of itself. The results are called embedded lan-
guages and are typically Lisp supersets, of which KBE languages like
IDL and GDL just represent two outstanding examples. The advan-
tage of using a superset is that, whilethe full Lisp language is always
available, new special operators are available to provide the userwith even higher level and user-friendly language constructs.
Actually, the availability of these operators (and associated run-
time machinery) represents the core of the added value of a KBE
language with respect to raw Lisp. An example of the most impor-tant operator is illustrated in detail in section 6.1. Sections 6.2–6.3
discuss other relevant characteristics of KBE languages, which are
partially derived from Common Lisp and the object oriented para-
digm in general. Sections 6.4–6.6 highlight the added value of a
KBE language and illustrate the powerful and distinctive features
that make it much more suitable to support engineering design
than a conventional general purpose programming language.
6.1. KBE operators to define classes and objects hierarchies
Possibly the most relevant operator provided by state-of-the-art
KBE systems is the one used to define classes and objects hierar-
chies.). Mastering the use of this operator, which belongs to the
category of so called ‘‘definers’’, is fundamental for the develop-ment of any KBE application, in almost any of the KBE systems
on the market. As a representative case, the GDL operator called de-
fine-object is discussed here. Indeed, ICAD, AML and Knowledge Fu-
sion (KF) provide very similar versions of the same definer,
although different names and syntax are used4. This outstanding
language similarity is highlighted in Table 2, where the structure
of the ICAD defpart , the Knowledge Fusion defclass, and the AML de-
fine-class are shown as well.
The define-object 5 operator (as well as its aforementioned coun-
terparts) is the basic means to apply the object oriented paradigm
in KBE applications. It allows defining classes, superclasses, objects
and relationships of inheritance, aggregation and association. The
code of a pseudo-KBE application (developed in ICAD) is provided
in Appendix A, where, as example, the defpart operator is used to de-fine the top level architecture of an aircraft and compute some per-
formance characteristics.
The basic syntax is the following: (defineobject name (mixins)
specifications), where:
Table 2
Equivalence table for the class definition macros of IDL, GDL, AML and Knowledge Fusion.
GDL IDL Knowledge Fusion AML
define-object defpart defclass Define-class
Input-slots Inputs Any data typea followed by the behavioral flagb parameter
(plus optional default value)
properties
Input-slot:settable
(or:defaulting)
Default-inputs
computed-slots attributes Specification of several data types, plus an optional behavioral flag
(e.g., lookup, uncached and parameter)computed-slot:settable Modifiable-attributes A data type followed by the behavioral flag modifiable
Tric kle-down-slots Des cendant-attributes All attributes descendant by default
Type Type Class
Objects Parts Child Sub-objects
Hidden-objectsc Pseudo-partsc Class name starts with %c
Functions Methods Functions
a Differently than ICAD and GDL, KF does not support dynamic typing (see Section 6.2). Hence the type of the attribute must always be specified, e.g., number, string and
Boolean.b A behavioral flag might be used to specify the behaviour of an attribute. The flag parameter is used to create a correspondent of the input or input-slot keyword.c These objects will not be visualized in the object tree. When% is used as the first character of an attribute name, such attribute will not be visible from outside the object
definition.
4 The similarity of the three KBE tools mentioned above is not accidental. GDL is the
youngest of the group, but like ICAD, it is based on Common Lisp and can even handle
much of ICAD code syntax through the use of an available preprocessor. Intent!, the
KBE language at the base of UGS Knowledge Fusion, was licensed to Unigraphics (now
Siemens NX) by the Heide Corporation company. Mr. Heide was one of the main
developers of the ICAD system. A more detailed KBE genealogy is shown later in this
paper.5 The name define-object of the GDL operator appears misleading, even contrasting,
for example, with defclass, which is its counterpart in Knowledge Fusion. Indeed this
operator is not used to define objects, but a single class (which turns into objects only
once instantiated). The name can make sense when recalling that a class is actually a‘‘blueprint to define objects’’.
G. La Rocca / Advanced Engineering Informatics 26 (2012) 159–179 165
a couple of days. Without the enabling role of the KBE application,
such a MDO exercise would have taken months.
Whatever the complexity of the design framework wherein the
given KBE module operates, or of the product model itself, the
manner in which KBE enables generative design does not change
substantially. The user must always start creating an instance of
the class at the root of the product tree. To do that, values will have
been assigned to the input attributes of that class, generally via
some kind of input file(s) or, interactively, by means of a user inter-
face. Once the root object has been instantiated, there are two
main options:
1. Forcibly compute all or some of the branches of the product tree
(in a progressive manner, from root to leaves). The attribute val-
ues required for the instantiation of each (sub)branch are auto-
matically evaluated and systematically passed down from
parent to child.
2. Request the product model to return the value of a certain attri-
bute or to generate some output file among the list of outputs
that the KBE application has been developed to accommodate
(such as the bill of materials in the example of Fig. 6). In this
case, the demand driven mechanism automatically triggers
the evaluation of the sole product tree objects and attributes
Fig. 8. Examples of different aircraft configurations and variants, all generated as different instantiations of the same product model, i.e., the Aircraft multi model generator.
Fig. 9. Role of the MMG within the MOB framework for multidisciplinary design optimization of blended wing body aircraft configurations. The MMG generates on demand
dedicated models for a large set of distributed analysis tools, both low and high fidelity, in-house developed and commercial of the shelf.
G. La Rocca / Advanced Engineering Informatics 26 (2012) 159–179 171
that are necessary to satisfy the request. For obvious reasons of
computational efficiency, this latter approach is more common
in practice.
State-of-the-art KBE systems allow the execution of the whole
process (product model instantiation, request submission, execu-
tion and output generation) also in batch mode, i.e., completely
hands-off, which is actually the essence of generative design. Send-
ing batch run requests to the product model can either be done by
a human, or another software tool. The latter case is typical (and
necessary) when the given KBE application operates inside an opti-
mization framework. Fig. 10 shows the operational approach of the
aircraft MMG addressed in Figs. 8 and 9. Both the interactive and
batch mode control are indicated. In the second case, the user will
have to indicate via input file, the list of required outputs among
those offered (see the file on the right, in the input files folder).
Latest generation KBE systems allow delivering applications as
web services on remote servers, according to the Software as a Ser-
vice paradigm. In this case the KBE application is constantly avail-
able on the server and can accept HTTP requests. One example isgiven in [49].
9. On the opportunities of the programming approach and the
long lasting KBE vs. CAD debate
As evident from the previous sections, practicing knowledge
based engineering (not using KBE applications!) is mostly about
programming software applications to enhance the level of auto-
mation in the engineering design process.
In the early years of KBE, the presence of this new breed of tools
for design was creating quite some ‘‘irritation’’ in the CAD develop-
ment area. In particular, the KBE ability to manipulate geometry
was possibly experienced as an attack on the hegemony of CADsystems in the field of engineering design. As Cooper indicates in
Ref. [53], the original KBE systems were indeed created in response
to a lack of capability in CAD systems and, because of this, their
marketing and overall positioning tended to be CAD-oriented6.
Unfortunately, these CAD-like capabilities have often been misused
to create the misconception that KBE systems are ‘‘just CAD systems’’
– of a very inconvenient species – where users are forced to write in
rules with syntax what could be done more easily and intuitively
with the fancy GUI of a true CAD system. For a long time, the imposed
use of the programming approach was used as a major item into the
discredit campaign of CAD vendors against KBE.
It is interesting to observe that, eventually, also CAD developers
have acknowledged the use of a language to be the only way to ful-
fill certain advanced and specific customer needs. In order to pro-
vide users with some design automation capabilities, yet without
spoiling the simplicity of use of the tool, most advanced CAD sys-
tems, nowadays, offer the possibility to record interactive sessions
(click by click), or, even more, to write programmable macros and
make use of function calls to external routines (e.g., written in For-
tran, C, C++ and Visual Basic). However, the results are seldom at
the level of true KBE applications, where the programming ap-proach is native. For example, Visual Basic macros are orders of
magnitude slower than true KBE applications, because they are
interpreted and not compiled [53]. Furthermore, these macros have
a limited reach. The only way to access and manipulate all the fea-
tures of the CAD system typically requires hardcore programming
at API level. By using powerful languages such as C++ fast and effi-
cient pieces of CAD automation code can be written. However, the
programming skills required to perform such CAD systems cust-
omizations are often higher than those required to develop stan-
dard KBE applications, which contradicts the initial claim of CAD
use simplicity.
Fig. 10. Operational approach of an aircraft MMG KBE application and its input/output architecture. Note the possibility to operate it both interactively and in batch mode. In
case of batch operation, the user will have to provide as input also the list of required output files (see the fourth file in the input files folder).
6 In some cases this was evidenced by the name itself, such as the ICAD System.Nevertheless the company that developed the ICAD system has always denied it.
172 G. La Rocca / Advanced Engineering Informatics 26 (2012) 159–179
[1] S. Cooper, I. Fan, G. Li, Achieving competitive advantage through knowledgebased engineering – a best practice guide, in: Department of Trade andIndustry, 2001.
[2] C.B. Chapman,M. Pinfold,Designengineering– a needto rethinkthe solutionusing
knowledge based engineering, Knowledge-Based Systems 12 (1999) 257–267.
[3] C.B. Chapman, M. Pinfold, The application of a knowledge based engineeringapproach to the rapid design and analysis of an automotive structure,Advances in Engineering Software 32 (2001) 903–912.
[4] G. La Rocca, M.J.L. van Tooren, Knowledge-based engineering to supportaircraft multidisciplinary design and optimization, Proceedings of theInstitution of Mechanical Engineering, Part G: Journal of AerospaceEngineering 224 (2010) 1041–1055.
Fig. A2. (Top) UML Class diagram for the ConventionalAircraft class showing inheritance and composition links. (Bottom) Object tree resulting from the instantiation of the
ConventionalAircraft class.
178 G. La Rocca / Advanced Engineering Informatics 26 (2012) 159–179
[5] A. van der Laan, B. Vermeulen, F. van Dalen, Automating the developmentprocess of thermoplastic composite sheet ribs using knowledge basedengineering techniques, in: 26th Congress of International Council of theAeronautical Sciences, Anchorage, Alaska, 2008.
[6] S. Allwright, Technical data management for collaborative multidisciplineoptimisation, in: AIAA Conference on Multidiscipline Optimisation, Seattle, 1996.
[7] D.L. Rondeau, E.A. Peck, A.F. Williams, S.E. Allwright, L.D. Shields, Generativedesign and optimisation of the primary structure for a commercial transportaircraft wing, in: 6th NASA and ISSMO Symposium on MultidisciplinaryAnalysis and Optimization, AIAA, Bellevue, WA, 1996.
[8] D.L. Rondeau, K. Soumilas, The primary structure of commercial transportaircraft wings: rapid generation of finite element models using knowledge-based methods, in: MSC (Ed.), Proceedings of the 1999 Aerospace Users’Conference, MacNeal-Schwendler Corporation, 1999.
[9] J.V. Zweber, H. Kabis, W.W. Follett, N. Ramabadran, Towards and integratedmodeling environment for hypersonic vehicle design and synthesis, in: AIAA/AAAF 11th International Space Planes and Hypersonic Systems andTechnologies Conference, AIAA, Orleans France 2002.
[10] C. Van der Velden, C. Bil, X. Yu, A. Smith, An intelligent system for automaticlayout routing in aerospace design, Innovations in Systems and SoftwareEngineering 3 (2007) 117–128.
[11] N. Milton, Knowledge Technologies, Polimetrica, Monza, IT, 2008.[12] C. McMahon, A. Lowe, S. Culley, Knowledge management in engineering
design: personalization and codification, Journal of Engineering Design 15(2004) 307–325.
[13] G. Shreiber, H. Akkermans, A. Anjewierden, R. de Hoog, N. Shadbolt, W. van deVelde, B. Wielinga, Knowledge Engineering and Management: TheCommonKADS Methodology, MIT Press, Cambridge, MA, 2000.
[14] M. Stokes, Managing Engineering Knowledge – MOKA: Methodology forKnowledge Based Engineering Applications, Professional EngineeringPublishing, London and Bury St. Edmunds, UK, 2001.
[15] R. Brimble, F. Sellini, The MOKA modelling language, in: R. Dieng, O. Corby(Eds.), Knowledge Engineering and Knowledge Management Methods, Models,and Tools, Springer, Berlin/Heidelberg, 2000, pp. 95–120.
[16] P. Sainter, K. Oldham, A. Larkin, A. Murton, R. Brimble, Product knowledgemanagement within knowledge-based engineering systems, in: ASME DesignEngineering Technical Conference, Baltimore, 2000.
[17] N. Milton, Knowledge Acquisition in Practice. A Step-by-step Guide, Springer,London, 2007.
[18] P. Sainter, K. Oldham, A. Larkin, Achieving benefits from Knowledge-BasedEngineering systems in the longer term as well as in the short term, in:International Conference on Concurrent enterprising, Toulouse, 2000.
[19] J. Lovett, A. Ingram, C.N. Bancroft, Knowledge Based Engineering for SMEs – amethodology, Journal of Materials Processing Technology 107 (2000) 384–389.
[20] K. Oldham,S. Kneebone, M. Callot, A. Murton,R. Brimble,Moka – a methodologyand tools Oriented to Knowledge-based engineering applications, in:Conference on Integration in Manufacturing, Göteborg, Sweden, 1998.
[21] G. La Rocca, Knowledge based Engineering techniques to support aircraftdesign and optimization (doctoral dissertation), in: Faculty of AerospaceEngineering, TU Delft, Delft, 2011.
[22] M. Negnevitsky, Artificial Intelligence – A Guide to Intelligent System, seconded, Addison-Wesley, Harlow, England, 2005.
[23] R.S. Engelmore, E. Feigenbaum, Expert systems and artificial intelligence, in:Loyola/WTEC Study, Report, 1993.
[24] M. Minsky,A framework forrepresenting knowledge, in:P.H. Winston(Ed.),ThePsychology of Computer Vision, McGraw-Hill, Newyork, 1975, pp. 211–277.
[25] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen, Object-orientedmodeling and design, Prentice-Hall, Englewood Cliff, New Jersey, 1991.
[26] D. Auty, Object oriented programming systems and frame representations, aninvestigation of programming paradigms, in: NASA (Ed.), Technical Report186084, NASA, 1988.
[27] O. Lassila, Frames or Objects, or Both?, in: AAAI (Ed), 8th AAAI NationalConference on Artificial Intelligence, Object-Oriented Programming in AI,Boston, MA, 1990.
[28] E.H. Shortliffe, MYCIN: Computer-based Medical Consultations, Elsevier Press,New York, 1976.
[29] E.A. Feighenbaum, B.G. Buchanan, J. Lederberg, On generality of problemsolving: a case study using the DENDRAL program, Machine Intelligence 6(1971) 165–190.
[30] R. Duda, J. Gaschnig, P. Hart, Model design in the PROSPECTOR consultantsystem for mineral exploration, Expert Systems in the Microelectronic Age1234 (1979) 153–167.
[31] S. Knudson, KBE history, Available from: http://www.stanleyknutson.com/kbe-history.html .
[32] ICAD, Available from: http://en.wikipedia.org/wiki/ICAD.[33] Rosenfeld’s profile, Available from: http://www.glengaryllc.com/all-team-
profiles/Larry-Rosenfeld.aspx.[34] T. Tomiyama, Intelligent computer-aided design systems: past 20 years and
future 20 years, AI EDAM: artificial intelligence for engineering design,Analysis and Manufacturing 21 (2007).
[35] T. Tomiyama, H. Yoshikawa, Knowledge engineering and CAD – an approach tointelligent CAD for machine design, in: Proceedings of the Graphics and CAD
symposium, Information Processing Society of Japan, Japan, 1983, pp. 223–230.
[36] T. Tomiyama, H. Yoshikawa, Knowledge engineering and CAD, FGCS FutureGeneration Computer System 1 (1985).
[37] J.S. Gero, Knowledge Engineering inComputer-AidedDesign,Amsterdam,1985.[38] J.S. Gero, Expert Systems in Computer-Aided Design, Amsterdam, 1987.[39] Available from: http://en.wikipedia.org/wiki/Knowledge-Based_Engineering,
(last visited on October 2009).[40] P. Graham, Hackers & Painters. Big ideas from the computer age, O’Reilly,
Sebastopol, CA, 2004.[41] D. Weinreb, D. Moon, Flavors: message passing in the Lisp machine, in: MIT
(Ed.), AI memos, 1980.[42] P. Graham, ANSI Common Lisp, Prentice Hall, Englewood Cliffs, New Jersey,
1995.[43] J. Foderaro, LISP: introduction, Communications of the ACM 34 (1991) 27.[44] G. La Rocca, L. Krakers, M.J.L. van Tooren, Development of an ICAD generative
model for blended wing body aircraft design, in: 9th AIAA/ISSMO Symposiumon Multidisciplinary Analysis and Optimisation, Atlanta, GA, 2002.
[45] P. Seibel, Practical Common Lisp, Apress, 2005.[46] D.J. Cooper, G. La Rocca, Knowledge-based techniques for developing
engineering applications in the 21st century, in: 7th AIAA AviationTechnology, Integration and Operations Conference, AIAA, Belfast, NorthernIreland, 2007.
[47] C. Ledermann, P. Ermanni, R. Kelm, Dynamic CAD objects for structuraloptimization in preliminary aircraft design, Aerospace Science and Technology10 (2006) 601–610.
[48] A. van der Laan, Knowledge based engineering support for aircraft componentdesign, in: Faculty of Aerospace Engineering, TU Delft, 2008.
[49] R.E.C. van Dijk, R. d’Ippolito, G. Tosi, G. La Rocca, Multidisciplinary design andoptimization of a plastic injection mold using an integrated design andengineering environment, in: NAFEMS World Congress, Boston, 2011.
[50] G. La Rocca, M.J.L. van Tooren, Enabling distributed multi-disciplinary designof complex products: a knowledge based engineering approach, Journal of Design Research 5 (2007) 333–352.
[51] A. van der Laan, M.J.L. van Tooren, Parametric modeling of movables forstructural analysis, Journal of Aircraft 42 (2005) 1605–1613.
[52] A.J. Morris, G. La Rocca, P. Arendsen, M. Laban, R. Voss, H. Hönlinger, MOB – a
European project on multidisciplinary design optimisation, in: 24th ICASCongress, ICAS, Yokohama, Japan, 2004.
[53] D.J. Cooper, D.F. Smith, A timely knowledge-based engineering platform forcollaborative engineering and multidisciplinary optimization of robustaffordable systems, in: International Lisp Conference 2005, Stanford,Stanford University, 2005.
[54] W.J.C. Verhagen, P. Bermell-Garcia, R.E.C. van Dijk, R. Curran, A critical reviewof knowledge-based engineering: an identification of research challenges,Advanced Engineering Informatics 26 (2012) 5–15.
[55] KBE coupling illustration, in: MOKA Technical Report Deliverable D.3.5, 2000.[56] P.J. McGoey, A Hitch-hikers guide to: knowledge based engineering in
Aerospace (& other industries), in: INCOSE Enchantment Chapter, INCOSE,2011.
[57] N. Milton, G. La Rocca, KBE Systems, in: Sica (Ed.), Knowledge Technologies,Polimetrica, Monza, IT, 2008, pp. 41–59.
[58] G. Booch, J. Rumbaugh, I. Jacobson, Unified Modeling Language User Guide,2nd ed., Addison-Wesley Professional, 2005.
[59] Franz Inc., AllegroGraph RDF Store, Available from: http://www.w3.org/2001/sw/wiki/AllegroGraph, 2011.
[60] A. Payne, R. Issa, Grasshopper primer, Available from: http://www.grasshopper3d.com/ , 2009.
[61] W.C. Regli, X. Hu, M. Atwood, W. Sun, A survey of design rationale systems:approaches, representation, capture and retrieval, Engineering withComputers 16 (2000) 209–235.
G. La Rocca / Advanced Engineering Informatics 26 (2012) 159–179 179