Knowledge based engineering: Between AI and CAD. Review of a language based technology to support engineering design

https://doi.org/10.1016/j.aei.2012.02.002Get rights and content

Abstract

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 academia, 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.

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 automotive in particular) and has not entered mainstream academic research.

The limited amount of available information, mainly in form of pamphlets from KBE vendors, has not stimulated the scientific community interest in KBE as a real engineering discipline. In addition, it has always been difficult to precisely position this technology within the panorama of scientific research. Is KBE about CAD development? 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 fundamental 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 involved 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], [5], [6], [7], [8], [9], [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 validation cases are thoroughly discussed in this paper.

Knowledge based engineering technology can be positioned in the group of so called knowledge technologies. In Ref. [11], Milton makes used of this term to address “a set of new computer-based techniques and tools that provide a richer and more intelligent use of information technology”. The power of knowledge technologies comes from the way they combine ideas and applications from a surprising broad and heterogeneous set of fields, including psychology, philosophy, artificial intelligence, engineering, business management, computer science and web technologies. The common denominator of knowledge technologies is their focus on knowledge and its management: for example, how to identify relevant knowledge in an organization; how to capture and formalize it for more efficient reuse; how to represent and store it to improve access, maintenance and transfer; how to embed it in computer systems to provide benefit. The development of computer systems that help engineers to increase the efficiency of their work by enhancing the level of automation in the design process, is definitely the area of interest of KBE. Knowledge capture, representation, retrieval, as well as knowledge coding and inference are some aspects which are definitely related to KBE and the development of KBE applications; however they fall in the focus areas of other contiguous disciplines, such as knowledge engineering and knowledge management.

The boundaries and categorizations of these disciplines and their relative (knowledge) technologies are quite fuzzy and subjective. In Ref.[12], McMahon et al. position KBE in the field of knowledge management, together with other knowledge technologies, such as data mining and ontology engineering, as well as with those technologies for computer-supported collaborative work that range from email to desktop sharing systems and video conferencing. Within the Airbus company, one of the pioneering organizations in the adoption of KBE, and, similarly, inside the Dutch aerospace companies Fokker Elmo and Fokker Aerostructures, KBE is considered one technology in the broader field of knowledge engineering.

According to the typical methodological approach to practice KBE, before starting with the development of any KBE application, it is required to proceed, first, with the identification, then the acquisition and, finally, the codification of the relevant knowledge that will have to be embedded in the KBE application itself. Once developed, the given KBE application will be deployed, typically as part of a broader and heterogeneous engineering design framework, where it will be integrated with other computer aided engineering tools by means of some workflow management system. Already in this oversimplified description of the development and deployment process of a KBE application, it appears that the interest areas of KBE, Knowledge Engineering and knowledge management intersect, complement and specialize each other. While in the KBE area, the focus is on the technical development of the KBE application, in the knowledge engineering area, the emphasis is on the acquisition and codification of knowledge. Within the knowledge management area the attention is on the overall goal of nurturing and supporting initiatives that can enable a more efficient and effective use of the knowledge assets in the organization. In each of the three areas, specific tools and (knowledge) technologies are developed and brought in use. A graphical representation of this context is attempted in Fig. 1.

Aspects not strictly related to KBE and its technological fundamentals will not be treated further in this paper. However, the reader is referred to the work of Shreiber et al. [13] to learn more about methodologies to support the development of generic knowledge based systems. The reader interested in the development of methodologies specific for KBE systems, is advised to refer to the work generated in the framework of the MOKA project [14], [15], [16]. An overview on a broad set of knowledge technologies can be found in Ref. [11]. Here, apart from KBE, a friendly introduction is provided to semantic technologies and ontology languages to codify and exchange knowledge, such as KIF (knowledge interchange format), RDF (resource description framework) and OWL (ontology web language). Ref. [17] offers a step-to-step guide to knowledge acquisition, which falls outside the area of KBE, but represents an essential step toward the development of any KBE application.

In synthesis, this paper is not going to discuss when KBE should be used, who should use it (further interesting readings in Ref.[18], [19], [20]), and how it should be used, but it will focus on what KBE is and what developing a KBE application is about, where KBE is coming from, and, to conclude, where KBE is and should be going.

To achieve these aims, the paper is structured as follows. To begin, a comprehensive definition of knowledge based engineering is provided in Section 2. In Sections 3–4 the origins of KBE are investigated. The similarities and main differences with its AI ancestors are then discussed in Section 5. Section 6 represents the main body of the paper and deals with the programming approach of KBE. Indeed, the use of a programming language is the main characteristic of state-of-the-art KBE systems. The typical nature and main features of KBE languages are covered in detail. Sections 7–8 provide a categorization of the design rules that can be manipulated in a KBE system to perform generative design. Section 9 collects some reflections on the convenience of the programming language approach to support engineering design and the relative positioning of KBE and CAD in the engineering design process. Section 10 describes the evolution and the current trends in KBE technology, thereby covering the major advances in the field since the time of the first best practice guide mentioned above. Section 11 provides a number of conclusions, together with a list of recommendations and expectations for the future development of KBE.

Section snippets

Knowledge based engineering: a definition

Various definitions of knowledge based engineering can be found in literature, which typically reflect the different views held by differing KBE stakeholders. A company manager can see KBE as a technology asset to compress product development time and cut engineering costs. A KBE developer, i.e. the user of a KBE system for the development of KBE applications, sees it as a refined type of software development tool incorporating aspects of object oriented (OO) and functional programming.

The AI roots of knowledge based engineering

KBE is not a novel and revolutionary product from the world of computer science, but has strong roots in the field of artificial intelligence, particularly in the knowledge based systems (KBSs) technology of the 1970s.

Knowledge based systems (or expert systems) are computer applications that use stored knowledge for solving problems in a specific domain [22], [23]. Similarly to a human expert, a KBS makes use of some kind of reasoning mechanism, the so called inference mechanism, to derive an

Knowledge based systems + engineering = knowledge based engineering systems

Since the early 1970s, KBSs began penetrating the market of software applications, addressing problems of various complexity from different knowledge domains. “Help-on-line”, planning/scheduling systems and diagnostic tools represent just some of the commodity KBSs of daily use [11], [23], [28], [29], [30]. However, KBSs did not truly have an impact on the field of engineering design, including here aerospace, automotive and all those areas generally concerned with the development of complex

KBE systems (dis)similarities with conventional expert systems. The programming approach

In order to practice knowledge based engineering, specific software tools, called KBE systems or KBE platforms, are normally required (see KBE definition in section 2). A KBE developer uses a KBE system to build so called KBE applications: dedicated programs to solve specific problems, typically, but not necessarily, related to modeling and configuring hardware products, both in terms of geometry and metadata. ICAD

Main characteristics of KBE languages

State-of-the-art KBE systems generally provide user with a programming language that supports the object oriented paradigm. As it happens, KBE languages are very often based on object oriented dialects of the Lisp programming language:

  • IDL, the ICAD Design Language, is based on a pre-ANSI Common Lisp version, with Flavors object system (an early object oriented extension to Lisp, developed at the MIT Artificial Intelligence Laboratory [41]).

  • GDL, the General-purpose Declarative Language of

The rules of knowledge based engineering

In KBE parlance, all the possible expressions used to define attributes (slots), specify the number and type of objects, communicate with external tools, and so on, are addressed with the generic term of rules (or engineering rules). For this reason, KBE is often addressed as a technology to perform rule based design. There is nothing wrong with this description of KBE, so long as the fundamental difference with conventional rule based systems is acknowledged, where all rules are of the type

KBE product models for generative design

As anticipated in section 6.1, the so-called KBE product model represents the core and essence of any KBE application. It consists of a structured and dynamic network of classes, where both product and process knowledge, both geometry-related and non-geometry related, are modeled using a broad typology of rules.

A product model is a generic representation of the type of product for which the KBE application has been created, thereby it is also addressed as metamodel. It is not made up of fixed

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 automation 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 development area. In particular, the KBE ability to manipulate geometry was possibly experienced as an attack on the hegemony of CAD systems in

Evolution and trends of KBE technology

As KBE systems grew and became full general-purpose programming environments, clearly they fell into a category different from CAD systems. Unfortunately, the association in the marketplace with “plain old” CAD has persisted for many years and severely limited the market penetration of KBE.

The first commercial KBE system arrived on the market in the 1980s; however, KBE technology has only started to be used seriously during the last 10–15 years. Notwithstanding its huge potential, KBE was not

Conclusions, recommendations & expectations

This paper has provided an extensive review of knowledge based engineering, with the main purpose of increasing the level of understanding of its technology fundaments. The AI roots of KBE have been discussed to highlight the commonalities as well as the added value of KBE with respect to conventional knowledge based systems, in the context of engineering design. The programming approach of KBE systems and the salient characteristics of KBE languages have also been discussed in detail. A

References (61)

  • J.V. Zweber, H. Kabis, W.W. Follett, N. Ramabadran, Towards and integrated modeling environment for hypersonic vehicle...
  • C. Van der Velden et al.

    An intelligent system for automatic layout routing in aerospace design

    Innovations in Systems and Software Engineering

    (2007)
  • N. Milton

    Knowledge Technologies

    (2008)
  • C. McMahon et al.

    Knowledge management in engineering design: personalization and codification

    Journal of Engineering Design

    (2004)
  • G. Shreiber et al.

    Knowledge Engineering and Management: The CommonKADS Methodology

    (2000)
  • M. Stokes

    Managing Engineering Knowledge – MOKA: Methodology for Knowledge Based Engineering Applications

    (2001)
  • R. Brimble et al.

    The MOKA modelling language

  • P. Sainter, K. Oldham, A. Larkin, A. Murton, R. Brimble, Product knowledge management within knowledge-based...
  • N. Milton

    Knowledge Acquisition in Practice. A Step-by-step Guide

    (2007)
  • P. Sainter, K. Oldham, A. Larkin, Achieving benefits from Knowledge-Based Engineering systems in the longer term as...
  • J. Lovett et al.

    Knowledge Based Engineering for SMEs – a methodology

    Journal of Materials Processing Technology

    (2000)
  • K. Oldham, S. Kneebone, M. Callot, A. Murton, R. Brimble, Moka – a methodology and tools Oriented to Knowledge-based...
  • G. La Rocca, Knowledge based Engineering techniques to support aircraft design and optimization (doctoral...
  • M. Negnevitsky

    Artificial Intelligence – A Guide to Intelligent System, second ed

    (2005)
  • R.S. Engelmore, E. Feigenbaum, Expert systems and artificial intelligence, in: Loyola/WTEC Study, Report,...
  • M. Minsky

    A framework for representing knowledge

  • J. Rumbaugh et al.

    Object-oriented modeling and design

    (1991)
  • D. Auty

    Object oriented programming systems and frame representations, an investigation of programming paradigms

  • O. Lassila

    Frames or Objects, or Both?

  • E.H. Shortliffe

    MYCIN: Computer-based Medical Consultations

    (1976)
  • Cited by (285)

    View all citing articles on Scopus
    View full text