EP1516234A2 - Informationserzeugungssystem für die produktentstehung - Google Patents

Informationserzeugungssystem für die produktentstehung

Info

Publication number
EP1516234A2
EP1516234A2 EP03738033A EP03738033A EP1516234A2 EP 1516234 A2 EP1516234 A2 EP 1516234A2 EP 03738033 A EP03738033 A EP 03738033A EP 03738033 A EP03738033 A EP 03738033A EP 1516234 A2 EP1516234 A2 EP 1516234A2
Authority
EP
European Patent Office
Prior art keywords
types
type
data
relation
data object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP03738033A
Other languages
English (en)
French (fr)
Inventor
Johann Ulrich Zimmermann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mercedes Benz Group AG
Original Assignee
DaimlerChrysler AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE10236384A external-priority patent/DE10236384A1/de
Application filed by DaimlerChrysler AG filed Critical DaimlerChrysler AG
Publication of EP1516234A2 publication Critical patent/EP1516234A2/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31395Process management, specification, process and production data, middle level
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the invention relates to a system and an information model for generating information about data objects, each of which represents a component of a technical product or a step of a development process for the product.
  • product creation process is understood to be a sequence of phases and activities that are necessary for the manufacture of a technical product. These phases include e.g. B. construction and production planning. The activities of a phase require intermediate or final results from previous phases. It is sometimes possible to run several phases in parallel.
  • a model is a simplified and inevitably incomplete image of a section of reality, here the product or the product development process, on a data processing system.
  • the model contains the properties and dependencies of reality that are required to solve a specific task in a phase.
  • information on is the abstract meaning (the” semantics ) of a statement, description, instruction, message or message.
  • An information model is a simplification of reality, through which information and facts are structured for the processing of at least one task.
  • a data model describes how the data structured according to an information model is stored physically, e.g. B. in a file or a database.
  • Modern tools for computer-aided design offer the possibility of defining construction design elements (design features) or general design elements (features), also called functional elements, as components of product models.
  • a construction design element represents a component of a component and contains geometric specifications, e.g. B. surfaces, edges, geometric bodies, roundings. Bores, pockets, grooves and ribs on the cylinder heads of automobile engines are examples of design and design elements.
  • Design elements are supported by the proposal for the German standard DIN 32869-3 "Technical product documentation - Three-dimensional CAD models - Part 3: Functional elements "from February 2002 known.
  • CAD tools e.g. B. CATIA or UniGraphics or ProEngineer
  • design elements are often tailored to the specific requirements and the conceptual world of a phase. They are the smallest building blocks with functional meaning, with which a user builds a product model for a phase and thus realizes a specific view of the product.
  • Design elements represent e.g. B. Boring and milling, attributes can be assigned to them with a semantics for construction or manufacturing.
  • Basic geometric elements e.g. B. lines, circles and cuboids are also building blocks that are used in many product models, but have no functional meaning.
  • taxonomies (kinship hierarchies) are under Known types of design elements: A taxonomy in Wong and Leung refers to design elements of a phase. The concept of types and examples of design elements corresponds to that of classes and objects of object-oriented programming. In a taxonomy it is stipulated that a type A is a supertype of a type B. All properties of type A also apply to type B and thus to all design elements.
  • the documents disclose a formal language called "Part Design Graph Language” (PDGL) to represent the regulations.
  • PDGL Part Design Graph Language
  • the regulations formulated in PDGL are processed, for example, by an interpreter of the formal language.
  • JJ Shah, D. Hsiao, J Leonard: “A Systematic Approach for Design-Manufacturing Feature Mapping", in PR Wilson, MJ Wozny, MJ Pratt (eds.): “Geometry Modeling for Product Realization", North-Holland Publ., 1992, pp. 205 - 221 automatically executable regulations are implemented directly using a programming language, as part of the processing algorithms of a product design tool.
  • the regulations determine how types of user-defined design features to predefined ones that are stored in a library of manufacturing features, which is done using a reconstruction algorithm us, who realizes the transformation outlined above, performed.
  • the algorithm delivers a "Constructive Feature Tree".
  • MJ Wozny Interactive Feature Extraction for a Form Feature Mapping System ", Rensselaer Polytechnic Institute Troy, New York, 1998, and in TN Wong and CB Leung, loc. Cit., Approaches to transforming design elements are presented that are based on an intermediate model for the product geometry. This intermediate model contains application-neutral types and copies of intermediate design elements. The transformation is carried out indirectly via the intermediate model.
  • a fundamental disadvantage of intermediate models is that only those facts that can also be expressed in the intermediate model can be described in a phase-specific model. Therefore, the intermediate model has to store any information that is needed in any phase. Therefore, the intermediate model often includes difficult-to-use types of "general-purpose design elements" that result in storage undesirable redundant data storage and requires a large amount of storage space.
  • a method and a device are known from EP 785491 A2 in order to link and manage information about the construction and information about the production. Relationships between various pieces of information are established and used to move from one group of information to another group.
  • the information e.g. B. about products, components and manufacturing steps (processes) are saved by data records, the relations by references between data records.
  • a database schema is created, through which data records are structured and stored in meaningful relationships with each other. Regulations that can be evaluated automatically are not mentioned in EP 785491 A2.
  • the database to be built comprises two basic tables.
  • elements of a basic class e.g. B. data objects of a data object type, stored. Relationships between the elements of the two basic tables can be saved in a relationship table.
  • the database can contain several relationship tables for the two basic tables.
  • a relationship category can be assigned to each relationship in a relationship table.
  • the relationship categories are stored in a category table.
  • a word can be the last name of a person.
  • a person can be the inventor of a thing designated by a word.
  • relationship table are the two relationships "word - person” and "person - word” are stored.
  • category table relationship categories "last name” and “inventor” are stored and assigned to the relationships "word - person” and "person - word”.
  • relationship table all possible relationships between the two basic tables are saved saved saved and connected to the entries in the category table. For example, the relationships "person - word”, “thing - word”, “project - word” and "object - word” are assigned to the relationship category "name” in the category table by means of corresponding entries in the relationship table.
  • DE 19816658 AI discloses a relational storage and data processing system.
  • the system comprises a memory in the manner of a semantic network with data objects and relations between these data objects.
  • Such a relation can be linked to a data object using a relation relation.
  • Two relations can be linked with each other by means of a relation relation.
  • two data objects C1, C2 for two computer systems of a rocket are each connected by means of a “used” relation to a data object L for a position control system.
  • the “used” relation between Cl and L is via a relation “while” with one Data object linked for the "Normal” operating state.
  • the relation “used” between C2 and L is linked via a relation "while” to a data object for the operating state "emergency”.
  • the invention has for its object to provide a system according to the preamble of claim 1 and an information model according to the preamble of claim 13, which do not require an intermediate model and by which the automatically evaluable rules for dependencies between data objects are set up efficiently and without redundancy , change, save and delete.
  • Such objects link data objects for different phases or from different applications.
  • these relations connect data objects that represent the same component of the product or process for different phases. Thanks to the relations, it can be automatically and efficiently determined which data objects relate to the same component and which further data objects have to be changed after changing a first data object so that all data objects for one component remain consistent with one another.
  • the invention thus reduces the number and the severity of errors in the product creation process, in particular those errors which are based on contradictions between the different product or process models. Changes to individual models are simplified because the automatically executable regulations, which determine the consequences of the changes and / or execute them automatically, can be set up, expanded, changed, saved and deleted efficiently and without redundancy.
  • the relations can be classified into types. As a result, information that is valid for n similar relations Rel__l, ..., Rel_n between data objects need not be formulated and stored several times. Examples of such information are automatically evaluable rules, attributes, permissible value ranges, preferred values or default values as well as dependencies (constraints) and calculation rules between attributes of data object types connected by a relation. Rather, a type of relation is created and it is determined that Rel_l, ..., Rel_n are all of this type. The information is assigned to the type and only needs to be generated and once to be saved. They are therefore valid for Rel_l, ..., Rel_n.
  • relation types allows simple and uniform access to all relations of a relation type. For example, an application of the product creation process can assign a new attribute to all relations, or make evaluations of those attribute values that assume the relations of a type. The application does not need to know the respective name of the relations or an identifier or an access path to the relations of the type in order to carry out the access. Furthermore, the introduction of relation types makes filtering certain relations considerably easier, because e.g. B. only certain relation types need to be specified and all relations of these specified relation types are filtered out. This filtering facilitates the retrieval of information, which leads to shorter computing times and the work of experts.
  • the automatically evaluable regulations are assigned to these relationship types and not e.g. B. individual relations or even types of design features.
  • data object types remain free of references to other data object types, which would be inevitable if the automatically evaluable regulations were assigned to data object types.
  • This feature is particularly advantageous if another data object type, to which a first data object type refers, is deleted. If the first data object type had a reference to the other data object type, you would have to ensure that this reference is deleted when the other data object type is deleted.
  • the invention creates and stores data objects separately from their mutual relationships.
  • the system according to the invention does not require an intermediate model that is valid for several phases of the product creation process. The system thus avoids the disadvantages described above.
  • the automatically evaluable regulations are preferably formulated in such a way that they do not depend on a specific application of the product creation process, but are application-neutral. This means that an additional application can be supplemented or an old one replaced by a new one without having to change the data storage of other applications.
  • the regulations represent information about which calculations, evaluations and generations are to be carried out. Information on how the regulations are to be executed in detail is assigned to the respective executing application.
  • Another advantage of the invention is that it can deliver productive results even if not all data object types are linked to one another by relation types. Rather, the system according to the invention can also work with incomplete information, e.g. B. with relations Types for only some of the dependencies between data object types. Subsequent additions do not make it necessary to revise earlier specifications.
  • This aspect is particularly important when the product creation process is already established in a company, specific applications for individual phases in productive use and therefore the system according to the invention is gradually coupled with the existing productive applications when it is introduced, because it is impossible to use it to combine suddenly with all these applications during operation or even to interrupt the operation for the introduction. Different degrees of coupling different applications can be realized by means of the system according to the invention.
  • the system according to the invention can initially be used prototypically for individual phases and applications and can be gradually coupled with other applications. Above all, this scalability makes it possible to introduce the system according to the invention evolutionarily into an existing product creation process.
  • the above-mentioned aspect also makes it possible to adapt the invention in the course of a product creation process, instead of having to make do with a rigid data storage scheme during the entire product creation process.
  • relation type categories under relation types is a further feature by means of which duplicate and undesirably redundant data storage is avoided.
  • Information that is valid for m relation types T_l, ..., T_m is assigned to a relation type category K. The information is formulated and saved once.
  • T_l, ..., T_m it is specified that these m types are of the relationship type category K. This means that the specifications for K apply to the m relations types. It is also possible to subsequently assign a relation type T_i to a relation type category.
  • relation type category which attributes and methods the relation types of Category.
  • Further examples of information that are assigned to a relationship type category are the stipulations that each relationship type of the category must have a name and an automatically evaluable rule.
  • Processing algorithms can also be assigned to a category.
  • a rule can be specified for a relation type category, which limits or checks the assignment of data object types to relation types of the category. This regulation takes z.
  • B Reference to data object types. It is also possible to introduce categories of data objects and to refer to data object categories in a rule that is assigned to a relationship type category.
  • relation type categories Another advantage of using relation type categories occurs when information that is valid for several relation types of the same relation type category has to be changed subsequently, eg. B. due to a new design, new requirements for the product to be designed and manufactured or because errors in the old design or work plan became apparent. Because the information is only stored once, namely as part of the information about a relationship type category, it only needs to be changed once. If, on the other hand, they were saved multiple times and redundantly, several change processes would have to be carried out. There is a great risk that a required change process will not be carried out at all, or will only be carried out incompletely or incorrectly, and errors will result in the product part.
  • Certain relation types can be automatically selected by specifying at least one specific relation type category, as a result of which all relation types of the predefined category are selected. This enables intelligent filtering of and a focus on certain relationship types.
  • the taxonomy under relation type categories arranges the u. U. extensive set of relationship types.
  • An application can automatically determine syntactic rules and semantics for a relationship type by determining the assigned relationship type category and its position in the taxonomy and evaluating the information about this relationship type category. The risk is reduced that different types of relations are introduced for the same situation. This avoids unwanted redundancy and overlaps.
  • a uniform taxonomy is preferably established among all types of data objects. This taxonomy comprises several phases of the product creation process as well as data object types for different levels of abstraction of the product.
  • the taxonomy under relation type categories and the taxonomy under data object types are preferably not generated again for each product creation process.
  • the system according to the invention comprises two cross-application and predefined and expandable standard libraries, namely one with data object types and another with categories of relation types between these data object types.
  • These two standard libraries are e.g. B. for each series of an automobile manufacturer, which is designed and manufactured according to a defined product development process. They can be used and expanded as a starting point for a specific product development process, for example a specific new series from an automobile manufacturer, e.g. B. for the product development process of a certain series or a certain application.
  • the libraries are preferably in the form of integrable software libraries (libraries) or data records in a database. It is also possible to use only the standard Provide library for data object types or only that for relation types.
  • Specific data object types and relation type categories are created as subtypes of data object types or relation type categories of the standard libraries. Attributes and other information that are assigned to a data object type or a relation type category of the respective standard library are also valid for all subtypes due to inheritance along the taxonomy of the data object types or the relation type categories - unless specified for the data object type or the relationship type category. Specifications for a more specific data object type override inherited specifications for a more abstract data object type (overloading). Specific types and categories, because they were created as subtypes or subcategories of types or categories of a cross-application standard library, already have a rough semantics through the generation and can be evaluated by applications.
  • a rule that refers to a type or relation of a standard library can also be applied to the specific subtype or subcategory. Because the subtype or subcategory inherits at least all those regulations, methods, attributes etc. that are assigned to the type or category from the standard library.
  • a relation type can e.g. B. two abstract data object types are assigned, these are two data object types that are roots of branches of the tree-like taxonomy, that is, have several sub-types. This assignment specifies that a relation of the relation type may connect two data objects from two data object types of these two branches, but not data objects of other data object types.
  • the exam is e.g. B. performed automatically after the creation of a relation.
  • the taxonomy among data object types can be multiple inheritance provide, ie a data object type can have several other data object types than parent types and inherit different regulations, methods or attributes from them. The taxonomy then no longer forms a tree, but a directed acyclic graph.
  • an automatic recognition of design elements is preferably carried out.
  • certain parts of a product or process model that have not yet been typed are typed by assigning them to previously defined data object types. It is preferably made possible that a component can be assigned not only to a sheet of taxonomy under data object types, but also to an abstract data object type. These data objects are then linked to other data objects for other phases of the product creation process by means of relations.
  • Data object types and thus data objects are preferably assigned to specific phases of the product creation process.
  • a data object type can be assigned to several phases.
  • the phases are e.g. B. also modeled as data object types that are linked by relationship types with other data object types.
  • the system according to the invention preferably comprises (claim 8) a device for assigning a data object type to at least one of at least two different phases of the creation process and a device for generating a single taxonomy for data object types, ...) which are assigned to a first phase and for data object types (500.1, 500.2, ...) that are assigned to a second phase.
  • the taxonomy can include data object types for any number of phases.
  • This embodiment is preferably combined with a system with the features of claim 1.
  • it is also possible to provide a system for generating information about data objects the system a device for generating types of data objects, a device for assigning a data object type to a phase and a device for generating a single taxonomy for data object types.
  • FIG. 3 shows a section of a taxonomy under data object types.
  • the system 10 comprises the central service program 98 as well as the central database 100 with relation type categories, data object and relation types as well as relations 400.1, 400.2, 400.3, 400.4. Relation type categories on the one hand, relation types 600 and data object types 500 on the other hand and relations 400 as a third logically form three different levels of abstraction, but are preferably stored physically in the same central database 100.
  • Information forwarding interfaces 250 connect the central service program 98 to four applications 200.1, 200.2, 200.3 and 200.4.
  • the two The applications 200.2 and 200.4 each manage local data storage 110.1 and 110.2, which is filled with data from the central database 100.
  • the system 10 according to the invention is implemented with the aid of a central data processing system, which is preferably connected to a number of other data processing devices.
  • the system 10 comprises a central service program (application server) 98 and a central database 100.
  • the system 10 according to the invention preferably functions as a central data storage system for the applications 200 and thus for several phases of the product creation process. This provides an application 200 for one phase with data and information from other phases, and the individual applications are better integrated with one another. This supply of data and information avoids errors that e.g. B. due to media breaks, saves time and facilitates changes because the effects of a change in one phase on other phases or on other applications 200 are determined.
  • the applications 200 typically solve specific tasks for certain phases of the product creation process. These phases include e.g. B. Design (concept design), construction (detailed design), calculations, construction of the tools required for product manufacture, prototype construction and testing, work planning for series production, resource Planning, work planning for series production including resource planning, series production, quality control, evaluation of experience in series use. Examples of the applications 200 on the data processing devices are software systems for construction (computer-aided design, CAD), for product data management (product data management, product engineering management), for product simulation by means of calculation models, for example. B. for the behavior of the product under mechanical loads, for manufacturing planning, for resource planning (enterprise resource management), for programming machine tools, for carrying out and evaluating measurements for quality assurance and for processing a workflow (workflow management).
  • CAD computer-aided design
  • product data management product data management
  • product engineering management for product simulation by means of calculation models, for example.
  • B. for the behavior of the product under mechanical loads, for manufacturing planning, for resource planning (enterprise resource management), for programming
  • Each of these applications 200 uses a specific view of the product and requires certain data objects 300.
  • the reasons for the different views are that each application 200 has specific tasks to perform and therefore requires specific data, information and knowledge and requires specific work states when solving problems.
  • a data object 300 belongs to at least one specific model 150, which in turn belongs to a specific view of the product or the process and is generated and processed by at least one application 200 for a phase of the product creation process. It is possible for the same model to be processed by different applications 200.
  • These applications and the central database 100 are connected to the central service program via information forwarding interfaces 250.
  • This reduces the development and maintenance effort: With n applications 200.1, ..., 200. n only n interfaces between the applications and the central service program 98 are required. In extreme cases, if direct interfaces between the n applications 200.1, ..., 200.n would be required to develop and maintain a total of n * (nl) / 2 interfaces. For n 10, only 10 instead of 45 interfaces can be developed thanks to the invention. Due to the central data storage, a conversion between application-specific product or process models 150 and the information and / or data models used in each case is also not necessary.
  • FIG. 2 shows an exemplary architecture with the system 10 according to the invention and four applications 200.1, 200.2,
  • the four applications are via four information forwarding interfaces 250.1, 250.2, 250.3 and
  • System 10 further includes a user interface 50.
  • the central data storage is preferably described and read exclusively by the central service program 98. Only the central service program 98, but not the applications 200.1, 200.2, 200.3 and 200.4, have write and read access to the central database 100.
  • the following information is permanently managed in the central database 100 and via the central service program 98 and the information forwarding Interfaces 250 made available to the applications: the relationship type categories and the taxonomy among them, the data object types 500 and the taxonomy among them the relationship types including the taxonomy among them and the automatically evaluable regulations
  • An application 200.1 thus “knows” relations after a read access, for example a relation 400.1 between a data object.
  • no information about the other models is preferably stored in the models 150 or local data memories 110, so that a model of one application does not have direct references to a model of another application.
  • Data objects 300 and applications 200 for generating, editing and evaluating data objects, in particular construction and manufacturing design elements, are often tailored to the specific requirements of the phase. They represent the relevant components of the product or process for the respective phase.
  • the data objects 300 and relations 400 form the building blocks in order to generate models 150 for the respective phase.
  • a data object 300 is preferably not generated, changed, deleted and managed by the central service program 98, but rather by the respective application 200.
  • the application 150 provides, in particular, the permanent storage of the data object 300 z. B. in a local database 110.
  • the data object 300 is part of a product or process model 150 and is generally only available to the generating application 200, but not to any other application.
  • the central service program 98 can address a data object 300 via an access method, e.g. B. with the aid of an access path to the product or process model 150 and a unique identifier within this model or via a programming interface (application programming interface, API) to an application 200.
  • a relation 400.1 stored in the central database 100 has references to the data objects 300.1 and 300.3, which are connected by the relation 400.1. These references include all information that the central service program 98 requires for read access to the data objects 300.1 and 300.3.
  • An application 200 can trigger the generation and permanent (persistent) storage of a data object type 500 in the central database 100 via an information forwarding interface 250 and the central service program 98. Conversely, the application 200 can obtain information about data object types 500 from the central database 100, e.g.
  • a data object 300 of a certain data object type 500 by instantiation.
  • an information forwarding interface 250 is sent to a CAD tool as an application 200 to instantiate a data object 300 of a predetermined data object type 500.
  • the system 10 specifies the type 500 and the name and certain attributes and / or methods of the data object 300 to be generated to an application 200.
  • the central service program 98 determines which other data objects 300.3 of the same or other applications are affected by this deletion. The following sequence is carried out automatically for this, cf. Fig. 1:
  • the application 200.1 transmits to the central service program 98 an identifier and the type 500.1 of the data object 300.1 to be deleted.
  • the central service program 98 uses read access to the central database 100 to determine which relationship types connect the data object type 500.1 to other data object types. Be 600.1, ..., 600. n these types.
  • the central service program 98 determines the m relations 400.1, ..., 400. m, which are of one of the types 600.1, ..., 600. n or a subtype of these n types and which each carry a reference to the data object 300.1.
  • the central service program 98 determines which other data objects 300.3, 300.5 at least one of these m rela- are assigned. The planned deletion affects these data objects.
  • the central service program 98 determines which automatically evaluable regulations are assigned to the n relationship types 600.1, ..., 600. n. By evaluating these regulations, the central service program 98 determines further consequences of the planned deletion, e.g. B. Changing parameters or deleting other data objects.
  • the central service program 98 determines which applications 200.1, 200.3 manage at least one of these influenced further data objects 300.3, 300.5, and transmits a description of the effects to the respective application 200.1, 200.3.
  • the central service program 98 deletes all references to the deleted data object 300.1 from the relations 400.1, ..., 400.m. Relations are deleted if necessary.
  • An alternative embodiment provides that the application 200.1 deletes the data object 300.1 and only subsequently transmits the information about the deletion to the central service program 98.
  • a corresponding sequence is z. B. executed to generate information about which other data objects a previously selected typed first data object 300 is associated with. This information is generated either by direct evaluation of information or, for example, by the following sequence:
  • a typed data object is selected.
  • the system 10 comprises components for carrying out this determination.
  • the central service program 98 regulates the control and information flow between the applications 200 and between an application 200 and the central database 100. It answers queries that come in from an application 200 via an information forwarding interface 250, triggers events such as the generation of a Data object 300 and manages the central database 100 including transaction management for the permanent storage of data objects 300 and relation types 600, relations 400 and relation type categories.
  • the central service program 98 intervenes e.g. B. with the aid of standard protocols such as "Open Database Connectivity" (ODBC) to a relational database that functions as the central database 100.
  • ODBC Open Database Connectivity
  • SQL Standard Query Language
  • An alternative embodiment provides for functional or object-oriented interfaces to be provided between central service program 98 and central database 100 in connection with defined programming interfaces for applications (application programming interfaces, APIs).
  • the central service program 98 uses functionalities of programming interfaces to obtain read and / or write access to the central database 100.
  • One advantage of XML files is that they are easy to use. ODBC and SQL are widely used standards.
  • DCOM distributed Component Object Model
  • HTTP Hypertext Transfer Protocol
  • CORBA Common Object Request Broker Architecture
  • IDL Interface Definition Language
  • EJB Enterprise Java Beans
  • the central service program 98 and further components of the system 10 according to the invention and at least some applications 200 all run on the same data processing system.
  • the system 10 according to the invention preferably comprises its own data processing system, which functions as a network central computer (server) in a client-server architecture.
  • the data processing devices for the applications 200 act as network subscriber computers (clients).
  • the invention supports the integration of various applications 200 in two directions along the product creation process: downstream and backward. Integration upstream is achieved in particular by determining the effects of a change in one phase on subsequent phases, e.g. B. from the construction phase to the manufacturing phase or to the tool making phase, in which, depending on product models 150, the tools required for manufacturing the product are designed.
  • the downstream integration results in applications 200 being informed about models 150 in earlier phases in later phases. Individual data objects 300 from these earlier phases, e.g. B. the product design phase, z. B. Design reasons (design rationale) can be assigned, which lead to better decisions in later phases.
  • the invention supports, for example, cost prediction, product design with a predefined optimization criterion and / or predefined Boundary conditions (design-to-X), automation of the workflow (workflow management) as well as the handling of experiences, justifications and reasons.
  • a cost prediction application 200 e.g. B. includes a database 110 with data records for tools, machining times and hourly rates. Thanks to the invention, the application 200 that manipulates the product model 150 with the design features has read access to the cost information and can cause the cost of the wellbore to be predicted.
  • FIG. 3 shows a section from the taxonomy for data object types spanning applications and phases.
  • a rectangle represents a data object type.
  • An edge connects a subtype with the supertype shown above the subtype.
  • the rectangles represent the following data object types:
  • Data objects in particular design features and manufacturing features, are preferably treated according to the object-oriented paradigm that is derived from J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorenson : "Object-Oriented Modeling and Design", Prentice-Hall, Englewood Cliffs, 1991, is known.
  • Data objects 300 are typed, and types 500 (types / classes) of data objects can have attributes or parameters that reflect the static properties of the data objects describe, and have methods for the dynamic properties of the data objects.
  • a data object 300 of a predetermined data object type 500 can be created by “instantiating” the data object type.
  • the data object generated in this way has the attributes and Methods of the data object type.
  • several abstraction steps are preferably carried out. Similarities between n data object types 500.1, ..., 500.n are identified and summarized in a new, more abstract data object type.
  • This new data object type 500. o becomes parent type of 500.1, ..., 500. n. 500. o is connected to 500.1, ..., 500. n by a specialization relation.
  • the result of the abstraction steps is a taxonomy among data object types 500. Sheets of this taxonomy, that is to say data object types without subtypes, can be instantiated, the more abstract data object types preferably not.
  • Relation types 600 Corresponding typings are carried out for the relations 400 according to the invention between data objects 300. This creates relation types 600, from which relations 400 can be generated by instantiation. Corresponding abstractions of the relationship types 600 generate relationship type categories and a taxonomy under these relationship type categories.
  • a relation 400 connects at least two data objects 300. a and 300.b.
  • a relation 400 functions as a building block for the administration and evaluation of the dependencies between data objects 300. a, 300. b.
  • a relation 400.a can also connect another relation 00.b with one or more data objects 300. a, 300.b or connect several other relations with one another.
  • a relationship type 600 connects at least two data object types 500. a and 500.b with one another.
  • a relation type 600. a can also connect another relation type 600.b to one or more data object types 500 or else connect several other relation types to one another.
  • An example of a relation that connects other relations with one another are data objects and relations for a hole pattern, that is, several holes with specific positions relative to one another, which are punched out of a metal sheet.
  • a data object type "boreholes" with the two sub-types “Reference holes” and “dependent holes” are introduced.
  • the n holes of a hole pattern are represented by a data object of the type “reference boreholes” and n-1 data objects of the type “dependent boreholes”.
  • the absolute target position of the reference borehole and the relative positions of the n-1 dependent boreholes are specified and represented by corresponding attributes.
  • a data object of the "position tolerance” type and n-1 data objects of the "measurement tolerances” type are generated and assigned to the reference borehole or the n-1 dependent boreholes by means of relations.
  • a relation type "relative position” and n-1 relations of this type are created, each relation of this type connects the reference borehole, a dependent borehole and a measurement tolerance.
  • the relation type "relative position” is with the data object types “Reference holes”, “dependent holes” and “measurement tolerances”. It includes a checking rule for the relative position of the dependent hole relative to the reference hole of the hole pattern. The rule refers to those by the third Every relation of the "relative position” type "knows” this regulation.
  • the system 10 determines the required attributes of the three data objects and inserts them into the regulation. whether the relative position complies with the specified measurement tolerance.
  • Another relation type called "hole patterns” is inserted leads.
  • a relation of this type is generated for each hole pattern, which connects the n-1 relations of the “relative position” type that have just been described. Via this relation, the central service program 98 can access all data objects and relations that represent the hole pattern.
  • a different embodiment of this example provides for N subtypes of the data object type "dependent boreholes" to be generated, where N is the maximum possible number of holes Hole pattern is.
  • the n-1 data objects for the n-1 dependent boreholes of the hole pattern belong to n-1 different ones of the N data object types. Thanks to this embodiment, a specific dependent borehole can be addressed by knowing only the respective data object type.
  • An experience object comprises texts, images and / or sequences of images, the experiences with another data object or a relation or reasons z. B. for a design decision (design rationale).
  • a data object of the type "explanations” is identified by a relation with at least one other data object, e.g. B. a design element or a component, a data object type or a relation or a relation type or a relation type category.
  • the same explanation can be assigned to different data objects. It is possible to first assign an explanation to a data object and later to the corresponding data object type after an approval process.
  • the relations between explanations on the one hand and other data objects, relations, types or relation type categories on the other hand are also typed, e.g. For example, they all belong to a relation type "explanation assignment".
  • checking and generic relations Two types of relations are distinguished, namely checking and generic relations. A distinction is made between checking and generic relationship types.
  • a checking relation type describes at least one logical dependency between data objects through the assigned checking regulations. It is checked whether the existing data objects are compatible with the regulations. New data objects are not created.
  • a special form of a checking rule is an attribute of the relation type. For example, this attribute identifies a relation and thus a dependency between data objects of different applications 200.1, 200.2 closer.
  • a cylinder head has n cooling fins. These are modeled in the construction phase by n construction design elements. A basic body for the cylinder head is supplemented by these n design elements.
  • the cooling fins are created by milling recesses from a block. These recesses to be milled are modeled in the work planning phase using manufacturing design elements.
  • a type of relationship between n construction design elements for the construction phase and m manufacturing design elements for the work planning phase is introduced. Such a relationship connects n cooling fins and m cutouts on a cylinder head.
  • a membership interval has e.g. B. the form a: b, where a is a natural number and b is a natural number or *.
  • the definition * stands for any number of data objects.
  • two foreign roles are also assigned to the relationship type, namely the roles “as construction design elements” and “as production design elements”. This determines which roles the connected data objects play in a relation of the type “from the role perspective”.
  • n membership intervals and n roles are preferably defined for a relation type, the n data object types and / or relations -Types types with each other. This configuration makes it possible to efficiently model now relationships.
  • a relation type is assigned an identifier of its own role, that is the role that a relation of the type plays from the perspective of the connected data objects. The following example explains the difference between foreign roles and your own role:
  • the data object type “construction design elements” has, inter alia, the subtype "two-stage boreholes"
  • the data object type “production design elements” has the subtype "holes”.
  • "Two-stage boreholes” and “holes” are assigned to a relation type "is manufactured as” in such a way that a relation of the type connects a two-stage borehole with two holes.
  • the relations type is assigned its own roles “manufacturing View “(from the point of view of the design elements) and” precast element view “(from the point of view of the design elements).
  • the foreign roles upper hole “and” lower hole “(from the point of view of the two - stepped borehole) and "stepped borehole” (from the perspective of the boreholes).
  • the rule assigned to the relation type called "is manufactured by” specifies, for example, which and how many manufacturing design elements are required for given construction design elements.
  • the missing manufacturing design elements are not created automatically. It is the responsibility of the particular application 200 to which the objection is being reported, or its users, to resolve it.
  • Checking relations can also have so-called ontological knowledge about semantic relationships between data object types. They allow a consistent flow of information along the product creation process and link applications on the information level and not only on the data level.
  • a generating relation comprises at least one generation rule that can be evaluated automatically and that defines how data objects are generated automatically.
  • This rule is assigned to a type of generating relationship and specifies the desired result of a generation step.
  • the central service program 98 preferably transmits this desired result to the respective applications 200. It is the responsibility of these applications 200 and, if necessary, of their users to generate the desired result.
  • These regulations may depend on conditions in product models 150 or may be triggered by these or by other defined events. For example, after each change of an application-specific model for a phase, it is determined which data objects are affected by the change and which generating relations relate to these data objects. A change in the product model triggers an automatic evaluation of the generating relations determined on the basis of the change. Generating relations thus automate tasks in the product creation process.
  • a generating relation links the data objects that trigger a generation step with those data objects that are generated during this generation step, e.g. B. by "instantiation".
  • the generation rule which is assigned to the respective type of generating relations, includes all information that is required to instantiate data objects in a specific product or process model.
  • a rule encompassed by a generating relation generates z. B. a group of design elements interconnected by relations (feature constellation). Not only are the data object types instantiated to create the connected design elements, but also the relation types to create the connecting relations.
  • a generation step is always triggered, for example, whenever a previously specified data object is changed or instantiated. According to the invention, the definition of what triggers a generation step is assigned to a relation type.
  • a rule that is assigned to a relationship type is interpreted, for example, by a component of the system 10 according to the invention. Or the central service program 98 forwards the rule to an inference machine 60, which carries out the automatic evaluation and reports its result, ie the desired result of a generation, back to the central service program 98. Because the inference machine 60 carries out complex evaluations, it is often advantageous to implement it as a separate application from the central service program 98.
  • relation type categories, relation types and relations are explained using an example.
  • a data object type "holes” is introduced in the cross-application standard library and assigned to the phase product construction.
  • the data objects of this type are construction design elements
  • a type of quality design elements called "function tolerances” with the sub-types “shape tolerances”, “position tolerances” and “measurement tolerances” is introduced and assigned to the phase "construction”.
  • the type "holes” receives a subtype “drill holes” and this subtype “drill holes for bodywork”.
  • This configuration takes into account that the designers already in the "construction” phase have functional tolerances such as: B. for construction design elements lay.
  • further tolerances are defined, for example those for monitoring the manufacturing process and in particular the processing machines and tools used to manufacture the product.
  • the quality assurance phase is assigned a type of measuring design elements (measuring features) called "measuring points".
  • Each measuring design element represents a sampling point, the actual position and / or orientation of which is determined during quality assurance and with a target position and / or target Orientation is compared.
  • a relation type category called "measurement strategies" is introduced. It is determined that a relation type of this category connects three data object types, namely a type of construction design elements, a type of quality design elements and a type of measurement design elements, and which parameters a relation type of the category must have at least, preferably at least one name and a measurement strategy, formulated, for example, with the help of the document description language "eXtended Markup Language” (XML) or as free text.
  • XML extended Markup Language
  • Each relationship type in the "measurement strategies" category thus combines a type of construction design elements, a type of quality design elements and a type of measurement design elements.
  • a checking relation type of the category "measurement strategies” is created, given the name “is checked by” and assigned to the category "measurement strategies".
  • the relation type "is checked by” connects three data object types with one another, namely the types " Boreholes ",” Hole Tolerance " and "measuring points”. For example, the following checking rule is assigned to this relationship type:
  • the diameter of k is less than 0.5 mm and the tolerance of qu is greater than 0.1 mm, then the number of m is 5.
  • the number of m is 8.
  • the diameter of k is between 0.5 mm and 5 mm, then the number of m is 10. If the diameter of k is greater than 5 mm, then the number of m is 20.
  • the “number of m” denotes the number of measuring points which are assigned to the borehole and with which the compliance with the required tolerance is checked.
  • the invention enables “bidirectional associativity” between data object types. This is explained in the following example.
  • Two data object types A and B have the three parameters x and y (parameters of A) and z (parameters of B).
  • Tools for automatic equation and inequality solving can rather do such an equation automatically of the unknown to solve. Such tools are e.g. B. from WO 00/31640 A2 and US 5,477,450.
  • the system 10 automates the cooperation between different applications 200 and thus the automation of tasks in the product creation process across different phases and applications 200.
  • an application 200.1 transmits to the central service program 98 that the application 200.1 will create a data object 300.1 of a predetermined type by instantiation.
  • This data object 300.1 belongs to a product model 150.1, which is generated and processed by the application 200.1.
  • the central service program 98 determines the type 500.1 of the data object 300.1 to be generated and determines which relationship types connect this data object type 500.1 to other data object types. If there are no such relationship types, or if only checking regulations are assigned to this relationship type, the system 10 reports to the application 200.1 that the creation of the data object 300.1 can be continued.
  • the inference machine 60 evaluates it. The result depends on the data object 300.1 of type 500.1 to be generated, for example it consists of n data objects of a type 500.2 and r data objects of another type 500.3 as well as relations between the new data object of type 500.1, the n new data objects of type 500.2 and the r new type 500.3 are to be created.
  • the inference engine 60 transmits this result to the central service program 98.
  • the central service program 98 determines which applications 200 are influenced by this result, e.g. B. the triggering application 200.1 and / or other applications.
  • Each affected application 200.b receives the message which data objects it has to create, e.g. B. which the n of type 500.2, which the r of type 500.3. The generation of these data objects is the responsibility of the respective applications. After the applications 200 have completely created the data objects 300 for their respective product models 150, they report back to the central service program 98 that the creation proposals have been carried out.
  • a similar process is triggered when an application 200 changes or deletes an existing data object 300 (change management). If a relationship type 600 is determined with a checking rule, this is used to check whether there is still a consistent state after the change or whether, for example, the change violates a rule that can be executed automatically and assigned to a relationship type.
  • the system 10 also supports the simultaneous collaboration of different applications 200 (current engineering). Changes that a first application 200.1 makes to a first model 150.1 of the product or process often have an effect on a second model that is processed by a second application 200.2. However, the first application 200.1 has no write access to the second model 150.2, because the processing of the second model is the responsibility of the users of the second application 200.2. In this case, the system 10 determines which data objects of the first model 150.1 are affected by the change. It determines which relations link this data object with other data objects and which regulations are assigned to the types of these relations.
  • a procedure and a data model are preferably selected that are independent of a specific application.
  • One embodiment provides that the syntax "extended markup language” (XML) with "XML Schema Definition” (XSD) is used and information is saved as ASCII text or text in Unicode format.
  • XML extended markup language
  • XSD XML Schema Definition
  • information about data object types 500 and relationship types 600 are stored in different files and / or tables in a relational database. Each type is saved as a separate XML entity in a separate data record in a table.
  • Applications 200 have read and write access to the central database 100 of the system 10 according to the invention as central data storage via defined information forwarding interfaces 250.
  • ODBC Open Database Connectivity
  • SQL Standard Query Language
  • Data objects 300 are preferably stored together with the respective product model 150, but relations are separated from the applications 200 in the central database 100 together with the types.
  • the user interface 50 of the system 10 according to the invention is preferably implemented separately from the central service program 98.
  • the user interface 50 can thus be tailored and “personalized” to different users without having to adapt the data storage to different user groups. For example, an experienced user is offered more options for action than a newcomer, while a newcomer receives more assistance.
  • Central utility 98 also preferably creates and manages models for read and write permissions, behavior, skills, and preferences of users who use at least one of applications 200 (user modeling).
  • These "user profiles" are managed in the central database 100.
  • the users are categorized into different classes.
  • the applications 200 have read access to these profiles and generate local user interfaces of the applications which are based on the respective Because these profiles and authorizations are stored and managed centrally for the users, they only need to be created and maintained once. It is not necessary for each application to manage 200 such profiles separately. This is inevitably with double data storage and is considerable more effort.
  • a user profile preferably also includes information that determines how the data object types are presented to the respective user.
  • information that determines how the data object types are presented to the respective user.
  • it is specified in which order which data object types appear in a navigation tree that is presented to the user.
  • This navigation tree can match the taxonomy, but can also be structured differently and not show all abstract data object types (types with subtypes), e.g. B. only the instantiable data object types.
  • the navigation tree for a particular user is constructed in such a way that the user can achieve certain types of data objects with few operations (eg "expand" and select). Data object types that a user frequently uses can be reached more quickly than others Data object types.
  • the system 10 has a user interface 50, which is preferably hidden from the users of the applications 200 and is used by an administrator and administrator of the central database 100 and the central service program 98.
  • the two syntaxes for two exemplary data models are outlined below.
  • the first data model referred to below as the class model, specifies how resource categories, resource types and data object types are stored in the central database 100.
  • the second data model hereinafter called the instance model, determines how resources (instances) are stored in the central database 100.
  • the instance model syntax can also be used to store data objects.
  • the specifications for both data models can e.g. B. using XML and XSD.
  • the class model syntax specifies the following:
  • the class model includes at least one class, and, if necessary, a specification of which version of the class model is used.
  • the class model can include any number of classes.
  • the class is a resource category, a resource type or a data object type, an internal identifier and at least one externally visible name of the class - a name is preferably stored for each natural language used, which simple parameters the class has, with a class having no, one or more simple parameters.
  • the measuring unit e.g. mm
  • an elementary data type e.g. integer
  • a preset value access value
  • a range of values and Explanations saved, which complex parameters the class has, whereby a class has no, one or more complex parameters.
  • a complex parameter refers to a type of complex parameter, which is a user-defined data type, and includes internal ID, names and default values, which methods the class has, whereby a class has none, one or more methods.
  • Each method is identified by its internal identifier, name, list of arguments (with argument name and data type), type of return value (return type) and method body (body), which dependencies the class has, whereby the dependencies are formulated as automatically evaluable rules .
  • Administrative information e.g. B. Determinations of who has read and who has write access to the class, who created the class when, who last changed it and when, which applications have 200 read access to the class.
  • An automatically evaluable rule can be implemented as a parameter or as a method of a relation type or a relation type category.
  • the syntax for the instance model specifies the following:
  • the instance model comprises at least one instance, that is, a relation or a data object, and, if necessary, a specification of which version of the instance model is used.
  • the instance model can include any number of instances.
  • the instance is a relation or a data object, a reference to the relation type or data object type to which the instance belongs, preferably by specifying the internal identifier of the type, an internal identifier and at least one externally visible name of the instance - preferably one name per natural language used saved which simple parameters the instance has,
  • one data record per data object type 500 is created according to the class model.
  • n + 1 data records are created, namely one for the relationship type 600.1 itself and one for a reference to a partner, i. H. a data object type 500. a or on another relation type 600. a, which is assigned to the relation type 600.1 and is connected to other types by 600.1.
  • the relational database is preferably structured in normal form, each table implements 1: 1 and 1: n links, but no m: n links with m> 1 and n> 1.
  • the internal identifiers of the types function as keys of the data records.
  • the XML statements to represent the parameters and methods of a type are entered as text in a single cell of the data record.
  • An XML statement for a reference to another type is also entered in a single cell.
  • This embodiment has the advantage, among other things, that information can be read quickly from the central database 100 and that the database schema even when a data model is changed, e.g. B. the co- The "XML Schema Definition" (XSD) implemented class model does not need to be changed.
  • XSD XML Schema Definition
  • relation type categories, relation types and data object types are read in from the central database 100
  • the links between categories and types are kept available in the form of duplicate lists in the random access memory of the data processing system.
  • the central service program 98 generates these lists in the working memory. If an application 200 needs information about a category or type, e.g. If, for example, the taxonomy under relation type categories, read access to the central database 100 is not necessary. Rather, the required information is obtained with the help of pointers to specific memory cells in the main memory. This embodiment saves computing time because accessing permanent storage media takes more time than accessing a temporary storage medium such as a working memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft ein System (10) zur Erzeugung und Speicherung von Datenobjekten (300.1, 300.2,..), die jeweils einen Bestandteil eines technischen Produkts oder einen Schritt eines Entstehungsprozesses für das Produkt repräsentieren. Erfindungsgemäss vermag das System (10) Typen von Relationen (600.1, 600.2, ...) zwischen mehreren Datenobjekt-Typen (500.1, 500.2, ...) zu erzeugen und diesen Typen Datenobjekt-Typen (500.1, 500.2, ...) sowie automatisch auswertbare Vorschriften für Abhängigkeiten zwischen Datenobjekten (300.1, 300.2, ...) zuzuordnen. Vorzugsweise ist eine Taxonomie für Datenobjekt-Typen (500.1, 500.2, ...) verschiedener Phasen des Entstehungsprozesses vorgesehen. Die Erfindung ermöglicht es, verschiedene Anwendungen (200.1, 200.2, ...) für jeweils bestimmte Phasen miteinander zu koppeln, ohne ein Zwischenmodell oder direkte Schnittstellen zwischen den Anwendungen erzeugen und pflegen zu müssen.

