Knowledge-based engineering

From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article is about the use of knowledge-based technology in the CAD domain. For development of expert systems in all domains, see Knowledge engineering.

Knowledge-based engineering (KBE) is the application of knowledge-based systems technology to the domain of manufacturing design and production. The design process is inherently a knowledge-intensive activity, so a great deal of the emphasis for KBE is on the use of knowledge-based technology to support computer-aided design (CAD) however knowledge-based techniques (e.g. knowledge management) can be applied to the entire product lifecycle.

The CAD domain has always been an early adopter of software-engineering techniques used in knowledge-based systems, such as object-orientation and rules. Knowledge-based engineering integrates these technologies with CAD and other traditional engineering software tools.

Benefits of KBE include improved collaboration of the design team due to knowledge management, improved re-use of design artifacts, and automation of major parts of the product lifecycle.[1]

Overview[edit]

KBE is essentially engineering on the basis of knowledge models. A knowledge model uses knowledge representation to represent the artifacts of the design process (as well as the process itself) rather than or in addition to conventional programming and database techniques.

The advantages to using knowledge representation to model industrial engineering tasks and artifacts are:

  • Improved integration. In traditional CAD and industrial systems each application often has its own slightly different model. Having a standardized knowledge model makes integration easier across different systems and applications.
  • More re-use. A knowledge model facilitates storing and tagging design artifacts so that they can easily be found again and re-used. Also, knowledge models are themselves more re-usable by virtue of using formalism such as IS-A relations (classes and subclasses in the object-oriented paradigm). With subclassing it can be very easy to create new types of artifacts and processes by starting with an existing class and adding a new subclass that inherits all the default properties and behaviors of it's parents and then can be adapted as needed.
  • Better maintenance. Class hierarchies not only facilitate re-use they also facilitate maintenance of systems. By having one definition of a class that is shared by multiple systems, issues of change control and consistency are greatly simplified.
  • More automation. Expert system rules can capture and automate decision making that is left to human experts with most conventional systems.

KBE can have a wide scope that covers the full range of activities related to Product Lifecycle Management and Multidisciplinary design optimization. KBE's scope includes design, analysis (computer-aided engineering – CAE), manufacturing, and support. In this inclusive role, KBE has to cover a large multi-disciplinary role related to many computer-aided technologies (CAx).[2]

There are two primary ways that KBE can be implemented:

  1. Build knowledge models from the ground up using knowledge-based technology
  2. Layer knowledge-based technology on top of existing CAD, simulation, and other engineering applications

An early example of the first approach was the Simkit tool developed by Intellicorp in the 1980s. Simkit was developed on top of Intellicorp's Knowledge Engineering Environment (KEE). KEE was a very powerful knowledge-based systems development environment. KEE started on Lisp and added frames, objects, and rules, as well as powerful additional tools, such as hypothetical reasoning and truth maintenance. Simkit added stochastic simulation capabilities to the KEE environment. These capabilities included an event model, random distribution generators, simulation visualization, and more. The Simkit tool was an early example of KBE. It could define a simulation in terms of class models and rules and then run the simulation as a conventional simulation would. Along the way, the simulation could continue to invoke rules, demons, and object methods, providing the potential for much richer simulation as well as analysis than conventional simulation tools.

One of the issues that Simkit faced was a common issue for most early KBE systems developed with this method: The Lisp knowledge-based environments provide very powerful knowledge representation and reasoning capabilities; however, they did so at the cost of massive requirements for memory and processing that stretched the limits of the computers of the time. Simkit could run simulations with thousands of objects and do very sophisticated analysis on those objects. However, industrial simulations often required tens or hundreds of thousands of objects, and Simkit had difficulty scaling up to such levels.[3] A modern, sustainable example of this first approach, building on a knowlege-based environment from the ground up, is Genworks GDL,[4] built on the open-source Gendl Project [5]

The second alternative to developing KBE is illustrated by the CATIA product suite. CATIA started with products for CAD and other traditional industrial engineering applications and added knowledge-based capabilities on to them; for example, their KnowledgeWare module.[6]

History[edit]

KBE developed in the 1980s. It was part of the initial wave of investment in Artificial Intelligence for business that fueled expert systems. Like expert systems, it relied on what at the time were leading edge advances in corporate information technology such as PCs, workstations, and client-server architectures. These same technologies were also facilitating the growth of CAx and CAD software. CAD tended to drive leading edge technologies and even push them past their current limits.[7] The best example of this was object-oriented programming and database technology, which were adapted by CAD when most corporate information technology shops were dominated by relational databases and procedural programming.[8]

As with expert systems, KBE suffered a downturn during the AI Winter.[9] Also, as with expert systems and artificial intelligence technology in general, there was renewed interest with the Internet. In the case of KBE, the interest was perhaps strongest in the business to business type of electronic commerce and technologies that facilitate the definition of industry standard vocabularies and ontologies for manufactured products.

The semantic web is the vision of Tim Berners Lee for the next generation of the Internet. This will be a knowledge-based Internet built on ontologies, objects, and frame technologies that were also enabling technologies for KBE. Important technologies for the semantic web are XML, RDF, and OWL.[10] The semantic web has excellent potential for KBE, and KBE ontologies and projects are a strong area for current research.[11]

