Le domaine de la CAO a toujours été parmi les premiers à adopter les techniques de génie logiciel utilisées dans les systèmes à base de connaissances, telles que l'orientation objet et les règles . L'ingénierie à base de connaissances intègre ces technologies à la CAO et à d'autres outils logiciels d'ingénierie traditionnels.
Les avantages de l'ingénierie basée sur les connaissances (KBE) comprennent une meilleure collaboration de l'équipe de conception grâce à la gestion des connaissances, une meilleure réutilisation des artefacts de conception et l'automatisation de parties importantes du cycle de vie du produit.
modèles de connaissances . Un modèle de connaissances utilise la représentation des connaissances pour représenter les artefacts du processus de conception (ainsi que le processus lui-même), soit en remplacement, soit en complément des techniques de programmation et de bases de données conventionnelles.Les avantages de l'utilisation de la représentation des connaissances pour modéliser les tâches et les artefacts du génie industriel sont les suivants :
- Intégration améliorée. Dans les systèmes de CAO et industriels traditionnels, chaque application possède souvent son propre modèle, légèrement différent. Un modèle de connaissances standardisé facilite l'intégration entre les différents systèmes et applications.
- Réutilisation accrue. Un modèle de connaissances facilite le stockage et l'étiquetage des artefacts de conception, permettant ainsi de les retrouver et de les réutiliser aisément. De plus, les modèles de connaissances sont eux-mêmes plus réutilisables grâce à l'utilisation de formalismes tels que les relations « est un » (classes et sous-classes dans le paradigme orienté objet). L'héritage permet de créer facilement de nouveaux types d'artefacts et de processus en partant d'une classe existante et en ajoutant une nouvelle sous-classe qui hérite de toutes les propriétés et comportements par défaut de sa classe parente, puis peut être adaptée selon les besoins.
- Maintenance améliorée. Les hiérarchies de classes facilitent non seulement la réutilisation, mais aussi la maintenance des systèmes. Une définition unique des classes, partagée par plusieurs systèmes, simplifie considérablement la gestion des modifications et la cohérence.
- Plus d'automatisation. Les règles des systèmes experts peuvent capturer et automatiser la prise de décision qui, dans la plupart des systèmes conventionnels, est laissée aux experts humains.
L’ingénierie des connaissances ( KBE) peut avoir un large champ d’application couvrant l’ensemble des activités liées à la gestion du cycle de vie des produits et à l’optimisation de la conception multidisciplinaire . Ce champ d’application inclut la conception, l’analyse ( ingénierie assistée par ordinateur – IAO), la fabrication et le support. Dans ce rôle global, la KBE doit assumer une fonction multidisciplinaire importante liée à de nombreuses technologies d’ingénierie assistée par ordinateur ( IAO ).
Il existe deux principales manières de mettre en œuvre l'ingénierie basée sur les connaissances (KBE) :
- Construisez des modèles de connaissances à partir de zéro en utilisant une technologie basée sur la connaissance
- Superposer une technologie basée sur la connaissance aux applications de CAO, de simulation et autres applications d'ingénierie existantes
Un exemple précoce de cette première approche est l'outil Simkit, développé par Intellicorp dans les années 1980. Simkit s'appuyait sur l'environnement d'ingénierie des connaissances (KEE) d'Intellicorp, un environnement de développement de systèmes à base de connaissances très puissant. Initialement basé sur Lisp , KEE y ajoutait des cadres , des objets et des règles , ainsi que des outils supplémentaires performants, tels que le raisonnement hypothétique et la gestion de la vérité. Simkit ajoutait des capacités de simulation stochastique à l'environnement KEE. Ces capacités incluaient un modèle d'événements, des générateurs de distributions aléatoires, la visualisation des simulations, et bien plus encore. Simkit était un exemple précurseur d'ingénierie des connaissances. Il permettait de définir une simulation en termes de modèles de classes et de règles, puis de l'exécuter comme une simulation classique. Au cours de son exécution, la simulation pouvait continuer à invoquer des règles, des démons et des méthodes d'objets, offrant ainsi un potentiel de simulation et d'analyse bien plus riche que les outils de simulation conventionnels.
L'un des problèmes rencontrés par Simkit était commun à la plupart des premiers systèmes KBE développés selon cette méthode : les environnements à base de connaissances Lisp offraient des capacités de représentation et de raisonnement très puissantes ; cependant, ces capacités exigeaient des ressources considérables en mémoire et en puissance de calcul, mettant à rude épreuve les ordinateurs de l'époque. Simkit pouvait exécuter des simulations avec des milliers d'objets et réaliser des analyses très poussées sur ces objets. Toutefois, les simulations industrielles nécessitaient souvent des dizaines, voire des centaines de milliers d'objets, et Simkit peinait à atteindre de tels niveaux de complexité.
La deuxième alternative au développement de l'ingénierie basée sur les connaissances est illustrée par la suite de produits CATIA . CATIA a commencé avec des produits pour la CAO et d'autres applications traditionnelles d'ingénierie industrielle et y a ajouté des fonctionnalités basées sur les connaissances ; par exemple, son module KnowledgeWare.
Histoire
L'ingénierie basée sur la connaissance (KBE) s'est développée dans les années 1980. Elle faisait partie de la première vague d'investissements dans l'intelligence artificielle pour les entreprises, qui a alimenté le développement des systèmes experts. À l'instar de ces derniers, elle s'appuyait sur les avancées technologiques de pointe de l'époque en matière de technologies de l'information d'entreprise , telles que les PC , les stations de travail et les architectures client-serveur . Ces mêmes technologies favorisaient également la croissance des logiciels de CAO et de CAO-T . La CAO avait tendance à stimuler les technologies de pointe et même à les repousser au-delà de leurs limites initiales. Le meilleur exemple en est la programmation orientée objet et les technologies de bases de données , qui ont été adoptées par la CAO alors que la plupart des services informatiques d'entreprise étaient dominés par les bases de données relationnelles et la programmation procédurale .
Comme pour les systèmes experts, l'ingénierie basée sur la connaissance (KBE) a connu un ralentissement durant le « hiver de l'IA » . De même, à l'instar des systèmes experts et de l'intelligence artificielle en général, l'intérêt pour la KBE s'est ravivé avec l'avènement d'Internet. Dans le cas de la KBE, cet intérêt s'est peut-être le plus manifesté dans le commerce électronique interentreprises et les technologies facilitant la définition de vocabulaires et d'ontologies standardisés pour les produits manufacturés .
Le Web sémantique est une extension des standards du World Wide Web proposés par Tim Berners-Lee . Il s'agit d'un Internet basé sur la connaissance, construit sur des ontologies , des objets et des technologies de cadres qui ont également permis l'ingénierie basée sur la connaissance (KBE). Parmi les technologies importantes du Web sémantique figurent XML , RDF et OWL . Le Web sémantique présente un excellent potentiel pour la KBE, et les ontologies et projets de KBE constituent un axe de recherche actuel majeur.
Gestion des connaissances et du cycle de vie des produits
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 getting 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
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.
An example can be taken from Boeing's experience. The 777 Program took on the challenge of having a digitally defined plane. That required an investment in large-scale systems, databases, and workstations for design and analytical engineering work. Given the magnitude of the computing work that was required, KBE got its toe in the door, so to speak, through a "pay as you go plan." Essentially, this technique was to show benefits and then to obtain more work (think agile engineering) thereby. In the case of the 777, the project got to where influences to changes in the early part of the design/build stream (loads) could be recomputed over a weekend to allow evaluation by downstream processes. As required, engineers were in the loop to finish and sign off on work. At the same time, CAx allowed tighter tolerances to be met. With the 777, KBE was so successful that subsequent programs applied it in more areas. Over time, KBE facilities were integrated into the CAx platform and are a normal part of the operation.
KBE and knowledge management
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.
KBE methodology
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.
An alternative to MOKA is to use general knowledge engineering methods that have been developed for expert systems across all industries or to use general software development methodologies such as the Rational Unified Process or Agile methods.
Languages for KBE
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
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. 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
Il existe un compromis entre l’utilisation de normes telles que STEM et celle de langages propriétaires spécifiques à un fournisseur ou à une entreprise. La normalisation facilite le partage , l’intégration et la réutilisation des connaissances . Les formats propriétaires (tels que CATIA) peuvent offrir un avantage concurrentiel et des fonctionnalités puissantes allant au-delà de la normalisation actuelle.
Genworks GDL, un produit commercial dont le noyau repose sur le projet Gendl sous licence AGPL résout le problème de la pérennité des applications en fournissant un noyau de langage déclaratif de haut niveau qui est un sur-ensemble d'un dialecte standard du langage de programmation Lisp ( ANSI Common Lisp , ou CL). Gendl/GDL est lui-même proposé comme standard de facto pour les langages KBE basés sur ANSI CL.
En 2006, l' Object Management Group a publié un appel d'offres pour les services KBE et a sollicité des commentaires. À ce jour, il n'existe aucune spécification OMG pour les services KBE ; toutefois, il existe une norme OMG pour les services de CAO.
Gellish English est un exemple de langage indépendant du système pour le développement d'ontologies lisibles par machine appartenant au domaine KBE .