Science Arts & Métiers (SAM)

,


Introduction
[Context] According to Clakins et al. in [1], design rules synthesize the knowledge of a company and indicate how to create a proven design.They improve product quality, as well as decrease design time and costs.The definition and management of design rules is consequently a crucial design activity.
[Problem] The number of design rules is increasing due to the complexity of modern products (ElMaraghy et al. in [2]), legal constraints and DfX expectations.A designer has to search through a large collection of rules to find the ones to satisfy.The mushrooming of design rules makes their retrieval and exploitation laborious, all the more so that they are stored in unstructured documents of hundreds of pages [3].
[Proposal] We propose a knowledge graph of design rules that will feed a Context-Aware Cognitive Design Assistant (CACDA).CACDA is a ubiquitous and intelligent cognitive assistant that uses the information of a design context to facilitate the exploitation (retrieval, recommendation, verification, automation, etc.) of design rules in a CAD environment.On the one hand, we present the services the CACDA provides to the end-users.On the other hand, we detail the knowledge graph that makes design rules computable by the CACDA.

2
Literature review [Design rules checker] Design rules checking is an active subject in literature with two main tendencies, a procedural and a semantic approach.The procedural approach considers a fix set of design rules and try to ensure that a product respects these rules by detecting all design errors on the model.The rule is represented by a set of algorithms that detect geometric features in the digital mockup that do not respect the rule.The work of Huang et al. [4] and industrial tools [5 -7] illustrate this approach.The main flaws are: 1.Many design rules are natural language statements, that is, an unstructured form of knowledge that is not directly computable.A procedural approach is therefore limited to some design rule types such as geometric constraints.
2. Algorithms representing design rules are complex, which makes their development and maintenance cumbersome.
3. Design rules information is stored in data silos, each representing a specific design context.For example, all rules for milling compliance will be in the silo "design for milling".Design is a multi-domain process and many design rules do not fit in a single pre-defined context.
[Semantic Network] In [8], Sowa describes Semantic Networks (SN) as "a graph structure for representing knowledge in patterns of interconnected nodes and arcs".Languages for developing ontology (RDF, RDFS, OWL) and graph-databases (Neo4j, Grakn, Trinity RDF, Cayley) support the implementation of semantic networks.Such knowledge graphs break silos and focus on the interactions.SN are effective at modeling complex and unstructured knowledge, such as common [9] or specific design information [10].Several strategies can be used to model design information.For example, MOKA methodology [11] for engineering design knowledge modeling can be used to capture design knowledge [12].This structured information can then be used by knowledgeware tools.Instead of using a general design knowledge approach like MOKA, we can review specific knowledge modeling strategies for design rule application.Different research teams propose SN models for design rule application [13 -15].They use SN to structure CAD model information before performing reasoning on the semantic model in order to detect design errors.However, this technique requires a lot of work to build a domain specific SN limited to a particular product type.Instead of describing a product type, we plan to use SN to model the information of a design context and create a user-centric cognitive agent that intelligently provides the right design rules to the right designer at the right time.
[Context-Aware Systems] The context of a software user is: "Any information that can be used to characterize the situation of an entity.An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves" [16].A context aware system uses context information to provide personalized services to the users.As explained by van Engelenburg et al. [17]: "Context-aware systems are systems that have the ability to sense and adapt to the environment".A context often contains different sub-context [18].Each sub-context corresponds to a specific source of information that may serve to perform specific recommendation.The author argue that a social context is crucial for information retrieval "where other people's preferences must be taken into account".For example, when searching a new product to buy, other people advices can influence our expectations.The data model of a context depends on the application domain and the services it delivers.Dhuieb et al. propose a context-aware architecture to present manufacturing knowledge to workers in factories [19].These technologies need to be adapted to our research problem.Pinquié et al. [20] paved the way for a graph-oriented data model of a design context.The data model consists in five subcontexts: Social, Semantic, Operational IT, Engineering and Traceability contexts.This paper continues this work by presenting the actual implementation of the knowledge graph and the functional architecture of the Context-Aware Cognitive Design Assistant (CACDA) to facilitate the exploitation of design rules.

Capture design rule data for an efficient management
This section will present the Context-Aware Cognitive Design Assistant from a user perspective before detailing the underlying knowledge graph that structures the design rules.

