This application shares some subject matter with commonly-assigned, concurrently filed U.S. patent application ______ for “Description Based Model Search” (Attorney Docket 2014P21000US), which is hereby incorporated by reference.
The present disclosure is directed, in general, to computer-aided design, visualization, and manufacturing systems, product lifecycle management (“PLM”) systems, and similar systems, that manage data for products and other items (collectively, “Product Data Management” systems or PDM systems).
Product data management (PDM) systems manage product lifecycle management (PLM) systems and other data. Improved systems are desirable.
Various disclosed embodiments include a method for conceptualization and search of block diagram based models. The method includes receiving a selected model from a model library comprised of a plurality of models, mapping physical quantities to each of the plurality of properties of the selected model, associating a semantic interpretation to each of the plurality of properties, defining a similarity determination comparing the semantic interpretation of a first property and the semantic interpretation of a second property, determining property similarities comparing the specific properties for each of the plurality of models to the specific properties of the selected model by applying the similarity determination, determining a model similarity based on a weighted summation of the property similarities, and creating a similarity list of similar models with sufficient model similarities.
The foregoing has outlined rather broadly the features and technical advantages of the present disclosure so that those skilled in the art may better understand the detailed description that follows. Additional features and advantages of the disclosure will be described hereinafter that form the subject of the claims. Those skilled in the art will appreciate that they may readily use the conception and the specific embodiment disclosed as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Those skilled in the art will also realize that such equivalent constructions do not depart from the spirit and scope of the disclosure in its broadest form.
Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words or phrases used throughout this patent document: the terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation; the term “or” is inclusive, meaning and/or; the phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term “controller” means any device, system or part thereof that controls at least one operation, whether such a device is implemented in hardware, firmware, software or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, and those of ordinary skill in the art will understand that such definitions apply in many, if not most, instances to prior as well as future uses of such defined words and phrases. While some terms may include a wide variety of embodiments, the appended claims may expressly limit these terms to specific embodiments.
For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, wherein like numbers designate like objects, and in which:
Many engineering tools use block diagram based models, sometimes called “1D models.” “1D models” consist of blocks representing and modeling elements described by properties, such as ports, internal variables, parameters, and other properties for describing connection points between model elements. Although the model structure is syntactically simple, systematically searching for models configured with desired structural properties and semantic meaning, and finding models combined from different 1D modeling environment is a complex task. One fundamental obstacle in model synthesis is discovering sufficient models fulfilling an incomplete structural requirement.
Model properties and characteristics are reformulated into so-called “concepts,” making them independent from tool vendor or model type specific formats and allowing comparative models and model properties. Structural and property based similarities of models are expressed in a characteristic number representing a metric between models, making it possible to systematically search for models with desired properties. The number can be weighted and adapted to the search purpose.
Models can be compared by their properties using “concepts.” The term “concept” is defined in the standards on conceptualization, such as ISO 704. Examples of properties for the model include ports, internal variables, and parameters. The ports contain an internal structure configured of port variables. The port variables, internal variables, and parameters in the model are represented by variable units. The variable units are based upon the “concept” of the interpretation of representing a physical quantity. “Concepts” are implementation independent, tool and model independent, and compare models independent of the modeling environment. The structure of the models, including the ports, internal variables, and parameters, are used for conceptualization and the derived “concepts” are used for comparing models.
Other peripherals, such as local area network (LAN)/Wide Area Network/Wireless (e.g. WiFi) adapter 112, may also be connected to local system bus 106. Expansion bus interface 114 connects local system bus 106 to input/output (I/O) bus 116. I/O bus 116 is connected to keyboard/mouse adapter 118, disk controller 120, and I/O adapter 122. Disk controller 120 can be connected to a storage 126, which can be any suitable machine usable or machine readable storage medium, including but not limited to nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), magnetic tape storage, and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs), and other known optical, electrical, or magnetic storage devices.
Also connected to I/O bus 116 in the example shown is audio adapter 124, to which speakers (not shown) may be connected for playing sounds. Keyboard/mouse adapter 118 provides a connection for a pointing device (not shown), such as a mouse, trackball, trackpointer, touchscreen, etc.
Those of ordinary skill in the art will appreciate that the hardware depicted in
A data processing system in accordance with an embodiment of the present disclosure includes an operating system employing a graphical user interface. The operating system permits multiple display windows to be presented in the graphical user interface simultaneously, with each display window providing an interface to a different application or to a different instance of the same application. A cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed and/or an event, such as clicking a mouse button, generated to actuate a desired response.
One of various commercial operating systems, such as a version of Microsoft Windows™, a product of Microsoft Corporation located in Redmond, Wash. may be employed if suitably modified. The operating system is modified or created in accordance with the present disclosure as described.
LAN/WAN/Wireless adapter 112 can be connected to a network 130 (not a part of data processing system 100), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet. Data processing system 100 can communicate over network 130 with server system 140, which is also not part of data processing system 100, but can be implemented, for example, as a separate data processing system 100.
In equation 1, S(property1,property2) is a function for determining the similarity between a first property 520, property1, and a second property 525, property2, “n1” is the number of variable units 530 or semantic interpretations 535 for property1, “n2” is the number of variable units 530 or semantic interpretations 535 for property2, and “n0” is the number of the same variable units 530 or semantic interpretations 535 in both property1 and property2. When all the variable units 530 or semantic interpretation 535 in property1 exist in property2, then n0==n1, which provides equation 2:
In the illustrated embodiment, the similarity determination 500 compares Port1 and Port2 from the model illustrated in
In the illustrated embodiment, the tuple similarity determination 600 compares the specific properties 620 of a first model 610, m1, to the specific properties of a second model 615, m2. m1 contains specific properties 620 A, B, C, and D and m2 contains specific properties 620 E, F, and G. The tuple list 625 contains all possible tuples 605 of combinations of one specific property 620 from m1 and one specific property 620 from m2. AG is chosen as the selected tuple 650 with the highest tuple similarity 630. Tuples 605 CG, AE, DG, BG, and AF are removed from the tuple list 625 because they contain specific property 620 A or G. DE is chosen as the next highest unselected tuple 660 and tuples 605 DG, DF, BE, and CE are removed. BF is chosen as the next highest unselected tuple 660 and tuple 605 CF is removed. Because the only tuples 605 remaining in the tuple list 625 are selected tuples 650, the summation 665 of the respective tuple similarities 640 is taken and provides a total tuple similarity 670 of 2.1992.
In the illustrated embodiment, the models contain properties includes ports, parameter and internal variables. A port similarity function 725 determines the port similarity 730, a parameter similarity function 735 determines the parameter similarity 740, and an internal variable similarity function 745 determines the internal variable similarity 750 between the first model 710 and the second model 715.
In certain embodiments, the similarity functions are defined via an equation, such as:
In equation 4, Sprop(model1,model2) is a function for determining the similarity between a first model 710, model1, and a second model 720, model2, “n1” is specific properties for model1, “n2” is the number of specific properties for model2, and “Sump” is the total tuple similarity in both property1 and property2.
In step 905, the system receives a selected model from a model library comprising a plurality of models. Each model of the plurality of models includes properties comprising ports, internal variables, and parameters.
In step 910, the system maps physical quantities to units for each of the plurality of properties of the selected model. Each physical quantity can include multiple equivalent units, typically provided as a string. The units for the properties are mapped to a standard physical quantity based on a list of standard units for relevant physical quantities.
In step 915, the system associates a semantic description to variable units based on the physical quantity mapped to the unit for a property. A physical quantity can include multiple semantic meanings, which can be standardized in a list mapping the physical quantity with possible semantic meanings. The mapping of the physical quantity with semantic meanings can be automated by using the textual descriptions or variable unit names that all engineering systems provide. An interpretation will be chosen when the text includes a textual description or variable unit provided by the engineering system. Otherwise, the mapping is performed manually or by default, such as, a physical base unit.
In step 920, the system defines a similarity determination comparing variable units of a first property and a second property. In certain embodiments, the similarity determination is defined via an equation, such as:
In equation 5, S(property1,property2) is a function for determining the similarity between property1 and property2, n1 is the number of variable units for property1, n2 is the number of variable units for property2, and n0 is the number of variable units of the same unit or semantic interpretation in both property1 and property2. When all the variable units in property1 exist in property2, then n0==n1, which provides:
In step 925, the system determines property similarities, “Sprop,” comparing the properties for each of the plurality of models to the properties of the select model by applying the similarity determination. Examples of property similarities determined include a port similarity, “Sport;” a parameter similarity, “Spar;” and an internal variable similarity, “Silva,” between models.
In step 930, the system determines a model similarity based on a weighted summation of the property similarities. In certain embodiments, the model similarity is determined via an equation, such as:
S(m1,m2)=w1·Sport(m1,m2)+w2·Spar(m1,m2)+w3·Silva(m1,m2) (7)
In equation 7, the sum of weights, “w1,” “w2,” and “w3,” is equal to one. In certain embodiments, the model similarity is determined via a different equation, such as:
In equation 8, “a1” is the number of ports, internal variables, and parameters of “m1,” and “a2” is the number of ports, internal variables, and parameters of “m2.”
In step 935, the system creates a similarity list of similar models with a sufficient model similarity compared to the selected model. The similar models are sufficiently similar as alternatives to the selected model. In certain embodiments similar models containing properties with different interpretations, such as “mechanical power” instead of “hydraulic power,” are removed from the list. The similar models from the similarity list can be selected as an alternative part and replace the selected model. The sufficient model similarity limits the amount of similar models in the similarity list and the sufficient model similarity can be a fixed or variable amount for model similarity. More complex models may require a greater model similarity for exchanging similar models. The sufficient model similarity can be stored in the system or be input with the selected model in the similar model search.
In step 1005, the system determines a tuple similarity between each tuple, where a tuple includes a specific property of a first model “m1” and a specific property of a second model “m2.” For models “m1” and “m2,” a total number of “n1”דn2” possible tuples exists.
In step 1010, the system creates a tuple list containing unselected tuples with respective tuple similarities. The system orders the tuples in a tuple list based on tuple similarity. The list can be descending or ascending, as long as the tuples are ordered based on the tuple similarity.
In step 1015, the system selects a tuple with the highest tuple similarity and removes all the remaining tuples which contain either the specific property of the first model or the specific property of the second model of the selected tuple.
In step 1020, the system repeats step 1015 for the unselected tuples until all the remaining tuples are selected or removed.
In step 1025, the system determines a summation, “Sump” of the tuple similarities of the selected tuples to replace “n0” in the similarity determination for the property similarity, which is defined as equation 9:
In certain embodiments, the system can calculate the summation of each unique combination of tuples, with a specific property only occurring once in the unique combination. “Sump” is the highest summation provided by a unique combination of tuples.
In step 1030, the system returns the similarity determination comparing the properties of a first model to the properties for a second model.
Of course, those of skill in the art will recognize that, unless specifically indicated or required by the sequence of operations, certain steps in the processes described above may be omitted, performed concurrently or sequentially, or performed in a different order.
Those skilled in the art will recognize that, for simplicity and clarity, the full structure and operation of all data processing systems suitable for use with the present disclosure is not being depicted or described herein. Instead, only so much of a data processing system as is unique to the present disclosure or necessary for an understanding of the present disclosure is depicted and described. The remainder of the construction and operation of data processing system 100 may conform to any of the various current implementations and practices known in the art.
It is important to note that while the disclosure includes a description in the context of a fully functional system, those skilled in the art will appreciate that at least portions of the mechanism of the present disclosure are capable of being distributed in the form of instructions contained within a machine-usable, computer-usable, or computer-readable medium in any of a variety of forms, and that the present disclosure applies equally regardless of the particular type of instruction or signal bearing medium or storage medium utilized to actually carry out the distribution. Examples of machine usable/readable or computer usable/readable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs).
Although an exemplary embodiment of the present disclosure has been described in detail, those skilled in the art will understand that various changes, substitutions, variations, and improvements disclosed herein may be made without departing from the spirit and scope of the disclosure in its broadest form.
None of the description in the present application should be read as implying that any particular element, step, or function is an essential element which must be included in the claim scope: the scope of patented subject matter is defined only by the allowed claims. Moreover, none of these claims are intended to invoke 35 USC §112(f) unless the exact words “means for” are followed by a participle.