KBE and product lifecycle management[edit]

Product Lifecycle Management (PLM) is the management of the manufacturing process of any industry that produces goods. It can span the full product lifecycle from idea generation to implementation, delivery, and disposal. KBE at this level will deal with product issues of a more generic nature than it will with CAx. A natural area of emphasis is on the production process; however, lifecycle management can cover many more issues such as business planning, marketing, etc. An advantage of using KBE is to get the automated reasoning and knowledge management services of a knowledge-based environment integrated with the many diverse but related needs of lifecycle management. KBE supports the decision processes involved with configuration, trades, control, management, and a number of other areas, such as optimization.

KBE and CAx[edit]

CAx refers to the domain of computer-aided tools for analysis and design. CAx spans multiple domains. Examples are computer-aided design of manufactured parts, software, the architecture of buildings, etc. Although each specific domain of CAx will have very different kinds of problems and artifacts, they all share common issues as well such as having to manage collaboration of sophisticated knowledge workers, design and re-use of complex artifacts, etc.

Essentially KBE extends, builds on, and integrates with the CAx domain typically referred to as Computer Aided Design (CAD). In this sense KBE is analogous to Knowledge-Based Software Engineering, which extended the domain of Computer Aided Software Engineering with knowledge-based tools and technology. What KBSE was to software and CASE, KBE is to manufactured products and CAD.

KBE and knowledge management[edit]

One of the most important knowledge-based technologies for KBE is knowledge management. Knowledge management tools support a wide spectrum repository, i.e., a repository that can support all different types of work artifacts: informal drawings and notes, large database tables, multimedia and hypertext objects, etc. Knowledge management provides the various group support tools to help diverse stake holders collaborate on the design and implementation of products. It also provides tools to automate the design process (e.g., rules) and to facilitate re-use.[12]

KBE methodology[edit]

The development of KBE applications concerns the requirements to identify, capture, structure, formalize, and finally implement knowledge. Many different so-called KBE platforms support only the implementation step, which is not always the main bottleneck in the KBE development process. In order to limit the risk associated with the development and maintenance of KBE application, there is a need to rely on an appropriate methodology for managing the knowledge and maintaining it up to date. As example of such KBE methodology, the EU project MOKA, "Methodology and tools Oriented to Knowledge based Applications," proposes solutions which focus on the structuring and formalization steps as well as links to the implementation.[13]

An alternative to MOKA is to use general knowledge engineering methods that have been developed for expert systems across all industries [14] or to use general software development methodologies such as the Rational Unified Process or Agile methods.

Languages for KBE[edit]

Two critical issues for the languages and formalisms used for KBE are:

  • Knowledge-based vs. procedural programming
  • Standardization vs. proprietary

Knowledge-based vs. procedural programming[edit]

A fundamental trade-off identified with knowledge representation in artificial intelligence is between expressive power and computability. As Levesque demonstrated in his classic paper on the topic, the more powerful a knowledge-representation formalism one designs, the closer the formalism will come to the expressive power of first order logic. As Levesque also demonstrated, the closer a language is to First Order Logic, the more probable that it will allow expressions that are undecidable or require exponential processing power to complete.[15] In the implementation of KBE systems, this trade off is reflected in the choice to use powerful knowledge-based environments or more conventional procedural and object-oriented programming environments.

Standardization vs. proprietary[edit]

There is a trade off between using standards such as STEM and vendor- or business-specific proprietary languages. Standardization facilitates knowledge sharing, integration, and re-use. Proprietary formats (such as CATIA) can provide competitive advantage and powerful features beyond current standardization.[16]

Genworks GDL, a commercial product whose core is based on the AGPL-licensed Gendl Project,[17] addresses the issue of application longevity by providing a high-level declarative language kernel which is a superset of a standard dialect of the Lisp programming language (ANSI Common Lisp, or CL). Gendl/GDL itself is proposed as a de facto standard[18] for ANSI CL-based KBE languages.

In 2006, the Object Management Group released a KBE services RFP document and requested feedback.[19] To date, no OMG specification for KBE exists; however, there is an OMG standard for CAD services.[20]

An example of a system-independent language for the development of machine-readable ontologies that is in the KBE domain is Gellish English.

KBE in Academia[edit]

Implementations[edit]

The following KBE development packages are commercially available:

For CAD[edit]

For General-purpose development of Web-deployed applications[edit]

For analysis, design and engineering processes[edit]

KBE's Future[edit]

Galrtner Hype Cycle

KBE is a good example of the Gartner hype curve of emerging technologies.[21] For KBE, the trigger was expert system and frame-based languages transitioning from the academic to the business world in the 1980s. The peak of disillusionment set in at about the same time as the AI Winter, and for many of the same reasons, the Lisp-based environments of the time were resource intensive, non-standard, and not embraced by many corporate IT shops.

Happily, the Lisp-based environments of today are based on mature standards (e.g. ANSI Common Lisp) and enjoy a wide range of commercial and open-source implementations with excellent performance on today's hardware. Married with the Quicklisp curated library manager and de facto standard KBE language kernels, Lisp-based KBE is beginning the ascent to the plateau of productivity.