Description

Informationserzeugungssystem für die Produktentstehung
Die Erfindung betrifft ein System sowie ein Informationsmodell zur Erzeugung von Informationen über Datenobjekte, die jeweils einen Bestandteil eines technischen Produkts oder einen Schritt eines Entstehungsprozesses für das Produkt repräsentieren.
Unter dem Begriff Produktentstehungsprozeß wird eine Abfolge von Phasen und Aktivitäten verstanden, die zur Herstellung eines technischen Produkts nötig sind. Zu diesen Phasen zählen z. B. die Konstruktion und die Produktionsplanung. Die Aktivitäten einer Phase benötigen Zwischen- oder Endergebnisse von früheren Phasen. Möglich ist es manchmal, mehrere Phasen parallel auszuführen.
Die meisten oder gar alle Phasen des Produktentstehungsprozesses z. B. für eine Automobil -Baureihe werden heutzutage durch den Einsatz von Modellen und automatisch auswertbaren Informationen auf Datenverarbeitungsanlagen unterstützt. Ein Modell ist ein vereinfachtes und zwangsläufig lückenhaftes Abbild eines Ausschnitts der Realität, hier des Produkts oder des Produktentstehungsprozesses, auf einer Datenverarbeitungsanlage. Das Modell enthält die Eigenschaften und Abhängigkeiten der Realität, die zur Lösung einer bestimmten Aufgabe einer Phase benötigt werden. Mit dem Begriff „Informati- on" wird der abstrakte Bedeutungsinhalt (die „Semantik") einer Aussage, Beschreibung, Anweisung, Nachricht oder Mitteilung bezeichnet. Um Informationen z. B. in einem Rechner zu repräsentieren und abzuspeichern werden Daten verwendet. Ein Informationsmodell ist eine Vereinfachung der Realität, durch die Informationen und Fakten für die Bearbeitung mindestens einer Aufgabe strukturiert werden. Ein Datenmodell beschreibt, wie die gemäß eines Informationsmodells strukturierten Daten physikalisch gespeichert werden, z. B. in einer Datei oder einer Datenbank.
Weil oft in jeder Phase spezifische Anforderungen zu erfüllen sind und diese Anforderungen von Phase zu Phase differieren und weil für die Erfüllung dieser Anforderungen z. T. spezifische Informationen benötigt werden, wird in jeder Phase eine spezifische Sicht auf das zu entwickelnde und zu fertigende technische Produkt benötigt. Gewünscht werden Ansätze, welche die Modelle und Informationen der verschiedenen Phasen so verknüpfen, daß die spezifischen Anforderungen jeder Phase erfüllt werden und dennoch die Modelle widerspruchsfrei zueinander sind und möglichst keine Redundanzen, also mehrfache identische Informationen, aufweisen. Änderungen an einem Modell einer Phase werden idealerweise in Modellen anderer Phase nachgeführt.
Moderne Werkzeuge für den rechnerunterstützten Entwurf (com- puter-aided design, CAD) bieten die Möglichkeit, Konstrukti- ons-Gestaltungselemente (design features) oder allgemeiner Gestaltungselemente (features) , auch Funktionselemente genannt, als Bestandteile von Produktmodellen zu definieren. Ein Konstruktions-Gestaltungselement repräsentiert eine Komponente eines Bauteils und enthält geometrische Festlegungen, z. B. Oberflächen, Kanten, geometrische Körper, Abrundungen. Bohrungen, Taschen, Nuten und Rippen an Zylinderköpfen von Automobil-Motoren sind Beispiele für Konstruktions- Gestaltungselemente . Gestaltungselemente sind durch den Vorschlag für die Deutsche Norm DIN 32869-3 „Technische Produkt- dokumentation - Dreidimensionale CAD-Modelle - Teil 3: Funktionselemente" vom Februar 2002 bekannt.
CAD-Werkzeuge, z. B. CATIA oder UniGraphics oder ProEngineer, bieten oft eine Bibliothek mit Typen von Gestaltungselementen sowie Funktionalitäten, mit denen ein Benutzer eigene Typen von Gestaltungselementen (user-defined feature types) erzeugen kann. Oft sind die Gestaltungselemente auf die spezifischen Anforderungen und die Begriffswelt einer Phase zugeschnitten. Sie sind die kleinsten Bausteine (building blocks) mit funktionaler Bedeutung, mit denen ein Benutzer ein Produkt-Modell für eine Phase aufbaut und damit eine spezifische Sicht auf das -Produkt realisiert. Gestaltungselemente repräsentieren z. B. Bohrungen und Ausfräsungen, ihnen lassen sich Attribute mit einer Semantik für die Konstruktion oder Fertigung zuordnen. Geometrische Grundelemente, z. B. Linien, Kreise und Quader, sind ebenfalls Bausteine, die in vielen Produkt-Modellen verwendet werden, aber keine funktionale Bedeutung besitzen.
Aus T. N. Wong und C. B. Leung : „An object-oriented neutral feature model for feature mapping", Internat. Journal of Pro- duction Research, Vol.38 (2000), pp. 3573 - 3601, sind Taxo- nomien (Verwandtschaftshierarchien) unter Typen von Gestaltungselementen bekannt. Eine Taxonomie bezieht sich bei Wong und Leung auf Gestaltungselemente einer Phase. Das Konzept von Typen und Exemplaren von Gestaltungselementen entspricht dem von Klassen und Objekten (classes and instances, classes and objects) der objekt-orientierten Programmierung. In einer Taxonomie ist festgelegt, daß ein Typ A ein Obertyp eines Typs B ist. Alle Eigenschaften des Typs A gelten auch für den Typ B und damit für alle Gestaltungselemente.
Um Modelle für verschiedene Phasen des Produktentstehungsprozesses zu verknüpfen, wurden verschiedene Ansätze der Gestal- tungslemente-Transformation (feature mapping, feature conver- sion, feature transfor ation) vorgeschlagen. Die dahinterlie- gende Idee ist die: Gegeben ist eine Menge A von Gestaltungselementen für eine erste Phase. Durch Anwendung einer Trans- formation auf die Menge A wird eine Menge B von Gestaltungselementen für eine zweite Phase erzeugt. Im allgemeinen Fall werden hierbei n Gestaltungselemente der Menge A auf m Gestaltungselemente der Menge B abgebildet, also wird eine n:m- Abbildung ausgeführt.
Aus F.-L. Krause, S. Kramer, E. Rieger: „PDGL - a Language for Efficient Feature-Based Product Gestaltung", Annais of the CIRP, Vol. 40 No. 1 (1991), pp. 135 - 138, sowie aus F.- L. Krause, A. Ulbrich, F. H. Vosgerau: „Feature-Based Appro- ach for the Integration of Design and Process Planning Systems", In: J. P. A. M. W. J. Turner (ed.), Proceedings of the 23rd International Symposium on Automotive Technology & Automation, Wien, Dec. 1990, pp. 140 - 147, ist eine Vorgehensweise bekannt, durch die den Typen von Gestaltungselementen Wissen über und Vorschriften für die Transformation von Gestaltungselementen (feature mapping knowledge) zugeordnet werden. In den Druckschriften wird eine formale Sprache namens „Part Design Graph Language" (PDGL) zur Repräsentation der Vorschriften offenbart. Die in PDGL formulierten Vorschriften werden z. B. von einem Interpreter der formalen Sprache abgearbeitet. In J. J. Shah, D. Hsiao, J. Leonard: „A Systematic Approach for Design-Manufacturing Feature Mapping", in P.R. Wilson, M.J. Wozny, M.J. Pratt (eds.): „Geometrie Modeling for Product Realization", North-Holland Publ . , 1992, pp. 205 - 221, werden automatisch ausführbare Vorschriften direkt mittels einer Programmiersprache implementiert, und zwar als Teil der Verarbeitungs-Algorithmen eines Werkzeugs zum Produktentwurf. Die Vorschriften legen fest, wie Typen benutzerdefinierter Konstruktions-Gestaltungselemente (user defined design features) auf vorab definierte und in einer Bibliothek abgespeicherten Typen von Bearbeitungs-Gestaltungselemente (manufacturing features) abgebildet werden. Diese Abbildung wird mittels eines Rekonstruktions-Algorithmus, der die oben skizzierte Transformation realisiert, durchgeführt Der Algorithmus liefert einen „Constructive Feature Tree". In Y. S. Suh, M. J. Wozny: Interactive Feature Extraction for a Form Feature Mapping System", Rensselaer Polytechnic Institute Troy, New York, 1998, und in T. N. Wong und C. B. Leung, a.a.O., werden Ansätze zur Transformation von Gestaltungselementen vorgestellt, die auf einem Zwischenmodell für die Produkt-Geometrie beruhen. Dieses Zwischenmodell enthält anwendungsneutrale Typen und Exemplare von Zwischen- Gestaltungselementen. Die Transformation wird indirekt über das Zwischenmodell durchgeführt. In W. F. Bronsvoort, A. Noort, J. van den Berg und G. F. M. Hoek: „Product deve- lopment with multiple-view feature modelling", Proceed FEATS 2001, und in K. J. De Kraker: „Feature Mapping for Concurrent Engineering", Promotionsschrift, Delft University of Technology, 1997, wird jeweils ein für eine bestimmte Phase erzeugtes und dort verwendetes Produktmodell als zentrales Zwischenmodell benutzt, nämlich das Produktmodell für die Phase Konstruktion (design feature model) . In beiden Druckschriften werden Gestaltungselemente in zwei Schritten automatisch aus der Bauteil-Geometrie identifiziert (feature recognition) , um aus den Konstruktions-Gestaltungselementen (design features) Gestaltungselemente für andere Phasen zu erzeugen. Änderungen in anderen Phasen werden in beschränktem Umfang erkannt und führen automatisch zu entsprechenden Änderungen am Zwischenmodell. In Wong, a.a.O., werden aus Gestaltungselementen des neutralen Zwischenmodells anwendungsspezifische Gestaltungselemente erzeugt. Hierfür werden regelbasierte Systeme angewendet, wie sie aus der „künstlichen Intelligenz" bekannt sind.
Ein grundlegender Nachteil von Zwischenmodellen ist der, daß sich nur diejenigen Sachverhalte in einem phasenspezifischen Modell beschreiben lassen, die sich auch im Zwischenmodell ausdrücken lassen. Daher muß das Zwischenmodell jede Information abspeichern, die in irgendeiner Phase benötigt wird. Daher umfaßt das Zwischenmodell oft schwer zu handhabende Typen von „Allzweck-Gestaltungselementen", eine Speicherung führt zu unerwünscht redundanter Datenhaltung und erfordert hohen Speicherplatzbedarf .
Aus EP 785491 A2 sind ein Verfahren und eine Vorrichtung bekannt, um Informationen über die Konstruktion und Informationen über die Produktion miteinander zu verknüpfen und zu verwalten. Zwischen verschiedenen Informationen werden Relationen hergestellt und verwendet, um von einer Gruppe von Informationen zu einer anderen Gruppe zu gelangen. Die Informationen z. B. über Produkte, Bauteile und Fertigungsschritte (processes) werden durch Datensätze gespeichert, die Relationen durch Verweise zwischen Datensätzen. Ein Datenbankschema wird erzeugt, durch das Datensätze in sinnvollen Beziehungen zueinander strukturiert und abgespeichert werden. Automatisch auswertbare Vorschriften werden in EP 785491 A2 nicht erwähnt .
Aus DE 19914454 AI sind ein rechnergestütztes System und ein Verfahren zum Aufbau einer Datenbank bekannt. Die aufzubauende Datenbank umfaßt zwei Grundtabellen. In jeder dieser Grundtabellen werden Elemente einer Grundklasse, also z. B. Datenobjekte eines Datenobjekt -Typs, abgespeichert. In einer Beziehungstabelle lassen sich Beziehungen zwischen den Elementen der beiden Grundtabellen abspeichern. Die Datenbank kann mehrere Beziehungstabellen für die beiden Grundtabellen umfassen. Jeder Beziehung einer Beziehungstabelle läßt sich eine Beziehungskategorie zuordnen. Die Beziehungskategorien sind in einer Kategorietabelle abgespeichert.
In einem Ausführungsbeispiel werden u. a. die Grundklassen "„Wörter", „Personen", „Projekte" und „Sachen" definiert. Ein Wort kann Nachname einer Person sein. Eine Person kann Erfinder einer durch ein Wort bezeichneten Sache sein. In einer Beziehungstabelle sind die beiden Beziehungen „Wort - Person" und „Person - Wort" abgespeichert. In der Kategorientabelle sind als Beziehungskategorien „Nachname" und „Erfinder" abgespeichert und den Beziehungen „Wort - Person" bzw. „Person - Wort" zugeordnet. In einer Relationstabelle sind alle möglichen Beziehungen zwischen den beiden Grundtabellen abgespei- chert und mit den Einträgen in der Kategorietabelle verbunden. Beispielsweise sind der Beziehungskategorie „Name" in der Kategorietabelle durch entsprechende Einträge in der Relationstabelle die Beziehungen „Person - Wort", „Sache - Wort", „Projekt - Wort" und „Objekt - Wort" zugeordnet.
In DE 19816658 AI wird ein relationales Speicher- und Datenverarbeitungssystem offenbart. Das System umfaßt einen Speicher nach Art eines semantischen Netzes mit Datenobjekten und Relationen zwischen diesen Datenobjekten. Eine derartige Relation läßt sich mit einem Datenobjekt mit Hilfe einer Relation-Relation verknüpfen. Zwei Relationen lassen sich miteinander mittels einer Relation-Relation verknüpfen.
Beispielsweise sind zwei Datenobjekte Cl , C2 für zwei Computersysteme einer Rakete jeweils mittels einer Relation „verwendet" mit einem Datenobjekt L für ein LagekontrollSystem verbunden. Die Relation „verwendet" zwischen Cl und L ist ü- ber eine Relation-Relation „während" mit einem Datenobjekt für den Betriebszustand „Normal" verknüpft. Die Relation „verwendet" zwischen C2 und L ist über eine Relation-Relation „während" mit einem Datenobjekt für den Betriebszustand „Notfall" verknüpft.
Der Erfindung liegt die Aufgabe zugrunde, ein System nach dem Oberbegriff des Anspruchs 1 und ein Informationsmodell nach dem Oberbegriff des Anspruchs 13 zu schaffen, die kein Zwischenmodell erfordern und durch die sich die automatisch auswertbaren Vorschriften für Abhängigkeiten zwischen Datenobjekten effizient und ohne Redundanz aufstellen, erweitern, ändern, speichern und löschen lassen.
Die Aufgabe wird durch ein System nach Anspruch 1 und durch ein Informationsmodell nach Anspruch 13 gelöst. Vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben.
Erfindungsgemäß werden neben den Datenobjekten, die Bestandteile des Produkts oder Prozesses repräsentieren, weitere Datenobjekte vorgesehen, nämlich Relationen zwischen Datenobjekten und Typen derartiger Relationen. Dadurch, daß die Ab- hängigkeiten zwischen Datenobjekten als spezielle, ebenfalls typisierbare Datenobjekte behandelt werden, wird eine modula- re Datenhaltung erreicht und unerwünschte Redundanz in der Datenhaltung reduziert. Insbesondere die modulare Datenhaltung führt dazu, daß sich die Vorschriften leicht aufstellen, erweitern, ändern und löschen lassen.
Datenobjekte für verschiedene Phasen oder von verschiedenen Anwendungen werden durch derartige Relationen verknüpft. Insbesondere verbinden diese Relationen solche Datenobjekte, die dasselbe Bestandteil des Produkts oder Prozesses für verschiedene Phasen repräsentieren. Dank der Relationen läßt sich automatisch und effizient ermitteln, welche Datenobjekte sich auf dasselbe Bestandteil beziehen und welche weiteren Datenobjekte nach Änderung eines ersten Datenobjekts verändert werden müssen, damit alle Datenobjekte für ein Bestandteil zueinander konsistent bleiben. Damit reduziert die Erfindung die Anzahl und die Schwere von Fehlern im Produktentstehungsprozeß, insbesondere die solcher Fehler, die auf Widersprüchen zwischen den verschiedenen Produkt- oder Prozeßmodellen beruhen. Änderungen an einzelnen Modellen werden vereinfacht, weil die automatisch ausführbaren Vorschriften, welche die Konsequenzen der Änderungen ermitteln und/oder automatisch ausführen, effizient und ohne Redundanz aufstellbar, erweiterbar, änderbar, speicherbar und löschbar sind.
Die Relationen sind in Typen klassifizierbar. Dadurch brauchen Informationen, die für n ähnliche Relationen Rel__l, ... , Rel_n zwischen Datenobjekten gültig sind, nicht mehrfach formuliert und abgespeichert zu werden. Beispiele für derartige Informationen sind automatisch auswertbare Vorschriften, Attribute, zulässige Wertebereiche, Vorzugswerte oder Standardwerte (default values) sowie Abhängigkeiten (constraints) und Berechnungsvorschriften zwischen Attributen von durch eine Relation verbundenen Datenobjekt-Typen. Vielmehr wird ein Typ von Relationen erzeugt, und festgelegt wird, daß Rel_l, ... , Rel_n alle von diesem Typ sind. Die Informationen werden dem Typ zugeordnet und brauchen nur einmal erzeugt und abgespeichert zu werden. Sie sind damit für Rel_l, ... , Rel_n gültig.
Nicht jedes Datenobjekt und jede Relation ist notwendigerweise einem Datenobjekt-Typ bzw. Relations-Typ zugeordnet. Diejenigen Datenobjekte und Relationen, die einem Typ zugeordnet sind, werden als „typisiert" bezeichnet.
Die Einführung von Relations-Typen erlaubt einen einfachen und einheitlichen Zugriff auf alle Relationen eines Relations-Typs. Beispielsweise kann eine Anwendung des Produktentstehungsprozesses allen Relationen ein neues Attribut zuordnen oder Auswertungen über diejenigen Attributwerte machen, die die Relationen eines Typs annehmen. Die Anwendung braucht nicht den jeweiligen Namen der Relationen oder eine Kennung (identifier) oder einen Zugriffspfad auf die Relationen des Typs zu kennen, um den Zugriff durchzuführen. Weiterhin erleichtert die Einführung von Relations-Typen die Filterung bestimmter Relationen erheblich, weil z. B. lediglich bestimmte Relations-Typen vorgegeben zu werden brauchen und alle Relationen dieser vorgegebenen Relations-Typen herausgefiltert werden. Diese Filterung erleichtert das Wiederauffinden von Informationen, was zu geringeren Rechenzeiten führt und die Arbeit von Fachexperten erleichtert .
Die automatisch auswertbaren Vorschriften werden diesen Relations-Typen zugeordnet und nicht z. B. einzelnen Relationen oder gar Typen von Konstruktions-Gestaltungselementen (design features) . Dadurch bleiben Datenobjekt-Typen frei von Verweisen auf andere Datenobjekt-Typen, was unvermeidlich wäre, wenn die automatisch auswertbaren Vorschriften Datenobjekt- Typen zugeordnet werden würden. Dieses Merkmal ist insbesondere dann von Vorteil, wenn ein anderer Datenobjekt-Typ, auf den ein erster Datenobjekt-Typ verweist, gelöscht wird. Wenn der erste Datenobjekt-Typ einen Verweis auf den anderen Datenobjekt-Typ hätte, müßte sichergestellt werden, daß dieser Verweis beim Löschen des anderen Datenobjekt-Typs gelöscht wird. Durch die Erfindung werden Datenobjekte getrennt von ihren wechselseitigen Beziehungen erzeugt und abgespeichert. Das erfindungsgemäße System benötigt kein Zwischenmodell, das für mehrere Phasen des Produktentstehungsprozesses gültig ist. Dadurch vermeidet das System die oben beschriebenen Nachteile.
Die große Komplexität aufgrund der vielen verschiedenen Datenobjekte für die Phasen wird beherrschbar gemacht.
Vorzugsweise werden die automatisch auswertbaren Vorschriften so formuliert, daß sie nicht von einer bestimmten Anwendung des Produktentstehungsprozesses abhängen, sondern anwendungs- neutral sind. Dadurch läßt sich eine zusätzliche Anwendung ergänzen oder eine alte durch eine neue ersetzen, ohne die Datenhaltung anderer Anwendungen ändern zu müssen. Die Vorschriften repräsentieren Informationen darüber, welche Berechnungen, Auswertungen und Generierungen durchzuführen sind. Informationen, wie die Vorschriften im einzelnen auszuführen sind, werden der jeweiligen ausführenden Anwendung zugeordnet .
Weil automatisch auswertbare Vorschriften den Relations-Typen zugeordnet werden, lassen die Vorschriften sich ändern, ohne Typen von Datenobjekten verändern zu müssen. Die Vorschriften werden direkt den Typen derjenigen Datenobjekte zugeordnet, auf die sie sich beziehen, nämlich Typen von Relationen zwischen Datenobjekten. Vermieden wird die Notwendigkeit, eine komplexe unstrukturierte Wissensbasis für viele verschiedene Vorschriften aufzustellen. Eine solche Wissensbasis ist nur schwer zu warten. Die Gefahr ist groß, daß sich unentdeckte Fehler in eine solche Wissensbasis einschleichen und zu fehlerhaften Produktentwürfen oder gar fehlerhaften Produkten führen .
Ein weiterer Vorzug der Erfindung ist der, daß sie bereits dann produktive Ergebnisse liefern kann, wenn noch nicht alle Datenobjekt-Typen durch Relations-Typen miteinander verbunden sind. Vielmehr kann das erfindungsgemäße System auch mit unvollständigen Informationen arbeiten, z. B. mit Relations- Typen für nur einige der Abhängigkeiten zwischen Datenobjekt- Typen. Spätere Ergänzungen machen es nicht erforderlich, frühere Festlegungen nachträglich zu überarbeiten. Dieser Aspekt ist insbesondere dann wichtig, wenn der Produktentstehungsprozeß in einem Unternehmen bereits etabliert ist, spezifische Anwendungen für einzelne Phasen im produktiven Einsatz sind und daher das erfindungsgemäße System bei seiner Einführung schrittweise mit den bestehenden produktiv genutzten Anwendungen gekoppelt wird, weil es unmöglich ist, es im laufenden Betrieb schlagartig mit allen diesen Anwendungen zu kombinieren oder gar den laufenden Betrieb für die Einführung zu unterbrechen. Unterschiedliche Grade der Kopplung verschiedener Anwendungen sind mittels des erfindungsgemäßen Systems realisierbar. Das erfindungsgemäße System kann zunächst prototypisch für einzelne Phasen und Anwendungen eingesetzt werden und schrittweise mit weiteren Anwendungen gekoppelt werden. Vor allem diese Skalierbarkeit ermöglicht es, das erfindungsgemäße System evolutionär in einen bestehenden Produktentstehungsprozeß einzuführen. Der oben genannte Aspekt ermöglicht es darüber hinaus, die Erfindung im Verlaufe eines Produktentstehungsprozesses anzupassen, anstelle während des gesamten Produktentstehungsprozesses mit einem starren Datenhaltungsschema auskommen zu müssen.
Die Einführung von Relations-Typ-Kategorien unter Relations- Typen ist ein weiteres Merkmal, durch welches doppelte und unerwünscht redundante Datenhaltung vermieden wird. Informationen, die für m Relations-Typen T_l, ... , T_m gültig sind, werden einer Relations-Typ-Kategorie K zugeordnet. Die Informationen werden einmal formuliert und abgespeichert. Bei der Erzeugung der m Relations-Typen T_l , ... , T_m wird vorgegeben, daß diese m Typen von der Relations-Typ-Kategorie K sind. Dadurch sind die Festlegungen für K für die m Relations-Typen gültig. Möglich ist auch, einen Relations-Typ T_i nachträglich einer Relations-Typ-Kategorie zuzuordnen.
Insbesondere läßt sich für eine Relations-Typ-Kategorie festlegen, welche Attribute und Methoden die Relations-Typen der Kategorie haben müssen. Weitere Beispiele für Informationen, die einer Relations-Typ-Kategorie zugeordnet sind, sind die Festlegungen, daß jeder Relations-Typ der Kategorie einen Namen und eine automatisch auswertbare Vorschrift besitzen muß. Verarbeitungs-Algorithmen lassen sich ebenfalls einer Kategorie zuordnen. Für eine Relations-Typ-Kategorie kann eine Vorschrift festgelegt sein, welche die Zuordnung von Datenobjekt-Typen an Relations-Typen der Kategorie einschränkt oder überprüft. Diese Vorschrift nimmt z. B. Bezug auf Datenobjekt-Typen. Möglich ist auch, Kategorien von Datenobjekten einzuführen und in einer Vorschrift, die einer Relations-Typ- Kategorie zugeordnet ist, Bezug auf Datenobjekt-Kategorien zu nehmen .
Ein weiterer Vorteil der Verwendung von Relations-Typ- Kategorien tritt auf, wenn Informationen, die für mehrere Relations-Typen der gleichen Relations-Typ-Kategorie gültig sind, nachträglich geändert werden müssen, z. B. aufgrund eines neuen Konstruktionsstandes, neuer Anforderungen an das zu entwerfende und zu fertigende Produkt oder weil Fehler im alten Entwurf oder Arbeitsplan offenbar wurden. Weil die Informationen nur einmal abgespeichert sind, nämlich als Teil der Informationen über eine Relations-Typ-Kategorie, brauchen sie nur einmal geändert zu werden. Wären sie hingegen mehrfach und redundant abgespeichert, müßten mehrere Änderungsvorgänge durchgeführt werden. Die Gefahr ist groß, daß ein erforderlicher Änderungsvorgang gar nicht oder nur unvollständig oder fehlerhaft ausgeführt wird und dadurch Fehler in das Produkt- modeil geraten.
Bestimmte Relations-Typen lassen sich dadurch automatisch auswählen, daß mindestens eine bestimmte Relations-Typ- Kategorie vorgegeben wird, wodurch alle Relations-Typen der vorgegebenen Kategorie ausgewählt sind. Dadurch ist eine intelligente Filterung von und eine Fokussierung auf bestimmte Relations-Typen möglich.
Die Taxonomie unter Relations-Typ-Kategorien ordnet die u. U. umfangreiche Menge von Relations-Typen. Eine Anwendung kann automatisch syntaktische Regeln und eine Semantik für einen Relations-Typ ermitteln, indem sie die zugeordnete Relations- Typ-Kategorie und ihre Position in der Taxonomie ermittelt und die Informationen über diese Relations-Typ-Kategorie auswertet. Die Gefahr wird reduziert, daß verschiedene Relations-Typen für denselben Sachverhalt eingeführt werden. Dadurch werden unerwünschte Redundanz und Überschneidungen vermieden.
Vorzugsweise wird eine einheitliche Taxonomie unter allen Typen von Datenobjekten aufgestellt. Diese Taxonomie umfaßt mehrere Phasen des Produktentstehungsprozesses sowie Datenobjekt-Typen für unterschiedliche Abstraktionsebenen des Produkts, also z. B. Zusammenbauten, Bauteile, Konstruktions- Gestaltungselemente und Fertigungs-Gestaltungselemente in einer einzigen Taxonomie. Insbesondere ist die Taxonomie nicht auf Typen von Gestaltungselementen beschränkt . Dadurch lassen sich verschiedene Phasen und Abstraktionsebenen einheitlich und mit gleicher Notation behandeln.
Bevorzugt werden die Taxonomie unter Relations-Typ-Kategorien und die Taxonomie unter Datenobjekt-Typen nicht für jeden Produktentstehungsprozeß erneut erzeugt . Vielmehr umfaßt das erfindungsgemäße System zwei anwendungsübergreifende und vorab definierte und erweiterbare Standard-Bibliotheken, nämlich eine mit Datenobjekt-Typen und eine weitere mit Kategorien von Relations-Typen zwischen diesen Datenobjekt-Typen. Diese beiden Standard- Bibliotheken sind z. B. für jede Baureihe eines Automobilherstellers, die gemäß einem einmal definierten Produktentstehungsprozeß entworfen und hergestellt wird, gültig. Sie lassen sich als Ausgangspunkt für einen bestimmten Produktentstehungsprozeß, beispielsweise eine bestimmte neue Baureihe eines Automobilherstellers, verwenden und erweitern, z. B. für den Produktentstehungsprozeß einer bestimmten Baureihe oder eine bestimmte Anwendung. Vorzugsweise haben die Bibliotheken datentechnisch die Form von einbindbaren Software-Bibliotheken (libraries) oder von Datensätzen in einer Datenbank. Möglich ist auch, nur die Standard- Bibliothek für Datenobjekt-Typen oder nur das für Relations- Typen vorzusehen.
Spezifische Datenobjekt-Typen und Relations-Typ-Kategorien werden als Untertypen von Datenobjekt-Typen bzw. Relations- Typ-Kategorien der Standard-Bibliotheken erzeugt. Attribute und sonstige Informationen, die einem Datenobjekt-Typ bzw. eine Relations-Typ-Kategorie der jeweiligen Standard- Bibliothek zugeordnet sind, sind durch Vererbung entlang der Taxonomie der Datenobjekt-Typen bzw. der Relations-Typ- Kategorien auch für alle Untertypen gültig - es sei denn, für den Datenobjekt-Typ bzw. die Relations-Typ-Kategorie festgelegt. Festlegungen für einen spezifischeren Datenobjekt-Typ überschreiben geerbte Festlegungen für einen abstrakteren Datenobjekt-Typen (overloading) . Spezifische Typen und Kategorien besitzen dadurch, daß sie als Untertypen bzw. Unterkategorien von Typen bzw. Kategorien einer anwendungsübergreifenden Standard-Bibliothek erzeugt wurde, bereits durch die Erzeugung eine grobe Semantik und können von Anwendungen ausgewertet werden. Beispielsweise kann eine Vorschrift, die auf einen Typ oder eine Relation einer Standard-Bibliothek Bezug nimmt, auch auf den spezifischen Untertyp bzw. auf die Unterkategorie angewendet werden. Denn der Untertyp bzw. die Unterkategorie besitzt durch Vererbung mindestens alle diejenigen Vorschriften, Methoden, Attribute etc., die dem Typ bzw. der Kategorie aus dem Standard-Bibliothek zugeordnet sind.
Die Taxonomie unter Datenobjekt-Typen erleichtert die Zuordnung von Datenobjekt-Typen an Relations-Typen. Einem Relations-Typ können z. B. zwei abstrakte Datenobjekt-Typen zugeordnet sein, das sind zwei Datenobjekt-Typen, die Wurzeln von Ästen der baumartigen Taxonomie sind, also mehrere Untertypen haben. Durch diese Zuordnung ist festgelegt, daß eine Relation des Relations-Typs zwei Datenobjekte von zwei Datenobjekt- Typen dieser beiden Äste verbinden darf, aber keine Datenobjekte anderer Datenobjekt-Typen. Die Prüfung wird z. B. automatisch nach der Erzeugung einer Relation durchgeführt. Die Taxonomie unter Datenobjekt-Typen kann Mehrfach-Vererbung vorsehen, d. h. ein Datenobjekt-Typ kann mehrere andere Datenobjekt-Typen als Obertypen haben und von diesen verschiedene Vorschriften, Methoden oder Attribute erben. Die Taxonomie bildet dann keinen Baum mehr, sondern einen gerichteten azyklischen Graphen.
Bevorzugt wird - zusätzlich zur Verknüpfung von Datenobjekten durch Relationen - eine automatische Erkennung von Gestaltungselementen (feature recognition, feature identification) durchgeführt. Hierbei werden bestimmte noch nicht typisierte Bestandteile eines Produkt- oder Prozeßmodells dadurch typisiert, daß sie vorab definierten Datenobjekt-Typen zugeordnet werden. Vorzugsweise wird ermöglicht, daß ein Bestandteil nicht nur einem Blatt der Taxonomie unter Datenobjekt-Typen zugeordnet werden kann, sondern auch einem abstrakten Datenobjekt-Typ. Anschließend werden diese Datenobjekte durch Relationen mit weiteren Datenobjekten für andere Phasen des Produktentstehungsprozesses verbunden .
Vorzugsweise werden Datenobjekt-Typen und damit Datenobjekte bestimmten Phasen des Produktentstehungsprozesses zugeordnet. Ein Datenobjekt-Typ kann mehreren Phasen zugeordnet sein. Die Phasen werden z. B. ebenfalls als Datenobjekt-Typen modelliert, die durch Relations-Typen mit anderen Datenobjekt- Typen verbunden sind.
Das erfindungsgemäße System umfaßt vorzugsweise (Anspruch 8) eine Einrichtung zur Zuordnung eines Datenobjekt-Typs zu mindestens einer von mindestens zwei verschiedenen Phasen des Entstehungsprozesses und eine Einrichtung zur Erzeugung einer einzigen Taxonomie für Datenobjekt -Typen, ...), die einer ersten Phase zugeordnet sind, und für Datenobjekt -Typen (500.1, 500.2, ...), die einer zweiten Phase zugeordnet sind. Die Taxonomie kann Datenobjek -Typen für beliebig viele Phasen umfassen. Diese Ausgestaltung wird vorzugsweise mit einem System mit den Merkmalen des Anspruchs 1 kombiniert. Es ist aber auch möglich, ein System zur Erzeugung von Informationen über Datenobjekte vorzusehen, wobei das System eine Einrichtung zur Erzeugung von Typen von Datenobjekten, eine Einrichtung zur Zuordnung eines Datenobjekt-Typs zu einer Phase und eine Einrichtung zur Erzeugung einer einzigen Taxonomie für Datenobjekt-Typen umfaßt .
Im folgenden wird ein Ausführungsbeispiel des erfindungsgemäßen Systems und Informationsmodells anhand der beiliegenden Zeichnung näher beschrieben. Dabei zeigen:
Fig. 1. das Zusammenspiel des erfindungsgemäßen Systems mit mehreren Anwendungen;
Fig. 2. eine Architektur mit dem erfindungsgemäßen System und mehreren Anwendungen;
Fig. 3. einen Ausschnitt aus einer Taxonomie unter Datenobjekt-Typen.
Fig. 1 veranschaulicht für diese Ausführungsform das Zusammenspiel des erfindungsgemäßen Systems mit vier Anwendungen 200.1, 200.2, 200.3 und 200.4. Das erfindungsgemäße System 10 umfaßt das zentrale Diensteprogramm 98 sowie die zentrale Datenbank 100 mit Relations-Typ-Kategorien, Datenobjekt- und Relations-Typen sowie Relationen 400.1, 400.2, 400.3, 400.4. Relations-Typ-Kategorien einerseits, Relations-Typen 600 und Datenobjekt-Typen 500 andererseits und Relationen 400 als Drittes bilden logisch drei unterschiedliche Abstraktionsebenen, werden aber vorzugsweise physikalisch in derselben zentralen Datenbank 100 gespeichert. Informationsweiterleitungs- Schnittstellen 250 verbinden das zentrale Diensteprogramm 98 mit vier Anwendungen 200.1, 200.2, 200.3 und 200.4. Die bei- den Anwendungen 200.2 und 200.4 verwalten je eine lokale Datenhaltung 110.1 und 110.2, die mit Daten aus der zentralen Datenbank 100 gefüllt wird. Alle vier Anwendungen verwalten spezifische Produktmodelle 150.1, 150.2, 150.3 und 150.4 mit Datenobjekten 300.1, 300.2, 300.3, 300.4 und 300.5. Zwischen drei Datenobjekten 300.1, 300.2 und 300.5 in den Produktmodellen 150.1 und 150.3 besteht in diesem Beispiel eine Relation 400.1, zwischen 300.2 und 300.4 in den Produktmodellen 150.2 und 150.4 eine Relation 400.2. Die Relation 400.1 verbindet also drei Datenmodelle miteinander, von denen zwei derselben Anwendung und das dritte einer anderen Anwendung angehören. Diese Relationen werden in der zentralen Datenbank 100 abgespeichert und verwaltet. Eine derartige Architektur wird im folgenden eingehender beschreiben.
Das erfindungsgemäße System 10 wird mit Hilfe einer zentralen Datenverarbeitungsanlage realisiert, die vorzugsweise mit mehreren anderen Datenverarbeitungseinrichtungen verbunden ist. Das System 10 umfaßt ein zentrales Diensteprogramm (ap- plication Server) 98 sowie eine zentrale Datenbank 100. Vorzugsweise fungiert das erfindungsgemäße System 10 als zentrales Datenhaltungssystem für die Anwendungen 200 und damit für mehrere Phasen des Produktentstehungsprozesses. Dadurch wird eine Anwendung 200 für eine Phase mit Daten und Informationen aus anderen Phasen versorgt, und die einzelnen Anwendungen werden besser miteinander integriert. Diese Versorgung mit Daten und Informationen vermeidet Fehler, die z. B. aufgrund von Medienbrüchen entstehen, spart Zeit ein und erleichtert Änderungen, weil die Auswirkungen einer Änderung in einer Phase auf andere Phasen oder auf andere Anwendungen 200 ermittelt werden.
Die Anwendungen 200 lösen in der Regel spezifische Aufgaben für bestimmte Phasen des Produktentstehungsprozesses. Zu diesen Phasen zählen z. B. Auslegung (concept design), Konstruktion (detailed design) , Berechnungen, Konstruktion der zur Produktfertigung benötigten Werkzeuge, Prototypenbau und Erprobung, Arbeitsplanung für die Serienproduktion, Ressourcen- Planung, Arbeitsplanung für die Serienproduktion einschließlich Betriebsmittelplanung, Serienproduktion, Qualitätskontrolle, Auswertung von Erfahrungen im Serieneinsatz. Beispiele für die Anwendungen 200 auf den Datenverarbeitungseinrichtungen sind Software-Systeme zur Konstruktion (Computer-aided design, CAD) , zur Produktdaten-Verwaltung (product data mana- gement, product engineering management) , zur ProduktSimulation mittels Berechnungsmodellen z. B. für das Verhalten des Produkts bei mechanischen Belastungen, zur Fertigungsplanung, zur Ressourcenplanung (enterprise resource management) , zur Programmierung von Bearbeitungsmaschinen, zur Durchführung und Auswertung von Messungen zur Qualitätssicherung und zum Abarbeiten eines Arbeitsablaufs (Workflow management) .
Jede dieser Anwendungen 200 verwendet eine spezifische Sicht auf das Produkt und benötigt bestimmte Datenobjekte 300. Gründe für die unterschiedlichen Sichten sind die, daß jede Anwendung 200 spezifische Aufgaben zu erfüllen hat und dafür spezifische Daten, Informationen und Wissen benötigt und bestimmte Arbeitszustände beim Problemlösen erfordert. Ein Datenobjekt 300 gehört zu mindestens einem bestimmten Modell 150, das seinerseits zu einer bestimmten Sicht auf das Produkt oder den Prozeß gehört und von mindestens einer Anwendung 200 für eine Phase des Produktentstehungsprozesses erzeugt und bearbeitet wird. Möglich ist, daß dasselbe Modell von verschiedenen Anwendungen 200 bearbeitet wird.
Diese Anwendungen sowie die zentrale Datenbank 100 sind über Informationsweiterleitungs-Schnittstellen 250 mit dem zentralen Diensteprogramm verbunden. Vorzugsweise sind keine Schnittstellen vorgesehen, die zwei Anwendungen 200. a, 200.b direkt miteinander oder eine Anwendung 200 mit der zentralen Datenbank 100 des Systems 10 verbinden. Dadurch wird der Ent- wicklungs- und Pflegeaufwand reduziert: Bei n Anwendungen 200.1, ... , 200. n sind nur n Schnittstellen zwischen den Anwendungen und dem zentralen Diensteprogramm 98 erforderlich. Falls direkte Schnittstellen zwischen den n Anwendungen 200.1, ... , 200.n erforderlich wären, sind im Extremfall insgesamt n*(n-l)/2 Schnittstellen zu entwickeln und zu pflegen. Für n=10 sind dank der Erfindung nur 10 anstelle im Extremfall 45 Schnittstellen zu entwickeln. Durch die zentrale Datenhaltung ist darüber hinaus eine Konversion zwischen anwendungsspezifischen Produkt- oder Prozeßmodellen 150 und den jeweils verwendeten Informations- und/oder Datenmodellen nicht erforderlich.
Fig. 2 zeigt eine beispielhafte Architektur mit dem erfindungsgemäßen System 10 und vier Anwendungen 200.1, 200.2,
200.3 und 200.4. Die vier Anwendungen sind über vier Informa- tionsweiterleitungs-Schnittstellen 250.1, 250.2, 250.3 und
250.4 mit dem zentralen Diensteprogramm 98 verbunden. Direkte Schnittstellen zwischen zwei Anwendungen 200.1 , 200.b oder eine Schnittstelle zwischen einer lokalen Datenhaltung 100.x und der zentralen Datenbank 100 sind nicht erforderlich. Weiterhin umfaßt das System 10 eine Benutzeroberfläche 50.
Die zentrale Datenhaltung wird vorzugsweise ausschließlich vom zentralen Diensteprogramm 98 beschrieben und ausgelesen. Nur das zentrale Diensteprogramm 98, nicht aber die Anwendungen 200.1, 200.2, 200.3 und 200.4, haben Schreib- und Lesezugriff auf die zentrale Datenbank 100. In der zentralen Datenbank 100 werden folgende Informationen dauerhaft verwaltet und über das zentrale Diensteprogramm 98 und den Informati- onsweiterleitungs-Schnittstellen 250 den Anwendungen verfügbar gemacht : die Relations-Typ-Kategorien und die Taxonomie unter diesen, die Datenobjekt-Typen 500 und die Taxonomie unter diesen die Relations-Typen einschließlich der Taxonomie unter diesen und den automatisch auswertbaren Vorschriften
- und die Relationen 400 und die Verweise von diesen auf die jeweiligen Relations-Typen.
Eine Anwendung 200.1 „kennt" also nach einem Lesezugriff Relationen, z. B. eine Relation 400.1 zwischen einem Datenob- jekt 300.1 eines von der Anwendung 200.1 erzeugen Modells 150.1 und einem weiteren Datenobjekt 300.3 eines Modells 150.3, das von einer anderen Anwendung 200.3 erzeugt wurde. In den Modellen 150 oder lokalen Datenspeichern 110 werden hingegen vorzugsweise keine Informationen über die anderen Modelle abgespeichert, damit nicht ein Modell einer Anwendung direkte Verweise auf ein Modell einer anderen Anwendung besitzt .
Datenobjekte 300 und Anwendungen 200 zum Erzeugen, Bearbeiten und Auswerten von Datenobjekten, insbesondere von Konstrukti- ons- und Fertigungs-Gestaltungselemente, sind oft auf die spezifischen Anforderungen der Phase zugeschnitten. Sie repräsentieren die für die jeweilige Phase relevanten Bestandteile des Produkts oder Prozesses. Die Datenobjekte 300 und Relationen 400 bilden die Bausteine (building blocks) , um Modelle 150 für die jeweilige Phase zu erzeugen. Ein Datenobjekt 300 wird vorzugsweise nicht vom zentralen Diensteprogramm 98 erzeugt, geändert, gelöscht und verwaltet, sondern von der jeweiligen Anwendung 200. Die Anwendung 150 stellt insbesondere die dauerhafte Speicherung des Datenobjekts 300 z. B. in einer lokalen Datenbank 110 sicher. Das Datenobjekt 300 ist Bestandteil eines Produkt- oder Prozeßmodells 150 und steht in der Regel nur der erzeugenden Anwendung 200 zur Verfügung, aber keiner anderen Anwendung.
Das zentrale Diensteprogramm 98 vermag ein Datenobjekt 300 ü- ber ein Zugriffsverfahren anzusprechen, z. B. mit Hilfe eines Zugriffspfades auf das Produkt- oder Prozeßmodell 150 und eine innerhalb dieses Modells eindeutige Kennung (identifier) oder über eine Programmierschnittstelle (application program- ming interface, API) zu einer Anwendung 200. Eine in der zentralen Datenbank 100 gespeicherte Relation 400.1 besitzt Verweise auf die Datenobjekte 300.1 und 300.3, die durch die Relation 400.1 verbunden werden. Diese Verweise umfassen alle Informationen, die das zentrale Diensteprogramm 98 für einen lesenden Zugriff auf die Datenobjekte 300.1 und 300.3 benötigt. Eine Anwendung 200 kann über eine Informationsweitergabe- Schnittstelle 250 und das zentrale Diensteprogramm 98 die Erzeugung und dauerhafte (persistente) Abspeicherung eines Datenobjekt-Typs 500 in der zentralen Datenbank 100 auslösen. Umgekehrt kann die Anwendung 200 sich Informationen über Datenobjekt-Typen 500 aus der zentralen Datenbank 100 beschaffen, z. B. um ein Datenobjekt 300 eines bestimmten Datenobjekt-Typs 500 durch Instantiierung zu erzeugen. Beispielsweise wird über eine Informationsweiterleitungs-Schnittstelle 250 an ein CAD-Werkzeug als eine Anwendung 200 geschickt, durch Instantiierung ein Datenobjekt 300 eines vorgegebenen Datenobjekt-Typs 500 zu erzeugen. Das erfindungsgemäße System 10 gibt einer Anwendung 200 den Typ 500 sowie den Namen und bestimmte Attribute und/oder Methoden des zu erzeugenden Datenobjekts 300 vor.
Bevor eine Anwendung 200.1 eine von ihr erzeugtes und verwaltetes Datenobjekt 300.1 löscht, ermittelt das zentrale Diensteprogramm 98, welche anderen Datenobjekte 300.3 derselben oder anderer Anwendungen von dieser Löschung beeinflußt werden. Hierfür wird folgende Abfolge automatisch ausgeführt, vgl. Fig. 1:
Die Anwendung 200.1 übermittelt an das zentrale Diensteprogramm 98 eine Kennung sowie den Typ 500.1 des zu löschenden Datenobjekts 300.1.
Das zentrale Diensteprogramm 98 ermittelt mittels Lesezugriff auf die zentrale Datenbank 100, durch welche Relations-Typen der Datenobjekt-Typ 500.1 mit anderen Datenobjekt-Typen verbunden ist. Seien 600.1, ... , 600. n diese Typen.
Das zentrale Diensteprogramm 98 ermittelt die m Relationen 400.1, ... , 400. m, die von einem der Typen 600.1, ... , 600. n oder einem Untertyp dieser n Typen sind und die je einen Verweis auf das Datenobjekt 300.1 tragen.
- Das zentrale Diensteprogramm 98 ermittelt, welche anderen Datenobjekte 300.3, 300.5 mindestens einer dieser m Rela- tionen zugeordnet sind. Diese Datenobjekte werden von der geplanten Löschung beeinflußt.
Das zentrale Diensteprogramm 98 ermittelt, welche automatisch auswertbaren Vorschriften den n Relations-Typen 600.1, ... , 600. n zugeordnet sind. Durch Auswertung dieser Vorschriften ermittelt das zentrale Diensteprogramm 98 weitere Konsequenzen der geplanten Löschung, z. B. Veränderung von Parametern oder Löschung weiterer Datenobjekte.
Das zentrale Diensteprogramm 98 ermittelt, welche Anwendungen 200.1, 200.3 mindestens eines dieser beeinflußten weiteren Datenobjekte 300.3, 300.5 verwalten, und übermittelt je eine Beschreibung der Auswirkungen an die jeweilige Anwendung 200.1, 200.3.
Z. B. durch Abarbeitung eines Arbeitsablaufs (Workflow) werden die erforderlichen Freigaben für die Löschung von 300.1 eingeholt.
- Nach der Löschung streicht das zentrale Diensteprogramm 98 alle Verweise auf das gelöschte Datenobjekt 300.1 aus den Relationen 400.1, ... , 400.m. Bei Bedarf werden Relationen gelöscht.
Eine alternative Ausfuhrungsform sieht vor, daß die Anwendung 200.1 das Datenobjekt 300.1 löscht und die Information über die Löschung erst nachträglich an das zentrale Diensteprogramm 98 übermittelt.
Eine entsprechende Abfolge wird z. B. ausgeführt, um Informationen darüber zu erzeugen, mit welchen weiteren Datenobjekten ein zuvor ausgewähltes typisiertes erstes Datenobjekt 300 in Verbindung steht. Diese Informationen werden entweder durch direkte Auswertung von Informationen oder beispielsweise durch die folgende Abfolge erzeugt :
Ein typisiertes Datenobjekt wird ausgewählt.
- Der Datenobjekt-Typ dieses Datenobjekts wird ermittelt.
- Alle Relations-Typen, denen dieser Datenobjekt-Typ zugeordnet ist, werden ermittelt. - Alle weiteren Datenobjekt-Typen werden ermittelt, die einem dieser Relations-Typen zugeordnet sind.
- Alle Datenobjekte dieser Typen werden ermittelt.
Das erfindungsgemäße System 10 umfaßt Komponenten zur Durchführung dieser Ermittlungen.
Das zentrale Diensteprogramm 98 regelt den Kontroll- und Informationsfluß zwischen den Anwendungen 200 sowie zwischen einer Anwendung 200 und der zentralen Datenbank 100. Es beantwortet Anfragen, die von einer Anwendung 200 über eine In- formationsweiterleitungs-Schnittstelle 250 eingehen, löst Ereignisse wie die Erzeugung eines Datenobjekts 300 aus und verwaltet die zentrale Datenbank 100 einschließlich der Transaktions-Verwaltung für die dauerhafte Speicherung von Datenobjekten 300 und Relations-Typen 600, Relationen 400 und Relations-Typ-Kategorien.
Das zentrale Diensteprogramm 98 greift z. B. mit Hilfe von Standard-Protokollen wie „Open Database Connectivity" (ODBC) auf eine relationale Datenbank, die als zentrale Datenbank 100 fungiert, zu. Zum Abfragen dieser relationalen Datenbank wird z. B. die „Standard Query Language" (SQL) als Standardsprache für Abfragen von relationalen Datenbanken verwendet . Eine alternative Ausfuhrungsform sieht vor, zwischen zentralem Diensteprogramm 98 und zentraler Datenbank 100 funktionale oder objekt-orientierte Schnittstellen in Verbindung mit definierten Programmier-Schnittstellen für Anwendungen (ap- plication programming interfaces, APIs) bereitzustellen. Das zentrale Diensteprogramm 98 nutzt Funktionalitäten von Programmier-Schnittstellen, um Lese- und/oder Schreibzugriff auf die zentrale Datenbank 100 zu erhalten. Ein Vorteil der XML- Dateien ist ihre einfache Handhabbarkeit . ODBC und SQL sind weit verbreitete Standards. Viele Software- Entwicklungsumgebungen besitzen ODBC- und SQL-Schnittstellen. Ein Vorteil von Programmier-Schnittstellen ist der, daß die Art der Datenspeicherung nach außen nicht sichtbar ist und daher die zentrale Datenbank 100 intern geändert werden kann, ohne daß deshalb das zentrale Diensteprogramm 98 oder gar Anwendungen 200 geändert zu werden brauchen. Anwendungen und das zentrale Diensteprogramm 98 werden vorzugsweise durch In- ter-Prozeß-Kommunikation miteinander verbunden, z. B. auf Basis von „Distributed Component Object Model" (DCOM) , „Hypertext Transfer Protocol" (HTTP) oder „Common Object Request Broker Architecture" (CORBA) mit einer „Interface Definition Language" (IDL) oder „Enterprise Java Beans" (EJB) .
Möglich ist, daß das zentrale Diensteprogramm 98 und weitere Komponenten des erfindungsgemäßen Systems 10 und zumindest einige Anwendungen 200 alle auf derselben Datenverarbeitungsanlage ablaufen. Vorzugsweise umfaßt das erfindungsgemäße System 10 aber eine eigene Datenverarbeitungsanlage, die als Netzwerk-Zentralrechner (Server) in einer Client-Server- Architektur fungiert . Die Datenverarbeitungseinrichtungen für die Anwendungen 200 fungieren als Netzwerk-Teilnehmerrechner (Clients) .
Die Erfindung unterstützt die Integration verschiedener Anwendungen 200 in zwei Richtungen entlang des Produktentstehungsprozesses: flußabwärts (forward) und flußaufwärts (backward) . Die Integration flußaufwärts wird insbesondere dadurch erreicht, daß die Auswirkungen einer Änderung in einer Phase auf nachfolgende Phasen ermittelt werden, z. B. von der Phase Konstruktion auf die Phase Fertigung oder auf die Phase Werkzeugbau, in der abhängig von Produktmodellen 150 die zur Fertigung des Produkts benötigten Werkzeuge entworfen werden. Die Integration flußabwärts hat zur Folge, daß Anwendungen 200 in späteren Phasen über Modelle 150 in früheren Phasen informiert werden. Einzelnen Datenobjekten 300 dieser früheren Phasen, z. B. der Phase Produkt-Konstruktion, können z. B. Konstruktions-Begründungen (design rationale) zugeordnet sein, die zu besseren Entscheidungen in späteren Phasen führen.
Die Erfindung unterstützt durch die Integration beispielsweise Kostenvorhersage (cost estimation) , Produktentwurf mit einem vorgegebenen Optimierungskriterium und/oder vorgegebenen Randbedingungen (design-to-X) , Automatisierung des Arbeitsablaufs (Workflow management) sowie die Handhabung von Erfahrungen, Rechtfertigungen und Begründungen.
Für die Kostenvorhersage ist insbesondere zu ermitteln, welche Kosten die Fertigung der Konstruktions- Gestaltungselemente des Produkts verursachen wird. Bei zu hohen Kosten sind einzelne Konstruktions-Gestaltungselemente so zu verändern, daß die gesamten Fertigungskosten sinken. Zu diesen Konstruktions-Gestaltungselementen zählen beispielsweise bestimmte Bohrlöcher in Zylinderköpfen. Ein Datenobjekt-Typ „Bohrlöcher im Zylinderkopf" für die Phase Produkt- Konstruktion sowie mindestens ein Datenobjekt-Typ für Ferti- gungs-Gestaltungselemente zur Fertigung der Bohrlöcher werden eingeführt und durch einen Relations-Typ „wird gefertigt durch" miteinander verbunden. Die Fertigungs- Gestaltungselemente gehören zu einem Produktmodell 150 für die Arbeits- und Fertigungsplanung (machining planning) . Sie werden mit einer Anwendung 200 für die Kostenvorhersage verbunden, die z. B. eine Datenbank 110 mit Datensätzen für Werkzeuge, Bearbeitungszeiten und Stundensätzen umfaßt. Dank der Erfindung hat die Anwendung 200, die das Produktmodell 150 mit den Konstruktions-Gestaltungselementen bearbeitet, Lesezugriff auf die Kosteninformationen und kann veranlassen, daß die Kosten für die Fertigung des Bohrlochs vorhergesagt werden.
Die Versorgung und die Integration werden erfindungsgemäß durch zwei Merkmale realisiert. Datenobjekt-Typen für verschiedene Phasen werden semantisch dadurch verknüpft, daß sie in einer einzigen Taxonomie zusammengefaßt werden. Dadurch wird eine gemeinsame Notation z. B. von Typen und Attributen für alle Phasen sichergestellt, Redundanz und doppelte Datenhaltung werden vermieden. Nicht erforderlich ist es, Transformationen zwischen Modellen für verschiedene Phasen zu erzeugen und auszuwerten. Wie oben beschreiben, spart der Verzicht auf Transformationen insbesondere viele Schnittstellen ein. Fig. 3 zeigt einen Ausschnitt aus der anwendungs- und phasenübergreifenden Taxonomie für Datenobjekt-Typen. Ein Rechteck repräsentiert einen Datenobjekt -Typ. Eine Kante verbindet einen Untertyp mit dem oberhalb des Untertyps gezeigten Ober- typ. Die Rechtecke repräsentieren folgende Datenobjekt -Typen:
Bezugs- Name des Datenobjekt -Typs zeichen
500.1 Abstrakter Typ „Datenobjekt -Typen" (engineering ob- ject types)
500.2 Gestaltungselemente der Benutzeroberfläche (user in- terface features)
500.3 Gestaltungselemente eines produktiv eingesetzten CAD- erkzeugs xyz (xyz features)
500.29 Gestaltungselemente (features)
500.4 Bauteile des Produkts (parts)
500.5 Qualitäts-Gestaltungselemente (quality features)
500.6 Konstruktions-Gestaltungselemente (design features, finish part features)
500.7 Fertigungs-Gestaltungselemente (manufacturing features)
500.8 Rohteil -Gestaltungselemente (raw part features)
500.9 Prüf-Gestaltungselemente (inspection features)
500.10 für eine Gießform benötigtes Bauteil (mold parts)
500.28 Meß-Gestaltungselemente (measure elements]
500.11 Bleche (sheet metals)
500.12 geometrischer Grundkörper (Volumetrie features)
500.30 Zerspanungs -Gestaltungselemente (machining features)
500 . 13 Rohteil-Zylinder (raw part cylinders)
500 . 14 Auswerfer (ej eetors)
500.15 Abziehende Grundkörper (subtractive features)
In diese Taxonomie lassen sich insbesondere alle Typen von Gestaltungselementen einordnen, die aus DIN 32869-3 bekannt sind.
Datenobjekte, insbesondere Konstruktions-Gestaltungselemente (design features) und Fertigungs-Gestaltungselemente (manu- facturing features) , werden vorzugsweise gemäß dem objektorientierten Paradigma behandelt, das aus J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorenson: „Object-Oriented Model - ling and Design", Prentice-Hall , Englewood Cliffs, 1991, bekannt ist. Datenobjekte 300 werden typisiert, und Typen 500 (types / classes) von Datenobjekten können Attribute oder Parameter, die die statischen Eigenschaften der Datenobjekte beschreiben, und Methoden für die dynamischen Eigenschaften der Datenobjekte besitzen.
Ein Datenobjekt 300 eines vorgegebenen Datenobjekt-Typs 500 läßt sich durch „Instantiierung" des Datenobjekt-Typs erzeugen. Das so erzeugte Datenobjekt besitzt die Attribute und Methoden des Datenobjekt-Typs . Um Redundanz unter Typen von Datenobjekten zu verringern, werden bevorzugt mehrere Abs- traktionsschritte durchgeführt. Dabei werden Gemeinsamkeiten zwischen n Datenobjekt-Typen 500.1, ... , 500.n identifiziert und in einem neuen, abstrakteren Datenobjekt-Typ zusammengefaßt. Dieser neue Datenobjekt-Typ 500. o wird Obertyp (parent) von 500.1, ... , 500. n. 500. o ist mit 500.1, ... , 500. n durch eine Spezialisierungs-Relation verbunden. Das Ergebnis der Abstraktionsschritte ist eine Taxonomie unter Datenobjekt-Typen 500. Blätter dieser Taxonomie, also Datenobjekt- Typen ohne Untertypen, können instantiiert werden, die abstrakteren Datenobjekt-Typen vorzugsweise nicht.
Für die erfindungsgemäßen Relationen 400 zwischen Datenobjekten 300 werden entsprechende Typisierungen durchgeführt. Dadurch entstehen Relations-Typen 600, aus denen durch Instantiierung Relationen 400 erzeugt werden können. Durch entsprechende Abstraktionen der Relations-Typen 600 werden Relations-Typ-Kategorien und eine Taxonomie unter diesen Relations- Typ-Kategorien erzeugt.
Eine Relation 400 verbindet mindestens zwei Datenobjekte 300. a und 300.b. Eine Relation 400 fungiert als Baustein (building block) für die Verwaltung und Auswertung der Abhängigkeiten zwischen Datenobjekten 300. a, 300. b. Eine Relation 400.a kann auch eine andere Relation 00.b mit einem oder mehreren Datenobjekten 300. a, 300.b verbinden oder aber mehrere andere Relationen miteinander verbinden. Entsprechend verbindet ein Relations-Typ 600 mindestens zwei Datenobjekt- Typen 500. a und 500.b miteinander. Ein Relations-Typ 600. a kann auch einen anderen Relations-Typ 600.b mit einem oder mehreren Datenobjekt-Typen 500 verbinden oder aber mehrere andere Relations-Typen miteinander verbinden.
Ein Beispiel für eine Relation, die andere Relationen miteinander verbindet, sind Datenobjekte und Relationen für ein Lochbild, das sind mehrere Löcher mit bestimmten Positionen relativ zueinander, die aus einem Blech ausgestanzt werden. Ein Datenobjekt-Typ „Bohrlöcher" mit den beiden Untertypen „Referenz-Bohrlöcher" und „abhängige Bohrlöcher" werden eingeführt. Die n Löcher eines Lochbildes werden durch ein Datenobjekt des Typs „Referenz-Bohrlöcher" und n-1 Datenobjekte des Typs „abhängige Bohrlöcher" repräsentiert. Die absolute Soll-Position des Referenz-Bohrlochs und die relativen Positionen der n-1 abhängigen Bohrlöcher werden vorgegeben und durch entsprechende Attribute repräsentiert. Weiterhin werden ein Datenobjekt des Typs „Lagetoleranz" und n-1 Datenobjekte des Typs „Meß-Toleranzen" erzeugt und dem Referenz-Bohrloch bzw. den n-1 abhängigen Bohrlöchern mittels Relationen zugeordnet .
Ein Relations-Typ „Relativposition" und n-1 Relationen dieses Typs werden erzeugt, jede Relation dieses Typs verbindet das Referenz-Bohrloch, ein abhängiges Bohrloch und eine Meß- Toleranz miteinander. Der Relations-Typ „Relativposition" ist mit den Datenobjekt-Typen „Referenz-Bohrlöcher", „abhängige Bohrlöcher" und „Meß-Toleranzen" verbunden. Er umfaßt eine ü- berprüfende Vorschrift für die Relativ-Position des abhängigen Bohrlochs relativ zum Referenz-Bohrloch des Lochbildes. Die Vorschrift nimmt Bezug auf die durch das dritte Datenobjekt vorgegebene Meßtoleranz. Jede Relation des Typs „Relativ-Position" „kennt" diese Vorschrift. Bei Auswertung der Relation ermittelt das erfindungsgemäße System 10 die benötigten Attribute der drei Datenobjekte und setzt sie in die Vorschrift ein. Überprüft wird durch die Auswertung der Vorschrift, ob die Relativ-Position die vorgegebene Meßtoleranz einhält. Ein weiterer Relations-Typ namens „Lochbilder" wird eingeführt. Pro Lochbild wird eine Relation dieses Typs erzeugt, welche die gerade beschriebenen n-1 Relationen des Typs „Relativ-Position" miteinander verbindet. Über diese Relation kann das zentrale Diensteprogramm 98 auf alle Datenobjekte und Relationen, die das Lochbild repräsentieren, zugreifen.
Eine abweichende Ausfuhrungsform dieses Beispiels sieht vor, N Untertypen des Datenobjekt-Typs „abhängige Bohrlöcher" zu erzeugen, wobei N die maximal mögliche Loch-Anzahl eines Lochbildes ist. Die n-1 Datenobjekte für die n-1 abhängigen Bohrlöcher des Lochbildes gehören zu n-1 verschiedenen der N Datenobjekt-Typen. Dank dieser Ausführungsform läßt sich durch Kenntnis nur des jeweiligen Datenobjekt-Typs ein bestimmtes abhängiges Bohrloch adressieren.
Sonderfälle von Datenobjekt-Typen sind die Typen „Kommentare", „Benutzer-Hilfen", „Erfahrungsobjekte" und „Dokumentationen". Ein Erfahrungsobjekt umfaßt Texte, Bilder und/oder Bildfolgen, die Erfahrungen mit einem anderen Datenobjekt o- der einer Relation oder Begründungen z. B. für eine Entwurfsentscheidung (design rationale) beschreiben. Für alle diese Typen wird der Obertyp „Erläuterungen" eingeführt. Ein Datenobjekt des Typs „Erläuterungen" ist durch eine Relation mit mindestens einem anderen Datenobjekt, z. B. einem Gestaltungselement oder einem Bauteil, einem Datenobjekt-Typ oder einer Relation oder einem Relations-Typ oder einer Relations- Typ-Kategorie verbunden. Dieselbe Erläuterung kann verschiedenen Datenobjekten zugeordnet sein. Möglich ist, eine Erläuterung zunächst einem Datenobjekt zuzuordnen und später nach einem Freigabeprozeß dem entsprechenden Datenobjekt-Typ. Die Relationen zwischen Erläuterungen einerseits und anderen Datenobjekten, Relationen, Typen oder Relations-Typ-Kategorien andererseits werden ebenfalls typisiert, z. B. gehören sie alle einem Relations-Typ „Erläuterungs-Zuordnung" an.
In Abhängigkeit von den automatisch auswertbaren Vorschriften werden zwei Arten von Relationen unterschieden, nämlich überprüfende und generische Relationen. Entsprechend werden überprüfende und generische Relations-Typen unterschieden.
Ein überprüfender Relations-Typ beschreibt durch die zugeordneten überprüfenden Vorschriften mindestens eine logische Abhängigkeit zwischen Datenobjekten. Geprüft wird, ob die existierenden Datenobjekte mit den Vorschriften vereinbar sind. Neue Datenobjekte werden nicht erzeugt. Eine Sonderform einer überprüfenden Vorschrift ist ein Attribut des Relations-Typs . Dieses Attribut kennzeichnet beispielsweise eine Relation und damit eine Abhängigkeit zwischen Datenobjekten verschiedener Anwendungen 200.1, 200.2 näher.
Ein Beispiel: Ein Zylinderkopf umfaßt n Kühlrippen. Diese werden in der Phase Konstruktion durch n Konstruktions- Gestaltungselemente modelliert. Ein Grundkörper für den Zylinderkopf wird um diese n Konstruktions-Gestaltungselemente ergänzt. Bei der Fertigung des Zylinderkopfs werden die Kühlrippen erzeugt, indem Aussparungen aus einem Block gefräst werden. Diese auszufräsenden Aussparungen werden in der Phase Arbeitsplanung durch Fertigungs-Gestaltungselemente modelliert. Um die Abhängigkeiten zwischen diesen Gestaltungselementen zu erfassen, wird ein Typ von Relationen zwischen n Konstruktions-Gestaltungselementen für die Phase Konstruktion und m Fertigungs-Gestaltungselementen für die Phase Arbeitsplanung eingeführt. Eine solche Relation verbindet n Kühlrippen und m Ausfräsungen an einem Zylinderkopf.
Um festzulegen, wie viele Datenobjekte diese Relation verbindet, werden zwei Mitgliedschafts-Intervalle (Kardinalitäten) für den Relations-Typ festgelegt. Das erste Mitgliedschafts- Intervall schränkt die Anzahl der Kühlrippen ein, das zweite die Anzahl der Ausfräsungen. Ein Mitgliedschafts-Intervall hat z. B. die Form a:b, wobei a eine natürliche Zahl und b eine natürliche Zahl oder * ist. Die Festlegung * steht für eine beliebig große Anzahl von Datenobjekten.
Vorzugsweise werden dem Relations-Typ weiterhin zwei fremde Rollen zugeordnet, nämlich die Rollen „als Konstruktions- Gestaltungselemente" und «als Fertigungs- Gestaltungselemente" . Dadurch wird festgelegt, welche Rollen die verbundenen Datenobjekte in einer Relation des Typs „aus Sicht der Rolle" spielen. Im allgemeinen Fall sind vorzugsweise n Mitgliedschafts-Intervalle und n Rollen für einen Relations-Typ festgelegt, die n Datenobjekt-Typen und/oder Relations-Typen miteinander verbindet. Diese Ausgestaltung ermöglicht es, effizient nun-Beziehungen zu modellieren. Weiterhin wird einem Relations-Typ eine Kennzeichnung der eigenen Rolle zugeordnet, das ist die Rolle, die eine Relation des Typs aus Sicht der verbundenen Datenobjekte spielt. Der Unterschied zwischen fremden Rollen und eigener Rolle wird an folgendem Beispiel erläutert:
Zwei Datenobjekt-Typen „Konstruktions-Gestaltungselemente" (design features) und „Fertigungs-Gestaltungselemente" (manu- facturing features) werden erzeugt. Der Datenobjekt-Typ „Kon- struktions-Gestaltungselemente" hat u. a. den Untertyp „Zwei- Stufen-Bohrlöcher", der Datenobjekt-Typ „Fertigungs- Gestaltungselemente" den Untertyp „Bohrungen". „Zwei-Stufen- Bohrlöcher" und „Bohrungen" werden einem Relations-Typ „wird gefertigt als" so zugeordnet, daß eine Relation des Typs ein Zwei-Stufen-Bohrloch mit zwei Bohrungen verbindet. Dem Relations-Typ werden die eigenen Rollen „Fertigungs-Sicht" (aus Sicht der Konstruktions-Gestaltungselemente) und „Fertigteil- Sicht" (aus Sicht der Fertigungs-Gestaltungselemente) zugeordnet. Weiterhin werden dem Relations-Typ die fremden Rollen „obere Bohrung" und „untere Bohrung" (aus Sicht des Zwei- Stufen-Bohrlochs) sowie „Stufen-Bohrloch" (aus Sicht der Bohrungen) zugeordnet .
Die dem Relations-Typ namens „wird gefertigt durch" zugeordnete Vorschrift legt z. B. fest, welche und wie viele Fertigungs-Gestaltungselemente für gegebene Konstruktions- Gestaltungselemente erforderlich sind. Die überprüfende Vorschrift besagt z. B., daß m = n - 1 gelten muß. Sie kann Bezug auf die beiden Mitgliedschafts-Intervalle nehmen. Falls beispielsweise zehn Konstruktions-Gestaltungselemente, aber nur fünf Fertigungs-Gestaltungselemente erzeugt wurden, so wird durch Anwendung der Vorschrift ein Widerspruch entdeckt und gemeldet .
Die fehlenden Fertigungs-Gestaltungselemente werden nicht automatisch erzeugt. Es liegt in der Verantwortung der jeweiligen Anwendung 200, an die der Widerspruch gemeldet wird, oder ihrer Benutzer, diesen zu beseitigen. Überprüfende Relationen können auch sogenanntes ontologisches Wissen über semantische Zusammenhänge zwischen Datenobjekt- Typen besitzen. Sie erlauben einen konsistenten Informationsfluß entlang des Produktentstehungsprozesses und verknüpfen Anwendungen auf der Informationsebene und nicht nur auf der Datenebene .
Eine generierende Relation umfaßt mindestens eine automatisch auswertbare Generierungsvorschrift , die festlegt, wie Datenobjekte automatisch erzeugt werden. Diese Vorschrift ist einem Typ generierender Relationen zugeordnet und legt das gewünschte Ergebnis eines Generierungsschritts fest. Vorzugsweise übermittelt das zentrale Diensteprogramm 98 dieses gewünschte Ergebnis an die jeweiligen Anwendungen 200. Es liegt in der Verantwortung dieser Anwendungen 200 und bei Bedarf ihrer Benutzer, das gewünschte Ergebnis zu erzeugen.
Diese Vorschriften können von Bedingungen in Produktmodellen 150 abhängen oder von diesen oder von anderen definierten Ereignissen (events) ausgelöst werden. Beispielsweise wird nach jeder Änderung eines anwendungsspezifischen Modells für eine Phase ermittelt, welche Datenobjekte von der Änderung beeinflußt sind und welche generierenden Relationen sich auf diese Datenobjekte beziehen. Eine Änderung des Produkt- Modells löst eine automatische Auswertung der aufgrund der Änderung ermittelten generierenden Relationen aus. Generierende Relationen automatisieren damit Aufgaben des Produkt- entstehungsprozesses .
Vorzugsweise verknüpft eine generierende Relation die Datenobjekte, die einen Generierungsschritt auslösen, mit denjenigen Datenobjekten, die bei diesem Generierungsschritt erzeugt werden, z. B. durch „Instantiierung". Die Generierungsvorschrift, die dem jeweiligen Typ generierender Relationen zugeordnet ist, umfaßt alle Informationen, die erforderlich sind, um Datenobjekte in einem bestimmten Produkt- oder Prozeßmodell zu instantiieren. Eine von einer generierenden Relation umfaßte Vorschrift generiert z. B. eine Gruppe von miteinander durch Relationen verbundenen Gestaltungselemente (feature constellation) . Nicht nur die Datenobjekt-Typen werden instantiiert , um die verbundenen Gestaltungselemente zu erzeugen, sondern auch die Relations-Typen, um die verbindenden Relationen zu erzeugen. Ein Generierungsschritt wird beispielsweise immer dann ausgelöst, wenn ein vorab spezifiziertes Datenobjekt verändert o- der instantiiert wird. Die Festlegung, wodurch ein Generierungsschritt ausgelöst wird, wird erfindungsgemäß einem Relations-Typ zugeordnet. Eine Vorschrift, die einem Relations- Typ zugeordnet ist, wird beispielsweise von einer Komponente des erfindungsgemäßen Systems 10 interpretiert. Oder aber das zentrale Diensteprogramm 98 leitet die Vorschrift an eine In- ferenzmaschine 60 weiter, welche die automatische Auswertung vornimmt und ihr Ergebnis, also das gewünschte Ergebnis einer Generierung, an das zentrale Diensteprogramm 98 zurückmeldet. Weil die Inferenzmaschine 60 komplexe Auswertungen durchführt, ist es oft von Vorteil, sie als eigene Anwendung getrennt vom zentralen Diensteprogramm 98 zu realisieren.
Die Verwendung von Relations-Typ-Kategorien, Relations-Typen und Relationen wird an einem Beispiel erläutert. Für einen Produktentstehungsprozeß eines Automobil-Herstellers, der für jede seiner neuen Baureihen gültig ist, wird in der anwen- dungsübergreifenden Standard-Bibliothek ein Datenobjekt-Typ „Löcher" eingeführt und der Phase Produkt-Konstruktion zugeordnet. Die Datenobjekte dieses Typs sind Konstruktions- Gestaltungselemente (design features) . Weiterhin wird ein Typ von Qualitäts-Gestaltungselementen (quality features) namens „Funktions-Toleranzen" mit den Untertypen „Formtoleranzen", „Lagetoleranzen" und „Meßtoleranzen" eingeführt und der Phase „Konstruktion" zugeordnet. Der Typ „Löcher" erhält einen Untertyp „Bohrlöcher" und dieser einen Untertyp „Bohrlöcher für Karosserie". Diese Ausgestaltung berücksichtigt, daß die Konstrukteure bereits in der Phase „Konstruktion" funktionale Toleranzen z. B. für Konstruktions-Gestaltungselemente fest- legen. In der Phase „Produktionsplanung" werden weitere Toleranzen festgelegt, z. B. solche zur Überwachung des Fertigungsprozesses und insbesondere der zur Herstellung des Produkts verwendeten Bearbeitungsmaschinen und Werkzeuge.
Der Phase Qualitätssicherung wird ein Typ von Meß- Gestaltungselementen (measuring features) namens „Meßpunkte" zugeordnet. Jedes Meß-Gestaltungselement repräsentiert einen Abtastpunkt, dessen tatsächliche Position und/oder Orientierung während der Qualitätssicherung ermittelt und mit einer Soll-Position und/oder Soll-Orientierung verglichen wird.
Drei Kategorien von Datenobjekten werden erzeugt, nämlich die Kategorie der Konstruktions-Gestaltungselemente, die der Qua- litäts-Gestaltungselemente und die der Meß- Gestaltungselemente. Eine Relations-Typ-Kategorie namens „Meßstrategien" wird eingeführt. Festgelegt wird, daß ein Relations-Typ dieser Kategorie drei Datenobjekt- Typen verbindet, nämlich einen Typ von Konstruktions- Gestaltungselementen einen Typ von Qualitäts- Gestaltungselementen und einen Typ von Meß- Gestaltungselementen, und welche Parameter ein Relations-Typ der Kategorie mindestens haben muß, vorzugsweise mindestens einen Namen und eine Meßstrategie, formuliert z. B. mit Hilfe der Dokumen- ten-Beschreibungssprache „eXtended Markup Language" (XML) oder als Freitext.
Jeder Relations-Typ der Kategorie „Meßstrategien" verbindet somit einen Typ von Konstruktions-Gestaltungselementen, einen Typ von Qualitats-Gestaltungselementen und einen Typ von Meß- Gestaltungselementen miteinander .
Ein überprüfender Relations-Typ der Kategorie „Meßstrategien" wird erzeugt, mit dem Namen „wird überprüft durch" versehen und der Kategorie „Meßstrategien" zugeordnet. Der Relations- Typ „wird überprüft durch" verbindet drei Datenobjekt-Typen miteinander, nämlich die Typen „Bohrlöcher", „Loch-Toleranz" und „Meßpunkte". Diesem Relations-Typ wird z. B. folgende ü- berprüfende Vorschrift zugeordnet:
Für jedes Konstruktions-Gestaltungselement k, jedes Quali- täts-Gestaltungselement qu und jedes Meß-Gestaltungselement m gilt:
Falls der Typ von k gleich „Bohrlöcher für Karosserie" ist, gilt:
Falls der Durchmesser von k kleiner als 0,5 mm ist und die Toleranz von qu größer 0,1 mm ist, dann ist die Anzahl von m gleich 5.
Falls der Durchmesser von k kleiner als 0,5 mm ist und die Toleranz von qu kleiner gleich 0,1 mm ist, dann ist die Anzahl von m gleich 8.
Falls der Durchmesser von k zwischen 0,5 mm und 5 mm ist, dann ist die Anzahl von m gleich 10. Falls der Durchmesser von k größer als 5 mm ist, dann ist die Anzahl von m gleich 20.
Die „Anzahl von m" bezeichnet die Anzahl von Meßpunkten, die dem Bohrloch zugeordnet sind und mit denen die Einhaltung der geforderten Toleranz überprüft wird.
Außerdem ermöglicht die Erfindung eine „bidirektionale Asso- ziativität" zwischen Datenobjekt -Typen. Dies wird am folgenden Beispiel erläutert. Zwei Datenobjekt-Typen A und B besitzen die drei Parameter x und y (Parameter von A) bzw. z (Parameter von B) . Eine automatisch auswertbare überprüfende Vorschrift legt fest, daß B.z = A.x * A.y ist. Falls zwei dieser drei Parameter bekannt sind, läßt sich der dritte automatisch berechnen. Falls für zwei Parameter obere und/oder untere Schranken bekannt sind, lassen sich eine obere und/oder untere Schranke für den dritten Parameter aufstellen. Beim Erzeugen der Vorschrift braucht nicht bekannt zu sein, welche die bekannten und welches der unbekannte Parameter sein wird. Werkzeuge zur automatischen Gleichungs- und Ungleichungslösung (constraint solver) vermögen vielmehr eine mehr solche Gleichung automatisch nach der Unbekannten aufzu- lösen. Solche Werkzeuge sind z. B. aus WO 00/31640 A2 und US 5,477,450 bekannt.
Gemäß der Erfindung wird die Vorschrift B.z = A.x * A.y einem Relations-Typ R zugeordnet, dem die Datenobjekt-Typen A und B zugeordnet sind. Falls eine Anwendung 200 ein Datenobjekt b des Typs B erzeugt hat und der Wert für b.z bestimmt werden soll, so wird festgestellt, durch welche Relation b mit anderen Datenobjekten verbunden ist, und eine Relation r des Typs R wird hierdurch ermittelt. Durch Lesezugriff auf R wird die Vorschrift B.z = A.x * A.y ermittelt und automatisch ausgewertet. Analog wird vorgegangen, wenn ein Datenobjekt a des Typs A erzeugt wurde und der Wert für a.x zu bestimmen ist.
Würde die Vorschrift B.z = A.x * A.y hingegen dem Datenobjekt-Typ B zugeordnet, so müßten dann, wenn der Wert für a.x zu ermitteln ist, sämtliche Datenobjekt -Typen durchsucht werden, um den Datenobjekt-Typ B und dort eine anwendbare Vorschrift zu finden. U. U. müßten hierfür sogar andere Anwendungen 200 konsultiert werden.
Das erfindungsgemäße System 10 automatisiert die Kooperation zwischen verschiedenen Anwendungen 200 und damit die Automatisierung von Aufgaben des Produktentstehungsprozesses über verschiedene Phasen und Anwendungen 200 hinweg. Beispielsweise übermittelt eine Anwendung 200.1 an das zentrale Diensteprogramm 98, daß die Anwendung 200.1 ein Datenobjekt 300.1 eines vorgegebenen Typs durch Instantiierung erzeugen wird. Dieses Datenobjekt 300.1 gehört zu einem Produktmodell 150.1, das durch die Anwendung 200.1 erzeugt und bearbeitet wird. Das zentrale Diensteprogramm 98 stellt den Typ 500.1 des zu erzeugenden Datenobjekts 300.1 fest und ermittelt, welche Relations-Typen diesen Datenobjekt-Typ 500.1 mit anderen Datenobjekt-Typen verbinden. Falls es solche Relations- Typen nicht gibt oder falls diesem Relations-Typen ausschließlich überprüfende Vorschriften zugeordnet sind, meldet das System 10 an die Anwendung 200.1, daß die Erzeugung des Datenobjekts 300.1 fortgesetzt werden kann. Bei Bedarf übermittelt es Namen und Attributwerte für das Datenobjekt 300.1 an die Anwendung 200.1. Falls hingegen ein Relations-Typ mit einer generierenden Vorschrift ermittelt wird, so wertet die Inferenzmaschine 60 diese aus. Das Ergebnis hängt von dem zu erzeugenden Datenobjekt 300.1 des Typs 500.1 ab, beispielsweise besteht es daraus, daß n Datenobjekte eines Typs 500.2 und r Datenobjekte eines weiteren Typs 500.3 sowie Relationen zwischen dem neuen Datenobjekt des Typs 500.1, den n neuen Datenobjekten des Typs 500.2 und den r neuen des Typs 500.3 zu erzeugen sind. Die Inferenzmaschine 60 übermittelt dieses Ergebnis an das zentrale Diensteprogramm 98. Das zentrale Diensteprogramm 98 ermittelt, welche Anwendungen 200 von diesem Ergebnis beeinflußt sind, z. B. die auslösende Anwendung 200.1 und/oder weitere Anwendungen. Jede beeinflußte Anwendung 200.b erhält die Mitteilung, welche Datenobjekte sie zu erzeugen hat, z. B. welche die n des Typs 500.2, welche die r des Typs 500.3. Die Erzeugung dieser Datenobjekte liegt in der Verantwortung der jeweiligen Anwendungen. Nachdem die Anwendungen 200 die Datenobjekte 300 für ihre jeweiligen Produktmodelle 150 vollständig erzeugt haben, melden diese an das zentrale Diensteprogramm 98 zurück, daß die Erzeugungs- Vorschläge ausgeführt wurden.
Ein ähnlicher Ablauf wird ausgelöst, wenn eine Anwendung 200 ein bereits bestehendes Datenobjekt 300 verändert oder löscht (change management) . Wird ein Relations-Typ 600 mit einer ü- berprüfenden Vorschrift ermittelt, so wird diese angewendet, um zu prüfen, ob nach der Änderung immer noch ein konsistenter Zustand vorliegt oder ob beispielsweise die Änderung eine automatisch ausführbare und einem Relations-Typen zugeordnete Vorschrift verletzt.
Das erfindungsgemäße System 10 unterstützt darüber hinaus die simultane Zusammenarbeit verschiedener Anwendungen 200 (con- current engineering) . Oft haben Änderungen, die eine erste Anwendung 200.1 an einem ersten Modell 150.1 des Produkts o- der Prozesses vornimmt, Auswirkungen auf ein zweites Modell, das von einer zweiten Anwendung 200.2 bearbeitet wird. Jedoch hat die erste Anwendung 200.1 keinen Schreibzugriff auf das zweite Modell 150.2, weil die Bearbeitung des zweiten Modells in der Verantwortung der Benutzer der zweiten Anwendung 200.2 liegt. In diesem Fall ermittelt das System 10, welche Datenobjekte des ersten Modells 150.1 von der Änderung betroffen sind. Es stellt fest, welche Relationen dieses Datenobjekt mit anderen Datenobjekten verknüpfen und welche Vorschriften den Typen dieser Relationen zugeordnet sind. Durch Auswertung dieser Vorschriften wird ermittelt, welche weiteren bereits existierenden Datenobjekte wie verändert werden müssen und welche neuen Datenobjekte erzeugt werden müssen, damit auch nach der Änderung das zweite und das erste Modell zueinander konsistent sind. Die dergestalt erzeugten Informationen werden als Vorschläge an die zweite Anwendung 200.2 gesandt. Es liegt in der Verantwortung der Benutzer der zweiten Anwendung, ob diese Vorschläge realisiert werden oder nicht und wenn ja wie.
Um die Datenobjekt-Typen 500 und Relations-Typen 600 abzuspeichern, werden vorzugsweise eine Vorgehensweise und ein Datenmodell gewählt, das unabhängig von einer bestimmten Anwendung ist. Eine Ausfuhrungsform sieht vor, die Syntax „eX- tended Markup Language" (XML) mit „XML Schema Definition" (XSD) zu verwenden und Informationen als ASCII -Text oder Text im Format Unicode abzuspeichern. Beispielsweise werden Informationen über Datenobjekt-Typen 500 und Relations-Typen 600 in verschiedenen Dateien und/oder Tabellen einer relationalen Datenbank abgespeichert. Jeder Typ wird als eine eigene XML- Entität in einem eigenen Datensatz einer Tabelle abgespeichert. Anwendungen 200 haben über definierte Informationswei- terleitungs-Schnittstellen 250 Lese- und Schreibzugriff auf die zentrale Datenbank 100 des erfindungsgemäßen Systems 10 als zentraler Datenhaltung. Vorzugsweise werden hierfür Standards wie „Open Database Connectivity" (ODBC) zur Verbindung mit relationalen Datenbanken und die „Standard Query Language" (SQL) als Standardsprache für Abfragen von relationalen Datenbanken verwendet. Diese Ausfuhrungsform ermöglicht es, jede SQL- und ODBC-fähige relationale oder objektorientierte Datenbank einzusetzen und bei Bedarf nachträglich eine Datenbank durch eine andere zu ersetzen, ohne erneut Daten eingeben oder das zentrale Diensteprogramm 98 oder gar eine Anwendung 200 verändern zu müssen.
Datenobjekte 300 werden vorzugsweise gemeinsam mit dem jeweiligen Produktmodell 150 abgespeichert, Relationen hingegen getrennt von den Anwendungen 200 in der zentralen Datenbank 100 gemeinsam mit den Typen. Die Benutzeroberfläche 50 des erfindungsgemäßen Systems 10 wird vorzugsweise getrennt vom zentralen Diensteprogramm 98 realisiert. Damit kann die Benutzeroberfläche 50 auf verschiedene Benutzer zugeschnitten und „personalisiert" werden, ohne die Datenhaltung an verschiedene Benutzergruppen anpassen zu müssen. Beispielsweise werden einem erfahrenen Benutzer mehr Handlungsmöglichkeiten angeboten als einem Neuling, ein Neuling erhält hingegen mehr Hilfestellungen.
Das zentrale Diensteprogramm 98 erzeugt und verwaltet darüber hinaus vorzugsweise Modelle für die Lese- und Schreibberechtigungen, das Verhalten, die Fähigkeiten und die Vorlieben von Benutzern, die mindestens eine der Anwendungen 200 benutzen (user modeling) . Diese „Benutzer-Profile" (user profiles) werden in der zentralen Datenbank 100 verwaltet. Hierbei werden z. B. die Benutzer in verschiedene Klassen kategorisiert . Die Anwendungen 200 haben Lesezugriff auf diese Profile und erzeugen lokale Benutzeroberflächen der Anwendungen, die auf den jeweiligen Benutzer zugeschnitten sind. Weil diese Profile und Berechtigungen für die Benutzer zentral gespeichert und verwaltet werden, brauchen sie nur einmal erzeugt und gepflegt zu werden. Nicht erforderlich ist es, daß jede Anwendung 200 solche Profile separat verwaltet. Dies ist zwangsläufig mit doppelter Datenhaltung und erheblich höherem Aufwand verbunden.
Zu einem Benutzerprofil gehören vorzugsweise auch Informationen, die festlegen, wie die Datenobjekt-Typen dem jeweiligen Benutzer präsentiert werden. Neben Festlegungen zur Darstellungsform wird festgelegt, in welcher Reihenfolge welche Da- tenobjekt-Typen in einem Navigations-Baum auftreten, der dem Benutzer präsentiert wird. Dieser Navigations-Baum kann mit der Taxonomie übereinstimmen, aber auch anders aufgebaut sein und nicht alle abstrakten Datenobjekt-Typen (Typen mit Untertypen) zeigen, z. B. nur die instantiierbaren Datenobjekt- Typen. Der Navigations-Baum für einen bestimmten Benutzer wird so aufgebaut, daß der Benutzer bestimmte Datenobjekt- Typen mit wenigen Operationen (z. B. „Ausklappen" und Auswählen) erreicht. Datenobjekt-Typen, die ein Benutzer häufig verwendet, erreicht er schneller als andere Datenobjekt- Typen.
Das erfindungsgemäße System 10 besitzt eine Benutzeroberfläche 50, die vorzugsweise den Benutzern der Anwendungen 200 verborgen ist und von einem Verwalter und Administrator der zentralen Datenbank 100 und des zentralen Diensteprogramms 98 benutzt wird.
Im folgenden werden die beiden Syntaxen für zwei beispielhafte Datenmodelle skizziert. Das erste Datenmodell, im folgenden Klassenmodell genannt, legt fest, wie Ressourcen- Kategorien, Ressourcen-Typen und Datenobjekt-Typen in der zentralen Datenbank 100 abgespeichert werden. Das zweite Datenmodell, im folgenden Instanzenmodell genannt, legt fest, wie Ressourcen (-Instanzen) in der zentralen Datenbank 100 abgespeichert werden. Die Syntax des Instanzenmodells läßt sich auch zur Abspeicherung von Datenobjekten verwenden. Die Festlegungen für beide Datenmodelle lassen sich z. B. mit Hilfe von XML und XSD realisieren.
Die Syntax für das Klassenmodell legt folgendes fest:
• Auf oberster Ebene umfaßt das Klassenmodell mindestens eine Klasse, außerdem bei Bedarf eine Festlegung, welche Version des Klassenmodells verwendet wird. Das Klassenmodell kann beliebig viele Klassen umfassen.
• Für eine Klasse werden folgende Informationen festgelegt:
- ob die Klasse eine Ressourcen-Kategorie, ein Ressourcen- Typ oder ein Datenobjekt-Typ ist, eine interne Kennung sowie mindestens einen nach außen sichtbaren Namen der Klasse - vorzugsweise wird ein Name pro verwendete natürliche Sprache abgespeichert, welche einfachen Parameter die Klasse besitzt, wobei eine Klasse keinen, einen oder mehrere einfachen Parameter hat. Für jeden Parameter werden eine interne Kennung und mindestens ein nach außen sichtbarer Name, die Meßeinheit (z. B. mm), ein elementarer Datentyp (z. B. ganze Zahl) , ein voreingestellter Wert (default value) , Zugriffsinformationen, ein Wertebereich und Erläuterungen abgespeichert, welche komplexen Parameter die Klasse besitzt, wobei eine Klasse keinen, einen oder mehrere komplexen Parameter hat . Ein komplexer Parameter verweist auf einen Typ komplexer Parameter, das ist ein benutzerdefinierter Datentyp, und umfaßt interne Kennung, Namen und voreingestellte Werte, welche Methoden die Klasse besitzt, wobei eine Klasse keine, eine oder mehrere Methoden besitzt. Jede Methode ist durch interne Kennung, Namen, Liste der Argumente (mit Argument-Name und Datentyp) , Typ des Rückgabewert (return type) und Methodenrumpf (body) gekennzeichnet, welche Abhängigkeiten die Klasse besitzt, wobei die Abhängigkeiten als automatisch auswertbare Vorschriften formuliert werden,
Verwaltungs- Informationen, z. B. Festlegungen, wer Lese- und wer Schreibzugriff auf die Klasse hat, wer wann die Klasse angelegt hat, wer sie wann zuletzt verändert hat, welche Anwendungen 200 lesend auf die Klasse zugegriffen haben.
Falls die Klasse ein Relations-Typ ist: ein Verweis auf die zugeordnete Relations-Typ-Kategorie Falls die Klasse ein Relations-Typ ist: die dem Relations-Typ zugeordneten Partner (Datenobjekt-Typen und/oder andere Relations-Typen)
Externe Verweise auf UDF-Dateien, also Dateien mit benutzerdefinierten Konstruktions-Gestaltungselementen (u- ser-defined features) für ein bestimmtes CAD-Werkzeug, abgespeichert in einem für das Werkzeug spezifischen Datenformat .
• Die Festlegungen über die dem Relations-Typ zugeordneten Partner haben vorzugsweise folgende Struktur:
- Wie viele Partner sind Datenobjekt-Typen, wie viele andere Relations-Typen? die internen Kennungen der Partner, die Richtung, in der jeder Partner an der Relation beteiligt ist (z. B. Eingang, Ausgang oder richtungslos), die fremden Rollen, die die Partner bezüglich der Relation spielen, die eigenen Rollen, die die Relation bezüglich der Partner spielt,
- und die Mitgliedschafts- Intervalle (Kardinalitäten) der Partner.
Eine automatisch auswertbare Vorschrift kann als Parameter o- der als Methode eines Relations-Typs oder einer Relations- Typ-Kategorie realisiert sein.
Die Syntax für das Instanzenmodell legt folgendes fest:
• Auf oberster Ebene umfaßt das Instanzenmodell mindestens eine Instanz, also eine Relation oder ein Datenobjekt, außerdem bei Bedarf eine Festlegung, welche Version des Instanzenmodells verwendet wird. Das Instanzenmodell kann beliebig viele Instanzen umfassen.
• Für eine Instanz werden folgende Informationen festgelegt :
- Ob die Instanz eine Relation oder ein Datenobjekt ist, einen Verweis auf den Relations-Typ bzw. Datenobjekt- Typ, dem die Instanz angehört, und zwar vorzugsweise durch Angabe der internen Kennung des Typs, eine interne Kennung sowie mindestens einen nach außen sichtbaren Namen der Instanz - vorzugsweise wird ein Name pro verwendete natürliche Sprache abgespeichert, welche einfachen Parameter die Instanz besitzt,
- welche komplexen Parameter die Instanz besitzt, Verwaltungs- Informationen,
- die Rollen, die die beteiligten Partner spielen, vorzugsweise als Vektor mit einzelnen Rollen und Verweisen auf die Partner- Instanzen realisiert, und die Mitgliedschafts-Intervalle für die beteiligten Partner.
Beispielsweise wird ein Datensatz pro Datenobjekt-Typ 500 gemäß dem Klassenmodell angelegt. Für einen Relations-Typ 600.1, der n andere Typen verbindet, werden n+1 Datensätze angelegt, nämlich einen für den Relations-Typ 600.1 selber und je einen für einen Verweis auf einen Partner, d. h. einen Datenobjekt-Typ 500. a oder auf einen anderen Relations-Typ 600. a, der dem Relations-Typ 600.1 zugeordnet ist und durch 600.1 mit anderen Typen verbunden wird.
Vorzugsweise wird die relationale Datenbank in Normalform strukturiert, jede Tabelle realisiert 1:1- und l:n- Verknüpfungen, aber keine m:n-Verknüpfungen mit m > 1 und n > 1. Die internen Kennungen der Typen fungieren als Schlüssel der Datensätze. Die XML-Anweisungen zur Repräsentation der Parameter und Methoden eines Typs werden als Text in eine einzige Zelle des Datensatzes eingetragen. Eine XML-Anweisung für einen Verweis auf einen anderen Typ wird ebenfalls in eine einzige Zelle eingetragen. Diese Ausführungsform hat u. a. den Vorteil, daß Informationen schnell aus der zentralen Datenbank 100 eingelesen werden können und daß das Datenbank- Schema auch bei Änderung eines Datenmodells, z. B. des mit- tels "XML Schema Definition" (XSD) realisierten Klassenmodells, nicht geändert zu werden braucht.
Beim Einlesen der Relations-Typ-Kategorien, Relations-Typen und Datenobjekt-Typen aus der zentralen Datenbank 100 werden die Verknüpfungen zwischen Kategorien und Typen in Form von doppelt verzeigerten Listen im Arbeitsspeicher (random access memory) der Datenverarbeitungsanlage verfügbar gehalten. Das zentrale Diensteprogramm 98 erzeugt diese Listen im Arbeitsspeicher. Falls eine Anwendung 200 Informationen über eine Kategorie oder einen Typ benötigt, z. B. die Taxonomie unter Relations-Typ-Kategorien, so ist kein erneuter Lesezugriff auf die zentrale Datenbank 100 erforderlich. Vielmehr wird die benötigte Information mit Hilfe von Verweisen (pointer) auf bestimmte Speicherzellen des Arbeitsspeichers beschafft. Diese Ausfuhrungsform spart Rechenzeit ein, weil Zugriffe auf permanente Speichermedien mehr Zeitbenötigen als solche auf ein temporäres Speichermedium wie einen Arbeitsspeicher.
Bezugszeichenliste
Zeichen Bedeutung
10 Erfindungsgemäßes System
50 Benutzeroberfläche des erfindungsgemäßen Systems
60 Inferenzmaschine
98 Zentrales Diensteprogramm
100 Zentrale Datenbank
110.1, 110.2, ... Lokale Datenhaltungen der Anwendungen
150.1, 150.2, ... Produkt- oder Prozeßmodelle der Anwendungen
200.1, 200.2, ... Anwendungen
250.1, 250.2, ... Informationsweiterleitungs-Schnittstellen
300.1, 300.2, ... Datenobjekte

Claims

Patentansprüche
System (10) zur Erzeugung von Informationen über Datenobjekte, wobei ein Datenobjekt einen Bestandteil eines technischen Produkts oder einen Schritt eines Entstehungsprozesses für das Produkt repräsentiert, und das System (10) eine Einrichtung zur Erzeugung von Typen (500.1, 500.2, ...) von Datenobjekten (300.1, 300.2, ...) und eine Einrichtung zur Erzeugung von automatisch auswertbaren Vorschriften, deren Auswertung typisierte Datenobjekte (300.1, 300.2, ...) in Abhängigkeit von anderen typisierten Datenobjekten (300.1, 300.2, ...) ermittelt, generiert und/oder verändert, umfaßt, d a d u r c h g e k e n n z e i c h n e t , daß das System (10) zusätzlich eine Einrichtung zur Erzeugung von Typen (600.1, 600.2, ...) von Relationen (400.1, 400.2, ...) zwischen Datenobjekten (300.1, 300.2, ...), eine Einrichtung zur Zuordnung von Datenobj ekt-Typen (500.1, 500.2, ...) zu einem Relations-Typ (600.1, 600.2, ...) ,
- und eine Einrichtung zur Zuordnung von automatisch auswertbaren Vorschriften zu Relations-Typen (600.1, 600.2, ...) umfaßt .
System nach Anspruch 1 , d a d u r c h g e k e n n z e i c h n e t , daß das System (10) eine Einrichtung zur Erzeugung von Kategorien von Relations-Typen (600.1, 600.2, ...)
- und eine Einrichtung zur Erzeugung einer Taxonomie unter Relations-Typ-Kategorien umfaßt und die Einrichtung zur Erzeugung von Relations-Typen so ausgestaltet ist, daß mit ihr ein Relations-Typ (600.1, 600.2, ...), der zu einer vorgegebenen Kategorie gehört, erzeugbar ist.
System nach Anspruch 2 , d a d u r c h g e k e n n z e i c h n e t , daß das System (10) einen ersten Informationsspeicher mit einer ersten an- wendungsübergreifenden erweiterbaren Standard- Bibliothek mit Datenobj ekt-Typen (500.1, 500.2, ... )und Relations-Typen (600.1, 600.2, ...), einen zweiten Informationsspeicher mit einer zweiten anwendungsübergreifenden erweiterbaren Standard- Bibliothek mit Relations-Typ-Kategorien und eine Einrichtung zur Erzeugung einer Relations- Typ-Kategorie als Unterkategorie einer Relations-Typ- Kategorie der zweiten Standard-Bibliothek umfaßt ,
4. System nach Anspruch 2 oder Anspruch 3, d a d u r c h g e k e n n z e i c h n e t , daß das System (10) einen ersten Datenspeicher für Relations-Typ- Kategorien, einen zweiten Datenspeicher für Datenobj ekt-Typen (500.1, 500.2, ...) und Relations-Typen (600.1, 600.2, ...)
- und einen dritten Datenspeicher für typisierte Relationen (400.1, 400.2, ...) umfaßt .
5. System nach Anspruch 4 , d a d u r c h g e k e n n z e i c h n e t , daß das System (10) eine relationale Datenbank für die drei Datenspeicher umfaßt und ein Datensatz dieser Datenbank für eine Relations- Typ-Kategorie, einen Datenobjekt-Typ (500.1, 500.2, ...), einen Relations-Typ (600.1, 600.2, ...) oder eine Relation (400.1, 400.2, ...) eine Zelle für eine eindeutige Kennung und mindestens eine Zelle für Informationen, die im Datenformat XML strukturiert sind, umfaßt.
6. System nach einem der Ansprüche 1 bis 5, d a d u r c h g e k e n n z e i c h n e t , daß das System (10) eine Einrichtung zur Zuordnung eines Relations-Typs (600.1, 600.2, ...) zu einem anderen Relations-Typ (600.1, 600.2, ...) umfaßt.
7. System nach einem der Ansprüche 1 bis 6, d a d u r c h g e k e n n z e i c h n e t , daß das System (10) eine Einrichtung zur Erzeugung einer Relation (400.1, 400.2, ...), die von einem vorgegebenen Relations-Typ (600.1, 600.2, ...) ist, umfaßt.
8. System (10) zur Erzeugung von Informationen über Datenobjekte (300.1, 300.2, ...), wobei ein Datenobjekt (300.1, 300.2, ...) einen Bestandteil eines technischen Produkts oder einen Schritt eines Entstehungsprozesses für das Produkt repräsentiert, und das System (10) eine Einrichtung zur Erzeugung von Typen (500.1, 500.2, ...) von Datenobjekten (300.1, 300.2, ...)
- und eine Einrichtung zur Erzeugung von automatisch auswertbaren Vorschriften, deren Auswertung typisierte Datenobjekte (300.1, 300.2, ...) in Abhängigkeit von anderen typisierten Datenobjekten (300.1, 300.2, ...) ermittelt, generiert und/oder verändert, umfaßt , d a d u r c h g e k e n n z e i c h n e t , daß das System (10) eine Einrichtung zur Zuordnung eines Datenobj ekt-Typs (500.1, 500.2, ...) zu mindestens einer von mindestens zwei verschiedenen Phasen des Entstehungsprozesses
- und eine Einrichtung zur Erzeugung einer einzigen Taxonomie - für Datenobjekt-Typen (500.1, 500.2, ...), die einer ersten Phase zugeordnet sind,
- und für Datenobj ekt-Typen (500.1, 500.2, ...), die einer zweiten Phase zugeordnet sind umfaßt .
9. System nach einem der Ansprüche 1 bis 8, d a d u r c h g e k e n n z e i c h n e t , daß die Einrichtung zur Zuordnung von Datenobjekt-Typen die Zuordnung von jeweils mindestens zwei der folgenden Datenobjekt-Typen (500.1, 500.2, ...) zu einem Relations- Typ (600.1, 600.2, ...) ermöglicht:
Typen von Konstruktions-Gestaltungselementen,
Typen von Bauteilen,
Typen von Zusammenbauten,
Typen von Fertigungs-Gestaltungselementen,
Typen von Qualitäts-Gestaltungselementen,
Typen von Meß-Gestaltungselementen,
Typen von Prüf-Gestaltungselementen,
Typen von Werkstoffen,
Typen von Fertigungs-Vorrichtungen,
Typen von Betriebsmitteln
- und Typen von Kommentaren.
10. System nach einem der Ansprüche 1 bis 9, d a d u r c h g e k e n n z e i c h n e t , daß das System (10) eine Informationsweiterleitungs- Schnittstelle (250.1, 250.2, ...) zu einer Datenverarbei- tungseinrichtung zum Erzeugen und Bearbeiten eines Modells (150.1, 150.2, ...)
- des Produkts oder eines Teils des Produkts, eines Herstellungsprozesses zur Fertigung des Produkts oder eines Teils des Herstellungsprozesses, eines Arbeitsablaufs oder eines Teils eines Arbeitsablaufs, oder der Kosten zur Herstellung des Produkts umfaßt .
11. System nach Anspruch 10, d a d u r c h g e k e n n z e i c h n e t , daß die Informationsweiterleitungs-Schnittstelle (250.1, 250.2, ...) so ausgestaltet ist, daß über diese der Typ, eine Kennung und bei Bedarf Methoden und/oder Attributwerte eines von der Datenverarbeitungseinrichtung zu erzeugenden Datenobjekts (300.1, 300.2, ...) übermittelt werden können.
12. System nach Anspruch 10 oder Anspruch 11, d a d u r c h g e k e n n z e i c h n e t , daß das System (10) eine Einrichtung zur Erzeugung eines Benutzerprofils eines Benutzers umfaßt, wobei das Benutzerprofil mindestens eine der folgenden Festlegungen umfaßt :
- Lese- und Schreibberechtigungen des Benutzers,
Fähigkeiten des Benutzers beim Erzeugen und Bearbeiten von Datenobjekten (300.1, 300.2, ...), Vorlieben des Benutzers beim Erzeugen und Bearbeiten von Datenobjekten (300.1, 300.2, ...) und die Informationsweiterleitungs-Schnittstelle (250.1, 250.2, ...) so ausgestaltet ist, daß Festlegungen des Benutzerprofils über die Schnittstelle (250.1, 250.2, ...) übermittelt werden können.
13. Informationsmodell für Datenobjekte (300.1, 300.2, ...), die jeweils einen Bestandteil eines technischen Produkts oder einen Schritt eines Entstehungsprozesses für das Produkt repräsentieren, wobei das Informationsmodell
- Typen (500.1, 500.2, ...) von Datenobjekten (300.1, 300.2, ...)
- und automatisch auswertbare Vorschriften, deren Auswertung Datenobjekte (300.1, 300.2, ...) in Abhängigkeit von anderen Datenobjekten (300.1, 300.2, ...) generiert oder verändert, umfaßt, d a d u r c h g e k e n n z e i c h n e t , daß das Informationsmodell Typen (600.1, 600.2, ...) von Relationen (400.1, 400.2, ...) zwischen Datenobjekten (300.1, 300.2, ...) umfaßt,
- einem Relations-Typ (600.1, 600.2, ...) eine automatisch auswertbare Vorschrift zuordenbar ist
- und einem Relations-Typ (600.1, 600.2, ...)
- mindestens zwei Datenobjekt-Typen (500.1, 500.2, ...)
- oder mindestens ein Datenobj ekt-Typ (500.1, 500.2, ...) und mindestens ein anderer Relations-Typ (600.1, 600.2, ...) oder mindestens zwei andere Relations-Typen (600.1, 600.2, ... ) zugeordnet sind.
14. Informationsmodell nach Anspruch 13, d a d u r c h g e k e n n z e i c h n e t , daß das Informationsmodell
Kategorien von Relations-Typen (600.1, 600.2, ...) und eine Taxonomie unter Relations-Typ-Kategorien umfaßt und ein Relations-Typ (600.1, 600.2, ...) einer Relations-Typ-Kategorie zuordenbar ist.
15. Informationsmodell nach Anspruch 13 oder Anspruch 14, d a d u r c h g e k e n n z e i c h n e t , daß mindestens einem Relations-Typ (600.1, 600.2, ...) Mitgliedschafts-Intervalle und/oder Rollen für die Datenobjekte (300.1, 300.2, ...) und/oder Relationen (400.1, 400.2, ...), die durch eine Relation des Relations-Typs (600.1, 600.2, ...) verbunden werden, zugeordnet sind.
16. Informationsmodell nach einem der Ansprüche 13 bis 15, d a d u r c h g e k e n n z e i c h n e t , daß das Informationsmodell Phasen-Datenobjekte (300.1, 300.2, ...), die jeweils eine Phase des Entstehungsprozesses repräsentieren, umfaßt und einem Datenobjekt-Typ (500.1, 500.2, ...) ein Phasen- Datenobjekt (300.1, 300.2, ...) zuordenbar ist.
7. Informationsmodell nach einem der Ansprüche 13 bis 16, d a d u r c h g e k e n n z e i c h n e t , daß das Informationsmodell ein Datenmodell für die dauerhafte Speicherung von Datenobjekt-Typen (500.1, 500.2, ...) und/oder Relations-Typen (600.1, 600.2, ...), die gemäß dem Informationsmodell strukturiert sind, umfaßt.
EP03738033A 2002-06-27 2003-06-13 Informationserzeugungssystem für die produktentstehung Withdrawn EP1516234A2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE10228906 2002-06-27
DE10228906 2002-06-27
DE10236384 2002-08-08
DE10236384A DE10236384A1 (de) 2002-06-27 2002-08-08 Informationserzeugungssystem für die Produktentstehung
PCT/EP2003/006270 WO2004003798A2 (de) 2002-06-27 2003-06-13 Informationserzeugungssystem für die produktentstehung

Publications (1)

Publication Number Publication Date
EP1516234A2 true EP1516234A2 (de) 2005-03-23

Family

ID=30001483

Family Applications (1)

Application Number Title Priority Date Filing Date
EP03738033A Withdrawn EP1516234A2 (de) 2002-06-27 2003-06-13 Informationserzeugungssystem für die produktentstehung

Country Status (3)

Country Link
US (1) US20050246160A1 (de)
EP (1) EP1516234A2 (de)
WO (1) WO2004003798A2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003262776B2 (en) * 2002-08-21 2008-04-24 20-20 Technologies, Inc. Method for interpreting design data and associating manufacturing information with the data and software and systems for implementing the method
US7398129B2 (en) 2004-10-07 2008-07-08 Amada Company, Limited Representation of sheet metal part models
US7584200B2 (en) * 2005-01-31 2009-09-01 International Business Machines Corporation Graphical database navigator with relation level control
US8554520B2 (en) * 2007-05-01 2013-10-08 Auto Prep, Llc Systems and methods for differentiating and associating multiple drawings in a CAD environment
US8600706B2 (en) 2007-05-01 2013-12-03 Auto Prep, Llc Systems and methods for identifying crash sources in a CAD environment
FI20125700A7 (fi) * 2012-06-21 2013-12-22 Tekla Corp Yhteisdata suhdetiedolla
CN103049532A (zh) * 2012-12-21 2013-04-17 东莞中国科学院云计算产业技术创新与育成中心 基于突发事件应急管理的知识库引擎构建及其查询方法
KR20230070211A (ko) * 2020-09-18 2023-05-22 바스프 에스이 화학물질 생산

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2004003798A2 *

Also Published As

Publication number Publication date
WO2004003798A2 (de) 2004-01-08
WO2004003798A3 (de) 2004-03-04
US20050246160A1 (en) 2005-11-03

Similar Documents

Publication Publication Date Title
DE60008264T2 (de) Datenaustausch zwischen cad-systemen
DE69031758T2 (de) Verfahren zur Organisation von und zum Zugriff auf Produkt beschreibenden Daten in Zusammenhang mit einem technischen Prozess
EP0852759B1 (de) Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren
DE69704624T2 (de) System und verfahren für dynamische datenreferenz in einer generischen datenaustauschumgebung
DE19705955A1 (de) Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung
DE102011001460A1 (de) Verfahren und Gerät für eine datengesteuerte Schnittstelle basierend auf Relationen zwischen Prozesssteuerungsetiketten
DE60209631T2 (de) Verfahren zur Programmierung einer Automatisierungsapplikation
EP1674954A1 (de) System und Verfahren zur Wiederverwendung von Projektierungsdaten
EP1397730B1 (de) Verfahren zur ermittlung von auswirkungen von konstruktionsentscheidungen
EP1516234A2 (de) Informationserzeugungssystem für die produktentstehung
DE4417393A1 (de) Eine Methode zur Herstellung spezifischer Programm-Systeme und Sammlungen von Unterstützungsprogrammen (Tools) zur Erleichterung von Programmsystem-Herstellungsarbeiten
EP3364257B1 (de) Verfahren zum betrieb eines engineering-systems für ein industrielles prozessautomatisierungssystem und steuerungsprogramm
DE10149692A1 (de) Objekt-orientierte Datenverarbeitung
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
EP1407332A2 (de) Verfahren zum ermitteln von auswirkungen von konstruktionsänderungen
EP1347376B1 (de) Software zur Visualisierung hierarchisch stufbaren Objekten
DE102020119853B3 (de) Verfahren zum Steuern eines Automatisierungssystems mit Visualisierung von Programmobjekten eines Steuerprogramms des Automatisierungssystems und Automatisierungssystem
DE102011082838A1 (de) Identifikation wiederverwendbarer mechatronischer Komponenten in der Fabrikautomation
EP1285315B1 (de) Informationsverarbeitungssystem und verfahren zu dessen betrieb
DE69329007T2 (de) Kompilierungsmechanismus für Simulationsmodelle
DE10236384A1 (de) Informationserzeugungssystem für die Produktentstehung
DE19831651C1 (de) Verfahren zum Erzeugen eines regel- und anpassbaren Netzwerkes von Modellen von Verhaltensmustern einschließlich Software-Systemen
EP4160446A1 (de) Fähigkeitsanalyse einer komponente innerhalb einer industriellen automatisierungsanlage
EP4036753A1 (de) Vorrichtung und verfahren zur aufbereitung von daten
WO1995014281A1 (de) Verfahren zur automatischen modellierung eines teilprozesses aus einem gesamtprozess durch einen rechner

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20041209

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20060621