A Context-Aware Cognitive Design Assistant (CACDA)
The Context-Aware Cognitive Design Assistant (CACDA), which is an intelligent cognitive assistant, aims at supporting designers to provide computer-aided design solutions free of errors.Therefore, the CACDA needs to have access to a computable structure of design rules while being context-aware, that is, sensing and reacting based on the design context.So far, our CACDA focuses on four services provided to three stakeholders.
[Knowledge engineer] The knowledge engineer is responsible for the development and maintenance of the knowledge graph that structures the design rules.He performs the basic Create, Read, Update, and Delete operations on nodes and edges.Fig. 1 illustrates that the CACDA shall enable the knowledge engineer to convert the unstructured manual designs into structured engineering and semantic sub-context.A sub-context is a sub-graph of the knowledge graph.The extraction of specific design information from unstructured documents is an entire and active field of research [21 -23] but is out-ofscope in our research study.Indeed, we assume that the systematic digitalization of knowledge will lead to the disappearance of documents and knowledge engineers will directly enter the design rules in the CACDA.Therefore, the main function of the CACDA is to transform a list of unstructured design rules into a structured computable knowledge graph.[Designer] The CACDA shall enable a designer to retrieve relevant design rules to be satisfied while designing in CAD environment.Path distances and semantic similarities applied to the knowledge graph [24] help to recommend design rules according to the design context.The designer can also query the knowledge graph to search for design rules (full-text search, faceted search, etc.).After their selection, design rules shall appear in the CACDA interface.Fig. 2 and Fig. 3 present the service in which the design interact with the cognitive design assistant.[Expert] The expert has a deep understanding of the domain and is consequently able to prescribe new design rules to consider as soon as possible in the design process.Fig. 4 shows that he is the one who suggests new design rules to the CACDA and who appreciates the relevance of the recommendations.The previous chapter described the main services the CACDA shall provide to the stakeholders.To provide such support, the CACDA needs design rules structured in a computable knowledge graph.In this section, we present how the processing of design rules and the design context leads to a computable knowledge graph.The CoreNLP toolkit [25] serves for the natural language processing.Ontologies such as ConceptNet [26] and WordNet [27] are key linguistic and common knowledge that enriches the knowledge graph implemented with the NoSQL graph database Neo4J [28].Python is the pivot language and Dash is the framework that facilitates the prototyping of the web-based user interfaces.

Fig. 5. CACDA knowledge engineer user interface for typing design rule
The knowledge engineer feeds the CACDA with raw design rules and extra knowledge, such as lists of acronyms, glossaries, etc.The semantic processing pipeline of the CACDA structures the knowledge into a computable graph.Fig. 5 illustrates the knowledge engineer user interface from which he can input raw design rules or upload a document containing design rules.For instance, the knowledge engineer types the design rule: "It is necessary to have between wall corners a radius higher than the milling cutter radius", extracted from the chapter "Standard value of wall corner" of an aircraft design manual.We consider that the CACDA automatically captures the design rule as written in the source document.We will systematically reuse this design rule to illustrate the CACDA.
After entering the design rule, the semantic processing pipeline of the CACDA converts it into a structured graph representation.The graph of design rules forms the socalled semantic sub-context.Figure 6 shows that the semantic sub-context is a subgraph of the knowledge graph that creates linguistic associations among keywords (nouns, verbs, adjectives, and adverbs).Thus, a full text search of the keyword "wall" would return two design rules.Full text search is very limited as it supposes that the designer knows what to look for, whereas he does not really know what rules shall be satisfied.There is therefore a need to expand queries with relevant keywords and allow the navigation in the knowledge graph.State-of-the-art strategies for short statement analysis suggest enriching the data with external semantic resources [29 -31].To expand keywords with linguistic features (synonyms, homonyms, meronyms, etc.), we integrate the WordNet thesaurus [32].Before expanding keywords with relevant terms, we disambiguate each keyword according to the existing semantic sub-context.Figure 7 represents the result of this process on the keyword "corner".By considering all the terms linguistically linked to the keyword "corner", the CACDA facilitates the retrieval of unmatched but relevant design rules.Moreover, the richer is the knowledge graph, the more pertinent will be the semantic exploration.For instance, if a designer consults a design rule, the CACDA can recommend similar rules that are very likely to be of interest.The semantic sub-context is not enough to retrieve all relevant design rules according to a design context.Indeed, linguistic relationships help to navigate among rules but other aspects are of interest.For instance, as a designer, the CACDA can recommend me design rules because colleagues with a similar profile have satisfied some rules that I oversee.Figure 8 shows how to model the social context in the knowledge graph.By logging designer's activity, we can use collaborative filtering to suggest design rules.Fig. 8. Design rules with the relationships between the semantic and social sub-contexts.Design rules (red), keywords (pink), users (brown), company (purple) Social and linguistic relationships are key elements for navigating across design rules, but IT information is also relevant.For instance, if the designer is designing a part using CATIA V5, the name of features in the tree or the name of CAD operations are key information for retrieving design rules.The so-called IT context is also a sub-graph of the knowledge graph that formally defines the current computer-aided design context (software, workbench, operation, etc.). Figure 9 illustrates an instance of an IT context.

Conclusion and future work
The ever-increasing number of design rules, which are multi-domain unstructured knowledge stored in large documents, makes their application laborious.We propose a Context-Aware Cognitive Design Assistant, that is, an intelligent cognitive assistant that facilitates the application of design rules while performing computer-aided design tasks.The assistant relies on a semantic network and design context awareness.In this paper, we describe the services the CACDA provides to the stakeholders and we detail how the processing pipeline structures the design rules and the design context into a computable knowledge graph.
In future work, we will continue the prototyping task, with an emphasis on the analysis of the knowledge graph for recommending and verifying design rules.

Fig. 1 .
Fig. 1.CACDA service 1: Transform a list of unstructured design rules into a knowledge graph.

Fig. 2 .Fig. 3 .
Fig. 2. CACDA service 2: Suggest a design rule list to apply for knowledge graph analysis

Fig. 4 .
Fig. 4. CACDA service 4: Insure that design rule suggestions are relevant to the designer's context

Fig. 6 .
Fig. 6.Graph representation of four design rules (in red) with their keywords (in pink)