Emerging standards for data interchange and ontologies such as XML, RDF, and OWL may also play into the future of KBE. In addition to the classical Lisp-based technologies, these technologies may allow KBE capabilities to integrate or interface with Enterprise Resource Planning systems such as SAP[22] and Oracle. An example of such an integrated environment, where KBE is one part of a complete process automation environment, is the iProd system.[23]

See also[edit]

References[edit]

  1. ^ "Knowledge Based Engineering". http://www.technosoft.com. Technosoft. Retrieved 5 July 2014. 
  2. ^ Prasad, Brian. "What Distinguishes KBE from Automation". coe.org. Archived from the original on 24 March 2012. Retrieved 3 July 2014. 
  3. ^ Drummond, Brian; Marilyn Stelzner (1989). "Simkit: A Model Building Simulation Toolkit". In Mark Richer. AI Tools and Techniques. Ablex. pp. 241–260. ISBN 0-89391-494-0. Retrieved 6 July 2014. 
  4. ^ "Genworks GDL". 
  5. ^ "The Gendl Project". 
  6. ^ "What Is CATIA?". http://www.firstratemold.com. firstratemold. Retrieved 6 July 2014. 
  7. ^ Switlik, John (October–November 2005). "Knowledge Based Engineering (KBE): Update". coe.org. COE. Archived from the original on 24 March 2012. Retrieved 6 July 2014. 
  8. ^ Spooner, David (1991). "Towards an Object-Oriented Data Model for a Mechanical CAD Database System". On Object-Oriented Database Systems Topics in Information Systems: 189–205. Retrieved 6 July 2014. 
  9. ^ "AI Winter". http://www.ainewsletter.com. ainewsletter. Retrieved 6 July 2014. "the AI Winter of the late 80s. The phrase was coined by analogy with "nuclear winter" - the theory that mass use of nuclear weapons would blot out the sun with smoke and dust, causing plunging global temperatures, a frozen Earth, and the extinction of humanity. The AI Winter merely caused the extinction of AI companies, partly because of the hype over expert systems and the disillusionment caused when business discovered their limitations." 
  10. ^ Berners-Lee, Tim; Hendler, James; Lassila, Ora (May 17, 2001). "The Semantic Web A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities". Scientific American. 
  11. ^ Zhang, W.Y.; Yun, J.W. (April 2008). "Exploring Semantic Web technologies for ontology-based modeling in collaborative engineering design". The International Journal of Advanced Manufacturing Technology 36 (9-10): 833–843. Retrieved 6 July 2014. 
  12. ^ Sainter, P (September 10–13, 2000). "PRODUCT KNOWLEDGE MANAGEMENT WITHIN KNOWLEDGE-BASEDENGINEERING SYSTEMS". Proceedings of DETC’00ASME 2000 Design Engineering Technical ConferenceAnd Computers and Information in Engineering Conference (Baltimore, Maryland: ASME). Retrieved 4 July 2014. 
  13. ^ "MOKA: A Framework for Structuring and Representing Engineering Knowledge". web.archive.org. Esprit Project. Archived from the original on 22 April 2004. Retrieved 5 July 2014. 
  14. ^ Kendal, S.L.; Creen, M. (2007), An introduction to knowledge engineering, London: Springer, ISBN 978-1-84628-475-5, OCLC 70987401 
  15. ^ Levesque, Hector; Ronald Brachman (1985). "A Fundamental Tradeoff in Knowledge Representation and Reasoning". In Ronald Brachman and Hector J. Levesque. Reading in Knowledge Representation. Morgan Kaufmann. p. 49. ISBN 0-934613-01-X. "The good news in reducing KR service to theorem proving is that we now have a very clear, very specific notion of what the KR system should do; the bad new is that it is also clear that the services can not be provided... deciding whether or not a sentence in FOL is a theorem... is unsolvable." 
  16. ^ Wilson, Walter. "A Language For Engineering Design". http://step.nasa.gov. Lockheed Martin. Retrieved 4 July 2014. 
  17. ^ "Genworks". http://www.genworks.com. Retrieved 4 July 2014. 
  18. ^ "GDL Language Specification". 
  19. ^ "KBE Services for PLM RFP". omg.org. Object Management Group. 2006. Retrieved 4 July 2014. 
  20. ^ "Computer Aided Design Services Specification". omg.org. Object Management Group. January 2005. Retrieved 4 July 2014. 
  21. ^ "Methodologies Hype Cycle". gartner.com. Gartner Group. Retrieved 6 July 2014. 
  22. ^ Huelson, Nadine (May 7, 2014). "Why Process Industries need a secret sauce for product development". sap.com. Retrieved 7 July 2014. "In the past, much of the process industries has been characterized by an exploitive use of natural resources, often taking insufficient account of the environmental consequences. Today, however, there is widespread recognition of the need to adopt cleaner, sustainable practices by switching from a resource-intensive to a knowledge-based approach." 
  23. ^ "Iprod Integration". http://www.iprod-project.eu. Retrieved 7 July 2014. 

External links[edit]