ACTIVE CATALOGS Final Report Covering the Period July 13, 1995 to July 12, 1998 Contract Number: J-FBI-95-159 Peter Will, Principal Investigator Director, Enterprise Integration Systems Division USC/Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292 Introduction The Active Catalogs project was first conceived to be an Internet-based manufacturing and design project but soon evolved to a combination of Internet-based design and the construction of middleware. The middleware was directed towards Net-based search and utilization of nontextual, three dimensional, kinematic, magnetic, and electrical objects that could be personalized and used in a wide variety of applications. The work was part of both the DARPA Digital Library Program and the DARPA Design and Manufacturing Program. In the course of the program there was technology transfer to Lockheed-Martin’s Gimbal Design Division and Raytheon/TI. In addition, several papers were published and presentations were made at a number of conferences, including such conferences as NIST. Copies of the first three papers are attached to the end of this report. The fourth paper has been incorporated into this final report. The papers were: Will, P. and Luo, P., "Active Catalog: A Knowledge-Rich Design Library Facilitating Information Consumption," Proceedings of the IFIP Workshop Series on Knowledge Intensive CAD-2, 1996. Kim, J., Ling, S.R., and Will, P., "Ontology Engineering for Active Catalog," 1997 AAAI Workshop on Using Artificial Intelligence in Electronic Commerce, Virtual Organizations and Enterprise Knowledge Management to Reengineer the Corporation, 1997. Ling, S.R., Kim, J., Will, P., and Luo, P., "Active Catalog: Searching and Using Catalog Information in Internet-Based Design," Proceedings of DETC 97 - 1997 ASME Design Engineering Technical Conferences, Sacramento, California, September 14-17, 1997. 1 Coutinho, M., Eleish, R, Kumar, V, Kim, J., Ling, S.R., Neches, R., and Will, P.M., Active Catalogs: Integrated Support for Component Engineering, Proceedings of DETC98: 1998 ASME Design Engineering Technical Conference September 13–16, 1998, Atlanta, GA. Project Overview The Active Catalog project defines a new type of catalog containing all the data required to find and describe an object, plus a wide variety of data needed to support the use of that object in an application. The applications focus is the field of electromechanical design and the catalog entities are parts, subassemblies, and products. The active catalog can also support the DOD Materiel Acquisition and Field Maintenance processes. A recurring problem in design is that parts are so hard to find that the designer is often compelled to redesign a part rather than to search for an existing one. This costs time and money and produces a part that needs to be requalified to meet military specifications (milspec), thus costing even more money and time. Intelligent re-use of parts and sub assemblies is prudent. The WWW-based catalog is supported by high level functional search and retrieval features that allow a part to be found by ontologically based domain-level descriptions rather than by the present part number. The description of a retrieved part contains the appropriate set of multimedia information, including multi-modality simulation and behavioral models and active code fragments, to enable the retrieved part to be tested in a simulation environment to assure compatibility with the other selected components. This instantiates a Try-Before-You-Buy paradigm. The result is lower design time, more reliable products, and lower acquisition costs. Technology Objective Develop an architecture for Active Catalogs. Develop ontologies for selected parts families starting with components for shipboard systems. Create functionally /ontology based retrieval agents that operate on the WWW. Create a mediated, WWW, architecture supporting multi-modality simulation and modeling to support try-before-you-buy. Value Demonstrated a new catalog functionality and its application to improved design and acquisition processes a better ontology-based search environment better evaluation environment multi-modal CORBA-based simulation environment. Demonstrated the tangible link between improved information access to the designer and better designs by transferring the technology to DOD contractors. 2 Technology Innovation A new extension to libraries and catalogs, Active Catalogs containing Active Data. Support for the Designer and Procurement Specialist to retrieve by functional search. Mediators to actively and dynamically enhance the simulation evaluation environment for a significant number of modalities useful in the historically difficult problem area of electromechanical design. Demonstrated the cost and time schedule advantages of Try-Before-You-Buy. Demonstrated enhancements that will be usable by the STEP Community. Technology Linkages The Active Catalog project has linkages to DARPA RaDEO, Digital Library and Advanced Logistics programs. An ontology of pumps including those that might be found in a naval ship has been released on the WWW via Stanford’s Ontolingua project and will be used in the DASHER ( ITO) and DEALMAKER (DSO, and Defense Logistics Agency) projects for high-level functional 3 searches for parts and services within the new DLA electronic commerce applications involving Long Term Agreements. Lockheed deployed a system for Active Catalogs in their group doing the design of gimbals for missiles. Active Catalogs was part of a joint proposal on AM^3 with CTA. Collaboration with CTA continues. Commercially, Thomas Publishing, the publishers of the Thomas Register, IndustryNet and Aspect Technology all showed a strong interest conditional on the project making the promised accomplishments. Technology Transition The customers for the proposed work include designers of electromechanical equipment, maintenance engineers, and procurement officials, both buyers and higher echelon procurement workers. Their need is to locate quickly a set of candidate parts or sub assemblies by name or function, not by part numbers, and to be able to test the candidate parts in a simulation environment before committing to use in the application and the subsequent purchase. The techniques are applicable in a wide variety of specific applications but the concentration here is on electromechanical systems design. The transition opportunities are to Lockheed-Martin, and other major defense contractors, CTA, Thomas Publishing, Electronic commerce companies such as IndustryNet. An early user will be the Defense Logistics Agency via their current contract with ISI on the Advanced Logistics Program (ALP). Final Report Just prior to the end of the project we prepared a paper for the American Society of Mechanical Engineers that encapsulated what we had learned during the execution of the Active Catalog project. This report, which follows, serves as a succinct final report. 4 Proceedings of DETC98: 1998 ASME Design Engineering Technical Conference September 13–16, 1998, Atlanta, GA DETC98/CIE-5521 Active Catalogs: Integrated Support for Component Engineering Murilo Coutinho1 USC Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292 coutinho@isi.edu Jihie Kim USC Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292 jihie@isi.edu Ragy Eleish USC Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292 ragy@isi.edu Vished Kumar USC Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292 vkumar@isi.edu Robert Neches USC Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292 rneches@isi.edu S. Ringo Ling USC Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292 ling@isi.edu Peter Will USC Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292 will@isi.edu ABSTRACT A recent National Academy of Sciences study shows that design and manufacturing is dominated by three “eighty percent” rules. Eighty percent of the cost of a product typically is the purchase cost of its components. Eighty percent of the manufacturing costs are determined in the first twenty percent of the design phase. And eighty percent of an engineer’s time is spent not on design, but on communications: obtaining information about components comprising the design and coordinating with other engineers about design issues. Thus, the speed and quality of product development is heavily dependent on a designer’s ability to perform component engineering — to configure a set of components that work well together with respect to performance, reliability, cost and delivery schedule. This paper describes services provided in the Active Catalogs system that support the component engineering process. These services enable a designer not only to find candidate parts to serve as individual components in a design, but to explore and assess interactions between candidate parts for sets of components. These services include mechanisms for: (1) creating queries for parts based on their intended use rather than merely parametric specifications; (2) refining those queries to take account of constraints imposed by other components; (3) providing multi-modal information to help designers assess and compare candidate parts; and (4) generating simulation models of candidate parts and integrating them to provide simulation models of candidate systems. 1 Order of authors is alphabetical. 5 1. INTRODUCTION Typically, eighty percent of the cost of a product is in the components purchased to build it [1, 2]. (This is a typical figure, true of electronics, products made from motors, gears, drive amplifiers, etc. — even automobiles and aircraft. Obviously, it does not cover all products.) This estimate might even be low in certain fields, such as the personal computer business. Thus there is a crucial need to complement design and manufacturing processes with a process of component engineering. The component engineering process brings concerns such as component performance, reliability, cost, and delivery schedule to the table — in time for these concerns to influence the performance, reliability, cost, and delivery schedule of the system that is being built from those components. To address these concerns, Active Catalogs [14, 15] integrates solutions at a number of different levels. First, it provides a model of how to provide appropriate support for component engineering as an integral part of product development along with design and manufacturing. Second, it embodies a set of component capabilities that engineers need to perform component engineering. Third, it packages these capabilities in a way that is conducive to participation by large numbers of designers and manufacturers. Active Catalogs helps designers find and evaluate candidate parts for components of their system designs. This general approach to component engineering is illustrated in Figure 1. The key concept is, “Try before you buy.” The goal is to help designers state component-level or system-level constraints that candidate parts should meet, find candidates, and then return information that helps designers evaluate how the candidates will work together in the system design. The information returned includes not just the static data found in catalogs today, but also behavioral information, including simulations and other active objects such as graphical animations. Extensions are also envisioned to provide information bearing on design for affordability and design for rapid production, such as cost, suppliers and other procurement data. ““Try Try Before Buy Before You You Buy” Buy”” System Design Design Dimension 4: Optic Design Dimension 3: Magnetic Design Dimension 2: Thermal Design Dimension 1: Dynamic •• Design Design aa system system made made of of components components •• Find Find candidate candidate parts parts for foreach each component component •• Consider Considercross-component cross-component constraints constraints •• Retrieve/generate Retrieve/generate component componentmodels models •• Download Download and and integrate integrate component component models into system simulation models into system simulation •• Evaluate Evaluate candidate candidate part part in in the the context context of of the the system system design design •• Repeat until satisfied Repeat until satisfied Query Models Trade Studies Candidates Figure 1: The Active Catalogs component engineering design cycle Studies have shown that eighty percent of engineers’ time goes not into the design activities for which they were trained, but rather into assorted information management tasks [1]. Substantial parts of that time lie in planning and communications — much of it centered around 6 obtaining information about components and evaluating tradeoffs with respect to design requirements. Active Catalogs’ contribution is to speed up and partially automate information collection and assessment activities such as development of simulations. The basic concept is to provide, or augment, a workspace in which a designer is laying out the abstract components of a design. It augments the workspace by letting designers express constraints on individual or groups of components. On request, the collected constraints on a component can be folded into queries that retrieve candidates. For those candidates of interest to the designer, Active Catalogs retrieves technical specifications and models — or, in a number of cases, actively generates the models. The models can cover electrical, mechanical, kinematic, dynamic, thermal, magnetic, and optical modalities. Designers can use these specifications and models in simulation environments to evaluate candidates for individual components, or interactions between multiple candidates. As they get better insight into their requirements from these evaluations, they can iterate the process to refine the constraints and narrow the set of candidates. When they are satisfied, the result is a bill of materials (and potential substitutes) that is known to fit the requirements — along with automatically recorded documentation of many of the factors that went into selecting the components. Recently, Active Catalogs has been demonstrating its work by supporting gimbal design2 with data on motors, encoders, actuators, tachometers and bearings. In addition to demonstrating the conceptual approach to component engineering in the context of gimbal design, we also report progress on technical capabilities pertaining to constraint-based specification of parts requirements for retrieval purposes, and on generating and presenting active objects such as animation models and simulations. Active Catalogs is trying to build its software with clean interfaces that can work with arbitrary design systems. The approach to doing so is discussed briefly in Section 4. 2. CURRENT APPROACHES TO PROVIDING PARTS INFORMATION The past couple of years have seen increasing interest in providing on-line catalogs to designers and engineers via the Internet and the World Wide Web. Currently, engineers can find on-line catalog data in three different forms: 1) General Web search services. Engineers often use general search engine web sites, such as Yahoo [3] and InfoSeek [4], trying to find the parts they need by using the services of these web sites that specialize in locating companies. The user types in a list of keywords describing his search requirements. The search engine returns a list of part manufacturers’ web sites that might contain technical information on the parts. Our experience with these search engine web sites is that they usually do not provide specific or comprehensive pointers that meet engineers’ needs. The number of company web pointers is usually less than the number available from dedicated part catalog services, and many company web pages provide no technical part information, cost, or delivery data. 2 Gimbals are two-degree-of-freedom mechanisms used in tracking objects in guidance and control systems in the aerospace industry. 7 2) Dedicated parts catalog referral services. These services are dedicated to finding companies that can provide parts for engineers. Thomas Register [5] is one example of this type of service. As with general search engine web sites, the engineer types a list of keywords into Thomas Register and Thomas Register returns a list of company web sites that contain the technical part information. Compared to general web search services, Thomas Register provides a comprehensive list of companies — but not part data. The list of companies is specific and relevant to the needs of engineers, but the quality of technical information in the referred company web sites varies. Some of them have technical data and scanned drawings, while others provide only marketing and sales pitches. 3) Centralized part catalogs. Instead of providing a referral service to part manufacturer web pages, this service centralizes all the technical part information together at a single site. Users go to the site directly to select and purchase parts. PartNet [6] and IndustryNet3 are examples of this type of service. The technical information on parts is more organized and uniformly presented than individual company web pages. However, because the data is restricted to parts from manufacturers that have joined the service, the choice of manufacturers and parts is limited. Some manufacturers may be reluctant to participate in this service and would like to retain control of their product information themselves. Existing catalog services have certain limitations in search capabilities and product information. They rely heavily on keyword-based string match, and their product information is limited to pictures and text descriptions. To improve their services, catalog companies have been adding new search features. For example, in PartNet, part information is indexed in categories/subcategories, and users can use the taxonomy to find a particular part type. Users can specify attribute constraints for the selected part type. Also, Saqqara’s [7] step-search provides an interface that displays a range of values for database attributes for user input, preventing invalid inputs. Users can select options one at a time, using the interface. When a reasonable number of candidates remain, users can invoke a comparison table for comparing the candidates. Centor Corp.’s [8] parametric search also provides valid inputs for attributes, and lets users choose several commonly used attributes for search. However, in these catalogs, users cannot describe requirements that are not explicitly addressed in the database. For example, it is not easy to describe implicit requirements such as product applications, the function of a product, or the environment in which a product will be used. Some catalog providers offer a greater range of on-line information. In addition to text, images, and diagrams, they also provide information that helps users evaluate candidates. Micromo’s [9] web site provides supplementary descriptions, including application notes, tutorials, and related links. However, the information is static in the sense that users have to read the given attribute values and the drawings and evaluate whether they satisfy their requirements. The Landrover [10] and BMW [11] web sites give a better way of evaluating products. They allow a dynamic environment for selecting vehicle models, colors, and desired features. Users can visually explore different combinations of options, before selecting a particular combination. 3 IndustryNet, a subsidiary of Parts, Inc., closed operations this year, but has been purchased by Perot Data Systems and may reopen or be reconstituted at a future time. 8 However, exploration is limited to combinations of static visual features in a two-dimensional picture of one particular vehicle type. This is not the same as exploring dynamic performance. 3. ACTIVE CATALOGS SERVICES SUPPORTING COMPONENT ENGINEERING The Active Catalogs system provides several services to support the component engineering process. These services enable a designer not only to find candidate parts to serve as individual components in a design, but to explore and assess interactions between candidate parts for sets of components. These services include mechanisms for: (1) creating queries for parts based on their intended use rather than merely parametric specifications; (2) refining those queries to take account of constraints imposed by other components; (3) providing multi-modal information to help designers assess and compare candidate parts; and (4) generating simulation models of candidate parts and integrating them to provide simulation models of candidate systems. 3.1. Ontology-Based Product Search Capabilities Our work on retrieval is based on a domain theory (sometimes also called an ontology), which is used to map user requirements into database queries. Technical challenges being addressed concern the form in which these constraints are expressed, mechanisms for inferring constraints, interfaces to help designers express constraints, and methods for translating the constraints into productive queries on sources of parts information. The retrieved information includes not only standard catalog data, but also multi-modality information, such as CAD and geometry files, and active objects such as animations and simulations. The challenge problems in this part of the effort are (1) generating active objects, such as simulation models for parts that provide only static data; and (2) combining multiple objects to support system-level evaluation, e.g., wrapping multiple component simulations to make it possible to compose them together to simulate a system. The search system in Active Catalog maps high-level, conceptual models of products that are needed by customers into physical database queries. That is, it performs an inference of what attributes in what tables in the database are relevant to an implicit requirement that is given by a user. Also, when a user provides multiple different types of requirements, the system easily combines the given requirements together to produce a query. To perform these functions, our ontology system provides several sub-features. Mapping. Each ‘requirement’ concept in our ontology is defined in such a way that it can be mapped into a particular product type and/or a set of attribute constraints. For example, a requirement about a motor function may be translated into a particular type of motors that can achieve that function. Combining. There are multiple sub-ontologies for multiple aspects of products. Using these ontologies, the user can create queries that combine different types of requirements. Joining. Multiple requirements can be combined by first applying the first sub-feature – the mapping – to the requirements, and then joining the mapping results through logical conjunctions. For example, if a user’s requirements consist of a product type, the application of the product, and the environment in which the product should be used, these three different requirements are combined through logical conjunction of the three mappings. 9 Translating. We provide a translation table that maps the intermediate results (specific part type and attribute constraints) into database tables and their attribute constraints. The details of these sub-features are described below with examples. 3.1.1. Mapping a User Requirement into Part Types and Attribute Constraints. The following procedure maps a user requirement into specific product types and/or attribute constraints. The output of the procedure (product type and attribute constraints) is mapped into database tables and database attribute constraints, as will be explained in the subsections following. The mapping is performed in the context of finding a general product type, such as motors. If the given requirement is already about product type or attribute constraints, then there is no need for a translation, and the procedure passes it to the next step without change. Otherwise, the procedure applies a chain of rules to retrieve the implications of the requirement until it finds product types and/or attribute constraints implied from the requirement. This relies on powerful Loom [12] reasoning based on domain knowledge. For example, when the user needs electric motors for high oxygen level environment, the inference rules/constraints used are: (1) high level oxygen environment is explosive; (2) brush incurs spark in the explosive environment and it is not safe; and (3) brushless motors do not have brush. The mapping function returns brushless motors. Figure 2 shows the sub-network in our ontology that supports the above reasoning. The right-hand side hierarchy shows that high oxygen level environment is an explosive environment (1). The arrow from explosive environment to brush motors together with the connection between Generate_Fire and Products illustrates step (2). Finally, the definition of Brushless motors illustrates step (3). Mapping (requirement, product type) If the requirement is about product type or attribute constraints use the requirement description without change Otherwise, apply chains of rules and constraints to reach the set of specialized product types and/or the attribute constraints that satisfy the requirement Figure 2: Finding motors for high oxygen level environment 3.1.2. Combining Multiple Source Requirements. We support multiple ways of describing products by defining multiple sub-ontologies for different aspects of user requirements. They are connected to the product taxonomy and attribute taxonomy directly or indirectly. Figure 3 shows a part of these additional sub-ontologies together with product taxonomy and attribute taxonomy. We have built taxonomies of electro-mechanical components, including an extensive hierarchy of various motors and pumps and a taxonomy of the attributes of these products. Currently, we have 300 classes of pumps, 3,000 attributes for pumps [13, 14], 72 classes of motors, and 66 attributes for motors. We provide a semantic network of applications, intertwined with product and attribute taxonomies. As described earlier, each application can be mapped to a set of product types in a search context. In addition to that, given a specific product, the user may see the potential application of the product, following the link between product types and applications [15]. If a 10 i o o l n past application is available in the database, users can refer those details as well. Also, our function ontology classifies the products in terms of their generic functions. As shown in Figure 3, amplify power, amplify voltage, and amplify current are subclasses of class amplify, and these classes can be used for finding different kinds of amplifiers. t r e g a t a t l o V n c y l p p o i u S e d c l e C n n d a r e a n Rt s Pa o a s v t n C r r u e e V G a o e l C s h M s o t o r r p s o n n u B m i - r o N A b u n e C e s l N N r a o n g r h e a V C t r r u i t t v s rt n t M l o i u m NN o r n n n o m s n o e o u l r t i e o s n t e n t i i e n r s g t e r R b e s r p s l N S n s e n - o n s n e f m r u o t R m a e e l r a e i t g i a t t i o o n g C h o e n I r c n o i e f n c i t p o v e n n s I e s e m s i t i s e i n u e e o t l s o r t c b c N c c i N et v P I u e l a i o r d l t m t s e s t i e i c e pt S e r r S o l s m M h o t o CS r e a s n 1 e t r v o m l v o lo r v i t r o M - 1 1 - m c e t o p a n i e s p a i y e m c S r t S o l C e C l r M d e r n n o t h s Sc p e S m c A e e m r a n o t t o l m o e a t t o k o l r i o i r e e p cc i m s i B T r e c a n te m n j s a o s R a M a u C s p x v n j n n o u r s n e C o E e E M a v v a e D d f o so t S d t c E c u ab I I m v o e e r w i c i n s s A r r s l ro a d i t n F Ou A S i r N b s s e r q n h t T e r e o P e s d e N e E m t a u t S u oA e d e N v p t t c r Fu O i S n n p r y l en a s e o i n y e T a r c e e F S o r T W C o T S p I i t m u b e c n M n sB M D g e e j c o r p b D v t s S o N r l o B W C c n e b j c i u n i B A e r u a N m i r r o e t - b O i i s t o o C V s l c t c r u h n u Om m t t r r o r s R R R m og r u c p u o s N o e e o e s i M Si q N r fu m o s o ea a r T t o e e N r r o e t e o R e lt d n A t u u o P r C o i o u E M t n ic r d e s a l S e h m s t y u m hD r o c D u o M s a er S e H t a N I e w r n l a S V p w M u o P M e e t o o P a l n t o i g t W P S V C t go y r o n t s n o mr T r - e u u s M n N n o e d b t o r t s i v e s u n e u r t s o n m v t b o M e o r t o r s r e n r g N e e t n S n o g a g i m C r m i a M o n o n r D a r o e u e t g e o M t P M i e L o p uo Nt i n u N m o r i I h o M e P R S C S q t h M p c e s e t o c R n e n a p h o a a r n r s l t n q r t in_environment Applications F t e e e s i c a u i i c q s n t e e a l u t a y V t s t n e i a m c n e r e c i c y a o n n s t c a n e t Products isa isa Motors Generate_fire isa Environment unsafe_to_use isa isa Explosive_ Environment isa Non_explosive_ Environment isa Cause_spark Brushless_ motors Brush_motors Product Taxonomy Property Electrical motor pneumatic inductance hydraulic peak current electric voltage brush back EMF brushless ... AC Geometric AC servo diameter induction inside DC outside compound bore series shaft diameter DC servo length ... size servo weight non-servo width permanent magnet Mass housed Mechanical frameless continuous torque direct drive no load speed step peak torque actuator .. amplifier Thermal bearing temperature rise encoder frame sensor High_level_ Oxygen Application commercial application aerospace application defense application control missile aerospace application servo control application control aircraft control missile control flow control temperature gimbal system driving positioning Environment explosive high level oxygen non explosive underwater high altitude hot cold humid dry Function accelerate accelerate rotationally amplify amplify power amplify voltage amplify current control flow control speed control temperature convert energy type drive drive conveyer belt drive milling machine move move rotationally position rotate accelerate rotationally move rotationally Figure 3: Sub-parts of the Active Catalogs ontology In addition to these ontologies, we are planning to build a structure ontology and procurement ontology. Structural requirements include simple form features of products and 11 topological arrangement of subparts. These requirements may be used in searches using the structure ontology. For example, the output interface of a motor can be either a shaft or, in the case of motors used in gimbals, a cavity in which other components are placed. Depending on the interface type, the system can filter out irrelevant parts. Also, a motor may have a rotor, a stator, and a brush ring as its subparts. They may be fixed in a single unit or may be demountable, as required in gimbal design. The way a motor is constructed can provide clues that allow the system to find it. In the procurement ontology, we will describe product status, supplier track record, lead time, expected obsolescence date, etc., as well as supplier and cost. Once this portion is built, users might be able to examine this information before they buy, given appropriate authorizations from the suppliers. Using these ontologies, users can describe their applications, functions, environmental restrictions, structures, and procurement requirements. Active Catalog combines them using the following procedure. Combine_Requirements Compute implications of each requirement or a set of requirements together, using Mapping, to collect product types and attribute constraints, and combine them using logical conjunction ‘and’ The above procedure first computes the implications of the given requirements, either separately, if they are irrelevant, or together, if they are related. Then it collects product types and attribute constraints from the implications. Finally, these types and attributes are combined through logical conjunctions to produce specific product types and their attribute constraints. For example, if there are two mapping results, brushless motor type and DC motor type, then they are combined into the intersection of the two types – DC brushless motor – which is also the common subclass of the two in this case. We are planning to build a cross-constraint ontology that will allow constraint checking across multiple part types instead of one part type. This will allow users to check compatibility when they build a system from multiple components. When a user selects a particular type of part and then tries to select another that should be linked to the selected part, the system will check cross-product constraints to filter out inconsistent combinations. For example, if the user selects DC motors and then would like to select an amplifier for them, the system will recommend DC amplifiers, and remove AC amplifiers from the list of candidates, with the user’s consent. This can be achieved by defining a relation, called compatibility in our knowledge base. The compatibility relation across different electro-mechanical product types is a sequence of constraint rules. Given two selected products (or product types), the system can check the compatibility between them by examining the sequence of constraint rules. If all of the rules are satisfied, the products are compatible. 12 3.1.3. Modifying Constraints Through User Inter-action. Our target user population, engineers, are expected to be familiar with normal “Netscape” style editing windows rather than with entering Lisp-like Loom expressions. We have provided the user with an editing-style interface in which the system presents the results of the mappings described in Sections 3.1.1 and 3.1.2. The user can modify or specialize the attribute constraints using the given editors, as shown in ‘Search Criteria’ frame in Figure 4. The construction of the user interface is driven from product types and attribute types to be edited and be displayed. That is, different data editors and display functions are invoked, depending on the attribute types. Figure 4: User interface for modifying attribute constraints and retrieving database results First, the data types of the attributes determine the appropriate interfaces for describing search requirements and for displaying search results. For example, the Numeric Editor is used for attributes with numeric values. When users specify the search requirements, the Numeric Editor allows them to specify a range of values, such as greater than X, less than Y, and between A and B. That is, our interface changes depending on the ways users describe their requirements. If a user selects between, the system will provide two input fields instead of one. The String Editor is provided for string inputs, and the Selection Editor is provided for menudriven inputs. The Unit Editor allows the user to select different metric systems, depending on the attribute types and user preferences. That is, the editor retrieves attribute properties in the Active Catalog knowledge base to support the appropriate interface for different attributes. For example, weight is represented in grams, ounces, and pounds; length is in meters, inches, feet, and miles; temperature is in oC, oF, oK; and so on. A translator is provided to change the user-selected units into the units in the database. 13 We are planning to subclass these editors depending on the product and attribute types. For example, Weight Editor and Length Editor will be instances of Numeric Editor. Also, their Unit Editors can be further specialized based on product types. For example, the Length Editor for Motors will have a Unit Editor that supports inches, feet, centimeters, and meters, but not miles or kilometers. We have found that individual engineers often use a particular subset of attributes in searches. We support the use of user-defined subsets. 3.2. Creating Database Queries and Retrieving Results The last step is the translation of product type and user attribute constraints into a database query. To perform this sub-function, we built a translation table (called meta-description). This table contains mappings between product types and database tables. It also contains mappings between general attribute names used by users and the attribute names in the database tables, depending on the names used by the data providers. The issue this addresses is that different manufacturers may use different names for what, conceptually, is really the same attribute. This mechanism provides mappings between a representative name preferred by the user and the product’s other names. Using this information, a database query is created from product type and attribute constraints. This process creates SQL queries to the Oracle database used by the Active Catalog system. A typical SQL query is ‘select * from TableName where Constraints’, where TableName is the translated database table name and Constraints is the combination of constraints translated through conjunctions. As shown in Figure 4, the results are displayed in the ‘Search Results’ frame. The table in this frame lists all the candidates that satisfy all the requirements. The columns can be moved, so users can easily focus on the attributes they are interested in by modifying the column width. The user can also sort the candidates based on the values of a selected attribute. If the user selects a subset of candidates using the mouse, then the system hides the unselected candidates in order to highlight the selected ones. The ‘View Detail’ button invokes a display for displaying the details of the selected products, including images, application notes, and dynamic models. The details of this feature are explained in Section 3.3. Finally, when the user is satisfied with a set of candidates, he or she can send the results to other system modules by pressing the ‘Export Selections’ button. 3.3. Multi-Modal Information In addition to providing database information, Active Catalogs also provides part data in various modalities and data formats. For example, to determine the suitability of a servo control motor for a gimbal design, the engineer must assess its electrical requirements and mechanical performance, such as its power consumption and its peak torque. To determine whether a standard engineering part can actually meet the design requirements of a system, an engineer must evaluate the properties of the part in different dimensions, such as speed, torque rise time, and stability. However, the mechanical and electrical evaluations are not enough. Weight and volume are important: since a motor is mounted in a gimbal frame, the engineer must determine if the outside diameter of the inner gimbal motor can fit into the inside diameter of the outer gimbal motor. A motor also has its own weight; if it is to be mounted in an airplane or missile, the engineer must be sure that the weight of the motor does not violate its allocation in the total payload of the system. 14 While many of these properties can be viewed as database parameters and displayed in attribute/value pairs, engineers need other information and displays to give them a comprehensive view of the parts. Engineers would like to see a cross-sectional view or a twodimensional drawing of the motor, showing the relationships of the rotor and stator within the motor as well as its inside and outside diameters. The relationships of the rotor and stator are not explicit in database tables. In drawings, engineers can determine the location of the mounting holes and the electrical terminal connections, information that is hard to present in a table. Other useful types of information include application notes describing how a part can be used, images showing various components of a part, and wiring diagrams showing the electrical connections and wiring, etc. Figure 5: Display of multi-modal product information Most current on-line catalogs focus on providing technical parameters of parts in terms of database data. Engineers have to rely on other resources, such as talking to the part manufacturers directly, to obtain other information, such as drawings and application notes. Active Catalogs aims to provide all of the information engineers require in a cohesive, easily accessible, multi-modal form. To provide this multi-modality capability, Active Catalogs supplements a regular database of parameter data with a special database to store the multi-modal part information. In addition, meta-data information is provided. Active Catalogs uses the meta-data to identify the relevant data formats and to provide appropriate displays. To provide an integrated display of multimodal information, Active Catalogs uses a window frame, with separate folders for different types of modal information, to display individual parts. For example, Figure 5 shows two windows, each representing a different candidate part under consideration for use as a servo motor. In one window, the user has asked to see the motor’s properties displayed in table format, including additional information about windings. In the other window, the user has asked to see the other motor displayed as a drawing. By clicking different buttons, engineers can switch between the different types of information available, and easily compare information about alternative parts. If they want to compare the degree of difficulty in the installation of two motors, they can look at their drawings and the application notes by putting the two windows for these motors side by side. 15 3.4 Active Models, Retrieved or Generated In addition to providing multi-modal static information, we also generate and provide active and executable simulation models of various modalities. While multi-modal technical information such as text, database data, images and drawing files is useful, engineers need dynamic information to assess the performance of parts. For example, engineers need to know how fast a motor can rotate to a new equilibrium position when it is subjected to an input signal. One way to find this information is by applying a physical signal to the motor and observing the motor’s behavior. However, physical testing of a motor is costly. In many cases, motors may not be available physically for testing. The practical way is to simulate the behavior of the motor in a simulation program. However, developing simulation programs requires programming expertise, and it is a tedious and time-consuming process. Current catalogs, whether on-line or paper, do not provide simulation models. A key feature of Active Catalogs is its ability to provide simulation models, either hand-coded or automatically instantiated. Active Catalogs generates simulation models “on the fly” from database parameters. Motors have a well-known theory of operation, and the parameters used in manufacturers’ catalogs generally conform to it. The motor theory has rotor resistance and inductance, a back EMF coefficient, a constant velocity output torque to input current, an inertia and friction, etc. This information, combined with the load torque and inertia, is enough to generate differential equations and laPlace transform of a motor plus load. We have built generic models that are used with the parameters from the manufacturer to produce Matthews models automatically. After a model is selected, Active Catalogs can launch that model with appropriate simulators, and display its behavior. Figure 6 illustrates this point. It shows a Matlab S-plane dynamic simulation model of a servo control motor and a VRML animation model that breaks apart the sub-components of that same motor. Figure 6: Active Catalogs simulation interface Active Catalogs provides models in multiple modalities. Besides control simulation models, Active Catalogs can provide VRML animation models, showing the spatial and geometry aspects of a motor. These help engineers understand spatial and configuration aspects of parts within a system. Other model types include kinematics and dynamic models in Working Model. By 16 providing a range of models, Active Catalogs gives engineers an environment to explore a part as if the part was physically in front of them. In Active Catalogs, a generic model for a class of parts and queries is manually created and stored as a template file. This model is derived from the theory of operations mentioned above. Then the system creates, for example, a Simulink transfer function of a D.C. servo motor for computing the angular rotation of the motor in response to an input voltage signal. The model template file is expressed as a Matlab/Simulink model. The parameters of resistance, inductance, torque, etc., are symbolic values in the template file. When the model of a particular part is needed, Active Catalogs retrieves the parameter values from the database, substitutes the symbols in the model template file with the database data, and then outputs the file with instantiated values as the specific model of that part. The process of automatically instantiating models for a specific part from a generic model is shown in Figure 7. The technology for the generation of these models derives from the now almost lost art of programming analog computers. 4. Future Directions The Active Catalogs effort is developing a general architecture and model of operations adaptable to a wide range of applications that need component engineering. Examples include unmanned aerial vehicles, affordable missile systems, optical/magnetic/electro/mechanical systems, and advanced sensors. This vision cannot be realized without access to large bodies of basic component information. Our future work lies in facilitating the creation and consumption of active information, particularly the models and meta-data needed to bring component engineering into the design process. Figure 7: Automated instantiation of a specific part model One of the key challenges in scaling up the system is to provide a framework that enables distributed participation by users, product information suppliers, and providers of modeling services. The framework must also support distributed participation within an organization, 17 recognizing that, many times, design evaluations are performed by different engineers with specialized expertise. Furthermore, the framework needs to be designed with an eye to simplifying system maintenance and upgrade functions. Our approach has been to move toward a replicated, decentralized client-server architecture. One of the key ideas behind the architecture is a network of communications both between local servers, and between servers and their clients. At each site, a local server provides in-house access control to proprietary product data, modeling, and analysis services. The local server also filters access to external data and services, reflecting organizational concerns such as preferred providers and debarred vendors. Local servers also control access from other, external servers, determining under what circumstances data and services at that site will be made available to others. The intent behind this scheme is to provide the high degree of organization-specific control and security needed for comfort by engineering organizations, while simplifying insertion of new product information and modeling services. Providers will register with any local server, and have their offering disseminated throughout the network in a manner similar to the process by which updated information about new sites disseminates through the Internet. The client-side architecture for Active Catalogs to which we are moving focuses upon supporting assessment of designs with respect to multiple modeling views: control, kinematic, electrical, thermal, and others, including the ability to create hybrid models (e.g., linking a control and a kinematic model). Two key considerations drive this part of the architecture. The first is to establish a very clean separation of user interface and underlying application services in the client, with externally accessible application-programming interfaces for every service. This is intended to allow Active Catalogs to operate in either stand-alone mode or in conjunction with an organization’s pre-existing suite of CAD tools. (For example, we are currently engaged in interfacing Active Catalogs to Lockheed-Martin’s experimental Integrated Gimbal Design system in a joint experiment supported by the Defense Advanced Research Projects Agency.) The second consideration is to provide support for a complex constraint web that coordinates participation in multiple modeling views of the objects that represent components and candidate parts for those components. In addition to these issues of engineering for adoptability, we are exploring several long-term issues: Lowering participation costs via tools that help manufacturers convert to active versions of their regular catalogs. Improving designers’ ability to assess candidate parts by supporting model interoperability across domains, such as thermal, stress, optic, and magnetic. Facilitating participation from design environment providers through tools and protocols for customizing simulation models for a design environment. Interfaces that improve productivity by facilitating search by function, geometry, structure, and application. 18 Security methodology to protect manufacturers’ intellectual property and to prevent backengineering while allowing and encouraging the provision of accurate behavioral models to the user. REFERENCES [1] P. Will, “Simulation and Modeling in Early Concept Design: An Industrial Perspective,” Research in Engineering Design (1991) 3:1-13 [2] Committee to Study Information Technology and Manufacturing, P. Will, chair, Information Technology for Manufacturing: A Research Agenda, National Academy Press, 1995. [3] Yahoo. http://www.yahoo.com/ 2/2/1998. [4] Infoseek. http://www.infoseek.com 2/2/1998. [5] Thomas Register http://www.thomasregister.com/ 2/2/1998. [6] PartNet. http://www.partnet.com, 1/30/1998. [7] Saqqara. http://www.saqqara.com, 1/30/1998. [8] Centor. http://www.centor.com, 1/30/1998. [9] Micromo. http://www.micromo.com, 1/30/1998. [10] Landrover. http://www.landrover.com, 1/30/1998. [11] BMW. http://www.bmwusa.com, 1/30/1998. [12] R. MacGregor, Loom User Manual, USC/Information Sciences Institute. Working paper ISI/WP-22, 1990. [13] P. Luo and P. Will, Active Catalog: A Knowledge-Rich Design Library Facilitating Information Consumption, in ISIP Workshop Series on Knowledge Intensive CAD-2, 1996. [14] S.R. Ling, J. Kim, P. Will, and P. Luo, Active Catalog: Searching and Using Catalog Information in Internet-Based Design, in Proceedings of DETC '97: 1997 ASME Design Engineering Technical Conferences, Sacramento, California, September 14-17, 1997. [15] J. Kim, S.R. Ling, and P. Will, Ontology Engineering for Active Catalog, in AAAI Workshop on Using AI in Electronic Commerce, Virtual Organizations and Enterprise Knowledge Management to Reengineer the Corporation, 1997. 19 ACTIVE CATALOGS APPENDIX OF ACTIVE CATALOGS PROJECT PAPERS Final Report Covering the Period July 13, 1995 to July 12, 1998 Contract Number: J-FBI-95-159 Peter Will, Principal Investigator Director, Enterprise Integration Systems Division USC/Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292 20