EP1917611A2 - System für den maschinengestützten entwurf technischer vorrichtungen - Google Patents

System für den maschinengestützten entwurf technischer vorrichtungen

Info

Publication number
EP1917611A2
EP1917611A2 EP06778219A EP06778219A EP1917611A2 EP 1917611 A2 EP1917611 A2 EP 1917611A2 EP 06778219 A EP06778219 A EP 06778219A EP 06778219 A EP06778219 A EP 06778219A EP 1917611 A2 EP1917611 A2 EP 1917611A2
Authority
EP
European Patent Office
Prior art keywords
objects
component
parameter
data model
resolution
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
EP06778219A
Other languages
English (en)
French (fr)
Inventor
Martin FRÖHLICH
Frank Neumann
Armin Ortmann
Torsten Thiele
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.)
Pace Aerospace Engineering and Information Technology GmbH
Original Assignee
Pace Aerospace Engineering and Information Technology GmbH
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
Application filed by Pace Aerospace Engineering and Information Technology GmbH filed Critical Pace Aerospace Engineering and Information Technology GmbH
Publication of EP1917611A2 publication Critical patent/EP1917611A2/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Definitions

  • the invention relates to a device for the conception or configuration of a machine object represented by an object data model.
  • the design process can roughly be divided into the following phases:
  • the documentation phase which completes the product development process, generates the necessary technical publications, plans the corporate structures required for production, structures for support of product retrofit (Retrofit Support) and lifecycle documentation.
  • the present invention relates to development processes in phases a), conception, or c), configuration.
  • the software platforms contain an interface through which various software tools are integrated. Different interface types are known.
  • the spectrum ranges from an application call with file-based communication for data exchange via network-like communication protocols to tailored coding of special application interfaces (API).
  • API application interfaces
  • KBE Knowledge-Based Engineering
  • CAD Computer Aided Generation
  • Disadvantage of both products is that the embedding of knowledge in the system is not uniform.
  • rule-based definition techniques and check mechanisms for activating the rules are used, or script interfaces such as VisualBasic or C ++ programming interfaces are provided.
  • DesignSheet Another well-known product is Rockwell Scientific's "DesignSheet.” DesignSheet's goal is to analyze conceptual designs, which are defined by variables and constraints.Constraints are algebraic equations that are symbolically defined on a user interface in Designsheet DesignSheet assumes that equations are explicitly present in symbolic form and can be resolved symmetrically after each variable involved, which limits the usability of designsheets because in practice constraints are often based on analysis functions that implement in a programming language Furthermore, functions define non-symmetric, ie directional constraints (directed from input to output) so that solving after the output of a function is simple, but after the input it is difficult and only numeric, but not symbol is possible. DesignSheet continues to be limited to the conceptual design analysis.
  • a KBE application is also the subject of WO 02/0734723 A1, which relates to an apparatus and method for configuring the interior of vehicles, in particular aircraft.
  • a user calls one in this procedure certain type of aircraft and can then modify the configuration by symbolic inputs via a graphical user interface. In doing so, the admissibility of the modifications made with regard to regulations of state authorities is ensured by means of implemented monitoring procedures and indicated in case of infringement.
  • Disadvantage of this device is on the one hand its limitation to the task of the configuration. On the other hand, the device restricts the user to a fixed repertoire of predefined modification possibilities of a particular aircraft type.
  • the technical problem underlying the invention is therefore to provide a device for the conception of a machine object using an object data model in the form of a system of equations, which provides a uniform embedding of engineering knowledge in the device and allows with particularly high flexibility, data models of machine components and - Objects and design rules in the conceptual design of different machine objects to use ..
  • the device according to the invention for the conception or configuration of a machine object using an object data model that can be represented, for example, by an equation system is specified in claim 1.
  • Preferred embodiments of the device according to the invention define the dependent claims.
  • the inventive device for conception, preliminary design and configuration of a machine object represented by an object data model has an object database containing component objects in the form of component data models.
  • a component object or component data model has in a simple form a parameter object or a plurality (in the context of this application in the sense of "multiplicity" to understand) parameter objects that can take a numeric or a non-numerical parameter value from a respective predetermined range of values
  • Numerical parameter values are, for example, numbers of the type double, float or unit-related values.
  • Non-numerical parameter values are, for example, For example, data structures of the type array or string, or discrete variables, such as of the type integer, can also be formed by geometry objects or component objects themselves.
  • a particularly preferred embodiment contains parameter objects in the form of unit-related physical quantities.
  • Component objects thus encapsulate the component-specific engineering knowledge with respect to the parameters, wherein in preferred exemplary embodiments, the relationships between the parameters are additionally detected by formula objects and the geometry of the component objects.
  • the object database of the device according to the invention also contains function objects.
  • a respective functional object is configured to form a predetermined link between two or more parameter objects of different component objects, modify parameter values contained in a component object, add a component object to the object data model and set parameter values of the added component object, or from the object data model Remove component object.
  • functional objects thus represent design strategic engineering know-how which advances the respective stage of a design process and analyzes a product status achieved in each case.
  • the modeling approach implemented by the separation of component objects and functional objects according to the invention makes it possible to distinguish between constraints within a component object (for example the value of a non-changeable parameter object) and boundary conditions that exist between components.
  • the former are captured by the component objects themselves, the latter by the function objects.
  • This encapsulation has the particular advantage that the modeling process can be made much clearer.
  • the encapsulation allows the reuse of the component objects in different machine objects, even in different technical systems such as different types of aircraft. This considerably increases the freedom of design of the user and solves the binding to each specified systems, as known from WO 02/073473 A1 in the form of airplane interior design (AIC), which is firmly related to an aircraft type.
  • AIC airplane interior design
  • the device according to the invention also contains a modeling unit which is connected to the object database and which is designed to generate a component object instance of a component object contained in the object database or a function object instance of a function object contained in the object database and to add it to an object data model , Furthermore, the modeling unit is designed to correspondingly modify the object data model to the input of an instruction for linking different component objects to one another or to component objects with function objects, and to mark a parameter object as input parameter or output parameter of a resolution process upon receipt of a corresponding instruction.
  • a user of the device according to the invention can design an object data model, accessing the component and function objects formed by the object database.
  • the device contains an execution unit which is connected to the model formation unit and to the object database and which is designed to execute a function object instance contained in the object data model with modification, addition or destruction with component objects of the object data model linked to it, based on the input of a corresponding execution instruction.
  • the device according to the invention is capable of analyzing, supplementing or modifying a current design stage of an object data model by executing suitably defined function objects.
  • the already mentioned advantages of the object structures according to the invention in the object database make it possible to reconcile the area spanning a respective design stage. automatically explore native designs by executing function objects to determine a suitable design.
  • the device according to the invention particularly preferably contains a resolution unit which is connected to the model-forming unit and to the object database.
  • the resolution unit is designed
  • This device in terms of its usability, covers a range of design stages that may not be reached in its scope by known devices, including the design, pre-design, and configuration of machine objects. So it becomes possible to use a design tool for many different design stages. Therefore, the problems of compatibility between data formats of different applications in conception, preliminary design and configuration, which have hitherto arisen, are eliminated. This is made possible by the above-described inventive structure of the component objects and functional objects.
  • the resolution unit directly accesses this structure when determining the links between the parameters contained in the object data model. This determination is greatly simplified over known resolution systems. A user does not have to do a symbolic input of equations, as it is known from the product DesignSheet.
  • a parameter object of a component object contained in the object database is formed by a further component object having at least one further parameter object.
  • a component object contained in the object database additionally contains a structure object which contains a list of the further component objects contained in the component object.
  • the hierarchical structure of the component objects corresponds to the situation encountered in actual life in the design of complex systems, that they are composed of separable components.
  • a component object contained in the object database additionally contains at least one formula object which is designed to form a predetermined mathematical link between two or more parameter objects of the component object.
  • This guide implements functional boundary conditions within a component object in the form of formula objects.
  • Formula objects are thus distinguished from the function objects in that they do not create a link between a component object and an external component object, but create links within the same component object alone.
  • This structure creates additional possibilities for mapping boundary conditions and at the same time strengthens the encapsulation of the constraints already created by the separation of component objects and function objects.
  • a component object contained in the object database additionally contains at least one method object which is designed to check the fulfillment of a relation between parameter objects of the component object and, depending on the test result, a value of at least one of the parameter objects included in the component objects according to a predetermined rule or to add a new component object or subcomponent object to an object data model.
  • Subcomponent objects form all objects contained in the component object, in particular parameter objects, formula objects, method objects, geometry objects and structure objects.
  • Method objects thus represent design knowledge with respect to a given component object. They can involve complex decisions or conditional operations. They are called in particular from formula objects in order to assign a value to a parameter object or to generate new component object structures.
  • method objects can be implemented in the form of complex, many-pronged C ++ methods.
  • the object database additionally contains at least one rule object that is designed to check the object data model or a component object or subcomponent object or its parameter values contained therein to fulfill a predefined boundary condition.
  • Rule objects capture design, manufacturing, customer or Product certification requirements to be met by the machine object.
  • rule objects are limited to more complex requirements that go beyond a mere comparison of parameter objects.
  • the modeling unit is connected to a graphical user interface and includes a graphics unit.
  • the graphics unit is designed to generate or modify a graphical representation of the object data model based on instructions received via the graphical user interface.
  • the graphical representation has for each component object, each formula object and each rule object of the object data model and each link between them each a predetermined graphic element.
  • the graphics unit is furthermore preferably designed to output the graphical representation to the graphical user interface.
  • a user may graphically create an object data model as a mathematical model via the graphical user interface, without the need to symbolically input the equations of the system.
  • the mathematical system is represented graphically, for example in the form of blocks connected by lines. As a result, graphical manipulations on these blocks, for example by manipulating a computer mouse, modify the mathematical model.
  • the creation of the mathematical equation system is carried out automatically by the resolution unit.
  • the graphics engine is configured to generate and output graphical representation of a number of component objects and functional objects contained in the object database and to output to the graphical user interface a graphical representation of the object data model containing all component objects contained therein and one contained therein Structure objects reflects a defined component object hierarchy.
  • a user may To recognize particularly clearly the component structure of the machine object in the design and to supplement or modify it by graphical manipulations.
  • the resolution unit includes a resolution diagnostic unit connected to the graphical user interface and configured to
  • This exemplary embodiment has the advantage that solution possibilities are determined for overcoming the under-determination of the mathematical model, to which the user is informed by the diagnosis message. He can then reduce or eliminate the sub-determination by setting the determined parameter object as an input parameter and by determining the parameter value.
  • the diagnostic message preferably contains all objects contained in the sub-determined subsystem. Depending on the diagnosis, both equations and parameters can occur in the diagnostic message.
  • the resolution diagnostic unit is additionally designed to determine at least one overdetermined parameter object in the presence of an overdetermined sub-system and to generate a diagnostic message that identifies the determined parameter object and to the graphical user interface Output user interface.
  • the diagnostic message preferably contains all objects contained in the overdetermined subsystem. Depending on the diagnosis, both equations and parameters can occur in the diagnostic message.
  • An intuitive graphical output of the diagnosis by the resolution diagnostic unit succeeds in an exemplary embodiment in which the resolution diagnostic unit is designed to additionally identify at least one further parameter object linked to the determined parameter object in the diagnostic message and output it to the graphics unit, and in which the graphics unit is designed. to generate a graphical representation of the determined parameter object, the further parameter object and their link and output to the graphical user interface for common representation with the diagnosis message.
  • the resolution diagnostic unit is designed to additionally identify at least one further parameter object linked to the determined parameter object in the diagnostic message and output it to the graphics unit, and in which the graphics unit is designed. to generate a graphical representation of the determined parameter object, the further parameter object and their link and output to the graphical user interface for common representation with the diagnosis message.
  • a component object includes a geometry object in the form of a set of geometry parameters having information about a geometric shape associated with the first parameter object.
  • the graphics unit is designed to use the input parameter values and the determined output parameter values of an object data model to determine values of the geometry parameters of all parameter objects and to generate a model graphic which corresponds to the geometric shape of the machine object with the determined geometry parameters.
  • the graphics unit is additionally designed to create and output an impact graphic that contains a graphical representation of all component objects, formula objects and rule objects that are directly or indirectly linked to a parameter object that can be selected via the user interface. In this way, it is determined and presented to the user, which other objects are influenced by the selected parameter object.
  • the graphics unit is additionally designed to create and output a computation graphic that contains a graphic representation of all component objects, formula objects and rule objects that directly or indirectly influence the calculation of a parameter value of a parameter object that can be determined as an output parameter via the user interface incorporated. This allows the user a visual and thus fast and effective analysis of the influence of other objects on a selected parameter object.
  • the resolution unit has a solver diagnostic unit which is designed
  • an embodiment of the device according to the invention proves to be particularly fast in comparison with known devices, in which the resolution unit is additionally designed, after an output of the determined If there is a change in the input parameter set for the object data model, values of the output parameters for the object data model are to be determined by the input parameter set of the input parameter set, and then a partial resolution plan is to be created which only contains those resolution steps that relate to the comparison systems, the solution of which or the changed one Input parameters depends directly or indirectly. In this embodiment, therefore, not the entire resolution process with the changed input parameter values has to be repeated. Rather, only those steps of the resolution process are determined and executed that are influenced by the changed input parameter values. In this way, input parameters can be quickly tested by the user and the design and pre-design process is therefore made more effective.
  • an optimal solution of the mathematical model is determined under given boundary conditions.
  • the modeling unit is designed to supplement an already solved object data model by a target relation entered via the user interface for the value of an output parameter.
  • the resolution unit is designed to create a partial solution plan that contains only those resolution steps relative to the previously created resolution step, which relate to sub-systems whose solution influences the output parameter limited by the target relation, and determine the parameter set that uses the equation system using an optimization algorithm solves and satisfies the target relation.
  • known optimization algorithms can be used. For example, a target parameter, an optimization type (minimization, maximization), an optimization algorithm, free parameters and constraints can be set via a dialog.
  • the mathematical system is then repeatedly solved by varying the free parameters, the resolution unit being designed to process only the partial resolution plan that is influenced by the free parameters.
  • the result is an assignment of the free parameters, which optimizes the target parameter while maintaining the constraints.
  • a component object drafting unit is provided that is connected to the graphical user interface and the object database and that is configured to generate a new component object or parameter object according to a user input at the graphical user interface and a parameter object or a new component object Add function object.
  • the component object design unit is preferably designed to display on the graphical user interface a mask with mask fields for querying definition elements of a new parameter object or component object, evaluate user entries in the mask fields, to generate the parameter object or component object corresponding to the entries in the mask fields and to store them in the object database ,
  • This variant saves the user the input of complex data structures and allows a simple and clear, individual creation of new component objects that are added to the object database. It is understood that in a larger enterprise context the release of the newly created objects in the object database for other users may be subject to predetermined rules.
  • a further preferred embodiment alternatively or additionally contains a functional object design unit which is connected to the graphical user interface and the object database and which is designed to generate a new functional object and to store the new functional object in the object database in accordance with a user input at the graphical user interface.
  • the functional object design unit is designed to display on the graphical user interface a mask with mask fields for querying definition elements of a new function object, to evaluate entries in the mask fields, to generate the new function object corresponding to the entries in the mask fields and to store it in the object database.
  • Another embodiment includes a rule object drafting unit connected to the graphical user interface and the object database and configured to generate a new rule object according to a user input at the graphical user interface and to store the new rule object in the object database.
  • Another aspect of the invention relates to a computer software product for designing, pre-designing, or configuring a machine object represented by an object data model containing code for implementation
  • a component object comprises a parameter object or a plurality of parameter objects which can assume a numerical or a non-numerical parameter value from a respectively predetermined value range;
  • 1.1.2.2 to modify parameter values contained in a component object
  • 1.1.2.3 add a component object to the object data model and set parameter values of the added component object
  • the computer software product of the present invention is for implementing the previously described device on a computer system. Depending on the application environment, this can be a single-user computer or a network formed by several computers communicating with one another.
  • Embodiments of the computer software product according to the invention contain code for implementing the above-described embodiments of the device according to the invention. The embodiments can be combined with each other.
  • FIG. 1 shows a block diagram of a first exemplary embodiment of a design device
  • FIG. 2 is a block diagram of a second embodiment of a design apparatus
  • FIG. 3 is a block diagram of a network-based design device
  • FIG. 4 shows a block diagram for a more detailed explanation of a system for generating object data for the object database
  • FIG. 5 is a diagram illustrating the structure of a component object
  • FIG. 6 is a diagram for explaining a component object concept
  • Figure 7 is a block diagram for explaining the relationships between component object categories, component object concepts and
  • FIG. 8 is a diagram for explaining various types of functional objects
  • FIG. 9 shows a diagram for explaining the structure of a controlled object
  • FIG. 10 shows a more detailed block diagram of a further embodiment of a design device
  • FIG. 11 is a block diagram showing in more detail the analysis unit of the resolution unit of FIG. 10;
  • FIG. 12 shows a simple example of a dependency graph as determined by the analysis unit.
  • Figure 13 shows as a result of combinatorial analysis and graph decomposition in the analysis unit the system shown in Figure 12 with a decomposed dependence graph from which a resolution plan can be derived.
  • FIG. 1 shows an exemplary embodiment of a device 100 according to the invention for the conceptual design of a machine object.
  • the device contains an object database 102 in which predefined component objects, function objects and rule objects are stored.
  • object database 102 in which predefined component objects, function objects and rule objects are stored.
  • the device further includes a unit 104, hereinafter referred to as a knowledge designer.
  • the knowledge designer is connected to the object database 102.
  • the Knowledge Designer enables the definition and modification of component objects, function objects and rule objects. Newly created or modified objects are stored in the object database 102.
  • the object database 102 generates a new version for each modified object, which is identified by a corresponding version number.
  • Using the knowledge designer and the object database it is possible to create and maintain a library that contains all the component objects, function objects, and rule objects required for the design. Later design processes can directly access the knowledge thus created.
  • the device 100 further includes a resolution unit 106, which is also referred to as Workbench in the context of this application.
  • the workbench 106 forms a working platform for a definition, analysis, solution and optimization of an object data model.
  • the object data model is based on component objects, function objects and rule objects that are stored in the object database 102.
  • Workbench 106 allows its analysis and modification in addition to the definition of the object data model. The detailed structure of the workbench 106 will be explained in more detail below with reference to FIG.
  • FIG. 2 shows an alternative structure of a device according to the invention.
  • the reference numbers already used in FIG. 1 are used in FIG. 2, where identical parts are to be identified.
  • the device of FIG. 2 differs from that of FIG. 1 in that it contains no knowledge designer 104. Therefore, in the device of this embodiment, it is not possible to define new component objects, function objects, or rule objects.
  • the design work on the Workbench 106 therefore uses only the already stored in the object database 102 objects. These can be recorded, for example, in the case of a manufacturer-side initialization of the device or as part of a later update of the object database (update).
  • FIG. 3 shows a further exemplary embodiment of a device according to the invention in a network structure.
  • an object database 304 Via network 302 for data transmission, an object database 304, a knowledge designer 306 and a number of workbenches, symbolized here by the workbenches 308 and 310, are connected to one another.
  • a database server 312 and a license server 314 perform administrative tasks on the network 302.
  • the database server implements a DBMS (Data Base Management System) and may be, for example, an MSDE (Microsoft SQL Server Desktop Engine), an Oracle or a Microsoft SQL Server.
  • the Pacelab license server 314 monitors access to the object database 304 and prevents unlicensed access.
  • the network-based structure shown in FIG. 3 can also be realized with a single workbench.
  • the object database and the workbench are installed together with a database management system (DBMS) on a single workstation.
  • DBMS database management system
  • MSDE is preferably used.
  • the computer can also be equipped with Oracle or a MSSQL server.
  • a single-user computer additionally contains a knowledge designer.
  • FIG. 4 shows a block diagram for a more detailed explanation of a system for generating objects for the object database.
  • the system 400 shown here corresponds to the knowledge designer 306 of FIG. 3 and the knowledge designer 104 of FIG. 1.
  • the knowledge designer 400 has a three-part structure that reflects the three different types of objects that can be generated.
  • a component object designer 402 is for generating component objects 404.
  • a functional object designer 406 is for creating functional objects 408.
  • a rule object designer 410 is for generating rule objects 410.
  • the units 402, 406, and 410 are additionally designed to modify the structures they create.
  • the component object designer 402 can open, edit and store a component object stored in an object database, for example the object database 304, and store it in the object database in the form of a new version.
  • a respective input mask facilitates the redefinition of component objects, function objects or rule objects.
  • required steps such as coding and compilation are not required.
  • geometric and non-geometric product data can be used.
  • a geometry unit (not shown) generates a geometric model used to support the component object design, which is used to create visualizations that can be passed to CAD or DMU (Digital Mock-Up) systems.
  • the knowledge designer is specially trained to support calculations with physical units.
  • a component object is formed by a number of subcomponent objects 502 to 512.
  • the structure of the component object 500 is designed so that all data and relations necessary for the design are included for the description of a corresponding actual machine component.
  • FIG. 5 shows that the subcomponent objects themselves can take the form of component objects.
  • the subcomponent object 506 is formed by further component objects 508, 510 and 512.
  • the component object 508 in turn is formed by two subcomponent objects 510 and 512.
  • This data structure of a component object makes it easy to assemble new component objects from predefined component objects of the database.
  • a first form of subcomponent objects are parameter objects.
  • a parameter object 602 is formed by a parameter that can take a numerical or a non-numerical parameter value from a predetermined value range.
  • Numeric parameters are, for example, numbers of the type Double or Float.
  • non-numeric variables such as arrays and discrete variables, such as integer numbers, can also be used.
  • a parameter object can also be formed by a component object.
  • a component object may include at least one formula object 604.
  • a formula object is configured to form a predetermined mathematical link between two or more parameter objects 602 of the component object. With the help of formula objects, a dependency between specific parameter objects within the same component object can be specified.
  • An example of a formula object is a formula for determining the volume of an armrest of an aircraft seat by multiplying the width, height, and depth of the armrest.
  • the component object, the armrest is defined here among other things by the parameter objects width, height and depth.
  • the armrest component object may form a subcomponent object of another component object that describes a passenger seat of an aircraft.
  • component objects also contain at least one method object 606.
  • Method objects are designed to check the fulfillment of a relation between component objects of an object data mode and, depending on the test result, to set a value of at least one of the parameter objects included in the component objects according to a specific rule or Add a new component object or a new subcomponent object to an object data model.
  • Method objects are implemented in the form of executable program code.
  • a method object can serve, for example, to monitor the height between the steps in the design of a staircase as part of a scaling and to insert an additional step into the staircase when a predetermined threshold height is exceeded.
  • a component object may also include a geometry object 608 in the form of a set of geometry parameters.
  • the geometry parameters contain information about a geometric shape associated with a component object or parameter object. They are used to help with a graphical user interface of the Knowledge Designer or the resolution unit described below.
  • a component object contains a structural object (not shown in FIG. 6) which has a list of the subcomponent objects contained in the component object.
  • the structure object describes the hierarchy of the subcomponent objects contained in the component object.
  • the illustrated hierarchical structure of the component objects corresponds to the situation encountered in actual life in the design of complex systems, that these are composed of separable components.
  • an aircraft cabin consists of various cabin elements such as seats, hatracks and other elements, which are assembled to form an overall arrangement.
  • the modeling approach implemented by the component objects therefore distinguishes between boundary conditions within a component and boundary conditions that exist between components.
  • This encapsulation has the particular advantage that the modeling process can be made much clearer.
  • encapsulation allows the reuse of component objects in different systems.
  • FIG. 7 shows another block diagram for explaining the relationships between component object categories, component object concepts and component objects.
  • a component object category 700 may include a number of component object concepts 702, 704, and 706.
  • a component object concept can for example be formed by a model for jet engine of an aircraft.
  • An alternative component object concept may be formed by a propeller engine.
  • the set of all component object concepts forms the component object category "aircraft engine.”
  • different component object types can be assigned to each component object concept, with the reference symbols 702.1, 702.2 with respect to the component object concept 702, 704.1, 704.2 and 704.3 with respect to the component object concept 704 and 706.1 706. n are characterized with respect to the component object concept 706.
  • the component object types may be, for example, a jet engine of a manufacturer A and a jet engine of a manufacturer B. These differ, for example, with regard to their mass and air resistance, see above that the type of jet engine is to be considered, for example, in the calculation of fuel consumption in a flight over a given distance.
  • FIG. 8 shows a diagram for explaining various types of functional objects.
  • function objects form a predetermined link between two or more parameter objects of different component objects. You can modify parameter values contained in a component object or subcomponent object of the component object. You can add component objects to an object data model and set parameter values of the added component object. Furthermore, function objects can remove a component object from an object data model. Functional objects can also be used for analysis functions in which they acquire parameter values in at least one component object encompassed by an object data model and determine and output at least one analysis parameter value as a function of these and a predefined analysis rule. An example of a functional analysis function is the determination of the number of seats in an aircraft cabin.
  • Such methods may exist either as external methods encoded in the form of a dll (Dynamic Link Libary) file 802, or in the form of an Excel sheet 804 or in the form of an ODBC database 806 or in the form of an external application 808.
  • dll Dynamic Link Libary
  • FIG. 9 shows the structure of a controlled object.
  • a rule object is designed to check an object data model or a component object or subcomponent object or its parameter objects contained therein for the fulfillment of a predefined boundary condition, and to generate a rule violation message indicating this result if the boundary conditions are not met.
  • a rule object therefore contains a check section 902, which defines the condition to be fulfilled, and an instruction section 904, which defines the action to be taken, for example the display of a rule violation message, in the event of non-fulfillment of the condition.
  • FIG. 10 shows a more detailed block diagram of an exemplary embodiment of a device 1000 according to the invention for the conceptual design, the preliminary design and the configuration of a machine object.
  • An object database 1002 stores and manages component objects 1004, function objects 1006, and rule objects 1008.
  • the three-part structure of the graphical representation of the object database 1002 in FIG. 10 is merely illustrative of the three different types of objects contained within it. As such, the object database 1002 need not have a three-part physical structure.
  • the object database is connected to a knowledge designer 1010, which has already been described in more detail above in connection with FIG.
  • the object database is furthermore provided with a modeling unit 1014 and an execution unit 1016 for functional objects, hereinafter referred to as FO implementation. unit, connected.
  • the modeling unit provides as output an object data model that is used for the execution of function objects in the FO execution unit 1016 and for a resolution process in a connected resolution unit 1018.
  • the resolution unit 1018 comprises a unit 1020 for generating a mathematical model in the form of a system of equations from the object data model, an analysis unit 1022 for drawing up a resolution plan and a solver unit 1024 for executing the resolution plan.
  • an optimizer 1026 is connected to the solver unit 1024.
  • a graphics unit 1028 is provided, which is arranged in the data flow between the graphical user interface 1012 and the other functional units mentioned.
  • the graphical user interface 1012 in cooperation with the graphics engine 1028, enables a user of the modeling engine to graphically generate an object data model.
  • a "workbench" is created for the user, in which he assembles the object data model of the machine object from ready-made or self-created components, for which the user accesses component objects, function objects and rule objects that are stored in the object database, as described above
  • the modeling unit 1014 generates instances of the user-selected component objects, function objects and rule objects, whereby, for example, a structure representation similar to the tree graph shown in Figure 5.
  • the object data model can be created by manipulating the tree graph using a computer mouse, for example a likewise depicted graphical representation of the component objects contained in the object database by "drag and drop" a selected component object to the currently created object data model at a specific position of the tree graphene is added. More detailed definition features of a component object in the context of an object data model can be input via a data mask or further graphical representations.
  • the modeling unit 1014 allows The addition of the object data model by using and integrating external method objects via an API.
  • the knowledge designer 1010 which forms a graphical user interface separate from the "workbench"
  • new component objects, function objects and rule objects can be generated and published in the object database 1002.
  • the graphical user interface 1012 enables a user in this context Possibility to make graphic inputs in connection with the creation of new data bank objects via the knowledge designer 1010.
  • the user can initiate the execution of functional objects by the FO execution unit 1016, which are designed according to the functional feature for analysis or manipulation of the object data model (see above).
  • This functionality is especially useful in the configuration of machine objects and enables fast execution of predefined design and analysis functions.
  • parameter objects of the object data model are set as known within the scope of a resolution process and which are to be determined as output parameters in the resolution process.
  • the resolution unit 1018 is instructed to create a mathematical model from the object data model.
  • extensive graphical assistance for the manipulation of the mathematical model are provided.
  • each component object, functional object and control object can be assigned a preferably correspondingly labeled, graphic symbol.
  • a substructure of component objects in parameters, formulas and methods can be defined by a corresponding division of the symbol or arrangement of the different symbols for each of the subcomponents are represented.
  • the links existing between the individual objects continue to be of great importance, which can be indicated by corresponding connecting lines.
  • arrows can represent the relationship between the respective objects (parameter x is input parameter for the determination of the value of parameter y).
  • the user can thus graphically define a mathematical model created by the unit 1020 for creating a mathematical model in the form of a system of equations by adding and linking symbols. An arduous symbolic input of mathematical equations of a system of equations is therefore not required here.
  • the analysis unit 1022 determines whether the equation system is adequately determined. If so, the analysis unit 1022 creates a resolution plan that is communicated to the solver unit 1024. Further details of the structure and operation of the analysis unit 1022 will be presented below with reference to FIGS. 11 to 13.
  • the solver unit 1024 processes the resolution step submitted by the analysis unit 1022 for the resolution step.
  • solver blocks represent irreducible subsystems.
  • the solverblock selects a suitable solution method. Examples of such solution methods are numerical solution methods based on the known Newton method, discrete solution methods, geometric solution methods or algebraic-symbolic solution methods. The totality of these approaches, which the solver is able to select and apply, enables a hybrid resolution process that can bring about a resolution of the object data model with high efficiency and speed.
  • the optimizer 1026 serves to parameter values using well-known optimization strategies change and enter into the resolution process to determine an optimal solution under given constraints.
  • the illustrated comprehensive functionality of the device 1000 in the context of different phases of the design of a machine object is simplified by the underlying uniform data structure.
  • Concept, preliminary design and configuration are based on a uniform data model.
  • FIG. 11 shows the structure of the analysis unit 1008 in more detail.
  • a dependence graph determiner 1102 is connected to the unit 1020 and configured to create a dependency graph from the mathematical system formed by the object data model.
  • the term dependency graph will be explained below with reference to FIG.
  • Figure 12 shows a simple example of a dependency graph.
  • functions are symbolized by rectangular blocks. Circles symbolize variables. Arrows pointing from a variable to a function indicate that the function contains that variable. Arrows pointing from a function to a variable indicate that the variable depends on its function by its input variables.
  • the dependency graph of FIG. 12 was accordingly derived from the following equivalent system of equations:
  • V2 f1 (V2)
  • V2 f2 ()
  • V3 f ⁇ (VO, V2)
  • V3 f3 (V2)
  • V1 f4 (V2, V4, V1).
  • the analysis unit additionally has an input unit connected to the graphic user terminal 1002 via the graphics unit 1004.
  • the input unit saves instructions which parameter objects are to be treated as input parameters and parameter objects as output parameters.
  • Combiner analyzer 1106 is connected to dependency graph maker 1102 and input unit 1104.
  • the combiner analyzer 1106 is configured to determine if the mathematical system defined by the dependency graph and the input and output parameters is well-determined. If there is no well-defined system, the combinatorial analyzer partitions the system into a well-defined proportion, an under-determined proportion, and an over-determined proportion, if any, and analyzes the cause of under-determination or over-tuning of a block of the equation system.
  • the ascertained cause is output to a diagnosis unit 1108, which generates the corresponding detailed message and, via the graphics unit 1004, displays an analysis image of a under- or over-determined subsystem and submits a proposal for a solution.
  • Part of the combinatorial analysis is the calculation of a maximum size matching between variables and constraints.
  • matching algorithms are used for weighted graphs.
  • a graphics decomposition unit 1110 After a successful combinatorial analysis, in a graphics decomposition unit 1110, the dependency graph is decomposed into irreducible subsystems according to a decomposition strategy, which can be solved individually and in sequence. This sequence forms the resolution plan that is drawn up by the 1112 resolution plan unit.
  • FIG. 13 shows the result of a graph decomposition for the system shown in FIG. Two irreducible blocks 1302 and 1304 are indicated by a dashed border. From the decomposed dependency graph of FIG. 13, the following resolution plan can be determined:
  • An optimization strategy used by optimizer 1012 (FIG. 10) iterates the resolution process by varying the free variables to find acceptable solutions that are optimal under the given target relation.
  • the hierarchical, component-based modeling in the system according to the invention causes the encapsulation of existing within a component object relations.
  • Cross-component constraints only have access to free parameters of component objects.
  • Component object-internal parameters that depend on free parameters are invisible to the outside.
  • Machine objects within the meaning of the present invention can also be, for example, vehicles such as rail-bound vehicles and motor vehicles, but also buildings such as airport buildings.
  • the examples mentioned form complex units.
  • machine objects can also form part of these examples.

Landscapes

  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die Erfindung betrifft eine Vorrichtung und ein Computersoftwareprodukt für die Konzeptionierung, den Vorentwurf und die Konfiguration eines Maschinenobjekts, das durch ein Objektdatenmodell repräsentiert ist. In einer Objektdatenbank sind Komponentenobjekte abgelegt, wobei ein Komponentenobjekt mindestens ein Parameterobjekt enthält. Weiterhin enthält die Datenbank Funktionsobjekte. Der durch die erfindungsgemäße Trennung von Komponentenobjekten und Funktionsobjekten implementierte Modellierungsansatz ermöglicht eine Unterscheidung zwischen Randbedingungen innerhalb eines Komponentenobjektes und Randbedingungen, die zwischen Komponentenobjekten bestehen. Erstere werden durch die Komponentenobjekte selbst, letztere durch die Funktionsobjekte erfasst. Diese Kapselung hat insbesondere den Vorteil, dass der Modellierungsprozess wesentlich übersichtlicher gestaltet werden kann. Darüber hinaus ermöglicht die Kapselung die Wiederverwendung der Komponentenobjekte in verschiedenen Systemen.

Description

System für den maschinengestützten Entwurf technischer Vorrichtungen
Die Erfindung betrifft eine Vorrichtung für die Konzeptionierung oder Konfiguration eines Maschinenobjekts, das durch ein Objektdatenmodell repräsentiert ist.
Komplexe technische Produkte erfordern einen aufwändigen Entwicklungspro- zess. Eine für einen einzelnen Ingenieur kaum überschaubare Vielzahl von Parametern beeinflusst die unter technischen und wirtschaftlichen Aspekten zu optimierende Produktgestalt. Als Beispiel sei die Konzeptionierung und Konfiguration neuer Flugzeuge genannt.
Der Entwurfsprozess lässt sich grob in folgende Phasen einteilen:
a) Konzeptionsphase
In der Konzeptionsphase zum Entwurf eines technischen Produkts werden Pro- duktkonzepte definiert, wesentliche Gestaltungsparameter der Konzepte zu einem vorläufigen Produktdesign verdichtet, Machbarkeitsstudien durchgeführt, Simulationen des Produktes und verschiedene analytische Methoden angewandt, um zu prüfen, welches Produktkonzept den Aufwand der weiteren Entwicklung lohnt. Am Beispiel der Entwicklung eines neuen Passagierflugzeugs werden in dieser Phase beispielsweise Rumpf- und Flügelformen definiert. Die Konzeptionsphase geht in eine Vorentwurfsphase über, in der mit dem Methoden der Konzeptionsphase Vorentwürfe (predesigns) des Produktes entwickelt werden.
b) Entwurfsphase
Anschließend werden in der Entwurfsphase detailliertere Entwürfe des Produktes entwickelt, dreidimensionale Testmodelle gebaut oder VR-Modelle (VR ist eine Abkürzung für virtuelle Realität) erstellt und getestet. In dieser Phase kommen in der Regel CAD-Systeme (englisch: Computer Aided Design, computergestützter Entwurf) zum Einsatz.
c) Konfigurationsphase
In der anschließenden Konfigurationsphase werden Einzelheiten des Produktes konzeptioniert und geplant. Am Beispiel der Entwicklung des neuen Passagierflugzeugs wird in dieser Phase beispielsweise für einen bestimmten Käufer des Flugzeugs die Bestückung und Einrichtung Passagierkabine definiert. Dabei werden elektronische Kataloge erstellt, Zeichnungen und Dokumente erzeugt und Schnittstellen zu einem Lebenszyklusmanagement geschaffen. Das Lebens- Zyklusmanagement betrifft Methoden für die Planung und Steuerung einer Versorgung des Herstellers des Produkts mit erforderlichen Bauteilen und Ersatzteilen sowie der Bereitstellung produktbezogener Dienstleistungen.
d) Dokumentationsphase
In der den Produktentwicklungsprozess abschließenden Dokumentationsphase werden die nötigen technischen Publikationen erzeugt, die für die Produktion erforderlichen Unternehmensstrukturen geplant, Strukturen für die Unterstützung von Umbauten am Produkt (Retrofit Support) und eine Lebenszyklusdokumentation erstellt.
Die vorliegende Erfindung betrifft Entwicklungsprozesse in den Phasen a), Kon- zeption, oder c), Konfiguration.
Zur Unterstützung der Konzeptionsphase sind Vorrichtungen mit Software- Integrationsplattformen bekannt, die unterschiedliche, bereits vorhandene Software-Werkzeuge integrieren, um durch einen automatisierten Datenaustausch zwischen diesen Werkzeugen den Konzeptionsprozess zu beschleunigen. Bekannte Software-Integrationsplattformen sind beispielsweise Isight (Release 9.0) oder das Web-gestützte Produkt FIPER (Version 1.6).
Die Software-Plattformen enthalten eine Schnittstelle, über die verschiedene Software-Werkzeuge eingebunden werden. Unterschiedliche Schnittstellentypen sind bekannt. Das Spektrum reicht von einem Anwendungsaufruf mit einer Dateigestützten Kommunikation für den Datenaustausch über netzwerkähnliche Kommunikationsprotokolle bis hin zu einer zugeschnittenen Kodierung spezieller Anwendungsschnittstellen (Application Interface, API).
Der Nachteil solcher Software-Integrationsplattformen ist, dass sie mit den eingebundenen Software-Werkzeugen auch deren Grenzen und Nachteile importieren. Darüber hinaus ermöglichen solche Software-Integrationsplattformen keine Implementierung neu zu schaffender Analysemethoden.
Eine zweite Variante bekannter Entwurfssysteme zur Unterstützung der Konzeptionsphase bilden sogenannte KBE-Plattformen. Der Begriff Knowledge-Based Engineering (KBE) umschreibt Technologien zur Definition und Integration von Ingenieurswissen in der Produktentwicklung. Mit Hilfe von KBE können immer wiederkehrende Abläufe in Regeln gefasst werden, die beispielsweise unternehmensweit zur Verfügung gestellt werden können. Derartige Konstruktionsregeln repräsentieren gewissermaßen das Expertenwissen des Unternehmens. Beispiele von KBE-Plattformen mit integrierter CAD-Funktionalität sind die Produkte CATIA, Version 5 und UGS Knowledge Fusion. Nachteil beider Produkte ist, dass die Einbettung von Wissen in das System nicht einheitlich erfolgt. Es werden je nach konkretem Zusammenhang entweder Regel-basierte Definitions- techniken und Prüfmechanismen zum Aktivieren der Regeln verwendet, oder Skript-Schnittstellen wie VisualBasic oder C++-Programmierschnittstellen zur Verfügung gestellt. Diese unterschiedliche Wissensimplementierung kann jedoch dazu führen, dass heterogene und schlecht skalierbare Architekturen geschaffen werden. Darüber hinaus müssen schon ab einem geringen Komplexitätslevel der anzuwendenden Regeln und Methoden selbst erstellte Softwarelösungen mit Hilfe einer API eingebunden werden. Die Integration komplexerer Methoden und Regeln und ist nur mit Hilfe eines aufwändigen Software-Entwicklungsprozesses möglich, bleibt gewissermaßen „Handarbeit".
Ein weiteres bekanntes Produkt ist „DesignSheet" der Firma Rockwell Scientific. DesignSheet verfolgt das Ziel einer Analyse konzeptioneller Designs. Solche Designs werden durch Variablen und Randbedingungen (Constraints) definiert. Als Constraints werden algebraische Gleichungen verwendet, die bei Designsheet an einer Nutzerschnittstelle symbolisch definiert werden. DesignSheet setzt voraus, dass Gleichungen explizit in symbolischer Form vorliegen bzw. eingegeben werden und symmetrisch nach jeder beteiligten Variable aufgelöst werden können. Dies bedeutet eine Einschränkung der Verwendbarkeit von Designsheet, weil in der Praxis Constraints häufig auf Analysefunktionen basieren, die in einer Programmiersprache implementiert sind. Ferner definieren Funktio- nen nicht-symmetrische, das heißt gerichtete Constraints (gerichtet von Eingabe nach Ausgabe), so dass das Lösen nach der Ausgabe einer Funktion einfach ist, nach den Eingaben jedoch schwer und nur numerisch, nicht aber symbolisch möglich ist. DesignSheet ist weiterhin beschränkt auf die Analyse konzeptioneller Designs.
Eine KBE-Anwendung ist auch Gegenstand der WO 02/0734723 A1 , die eine Vorrichtung und Verfahren zur Konfiguration des Innenraums von Fahrzeugen, insbesondere Flugzeugen betrifft. Ein Nutzer ruft bei diesem Verfahren einen bestimmten Flugzeugtyp auf und kann dann durch symbolische Eingaben über eine graphische Nutzerschnittstelle die Konfiguration modifizieren. Dabei wird die Zulässigkeit der durchgeführten Modifizierungen im Hinblick etwa auf Vorschriften staatlicher Behörden durch implementierte Überwachungsverfahren sicher- gestellt und im Verletzungsfall angezeigt. Nachteil dieser Vorrichtung ist einerseits ihre Beschränkung auf die Aufgabe der Konfiguration. Zum anderen beschränkt die Vorrichtung den Nutzer auf ein festes Repertoire vordefinierter Modifikationsmöglichkeiten eines jeweiligen Flugzeugtyps.
Das der Erfindung zugrunde liegende technische Problem ist daher, eine Vorrichtung für die Konzeptionierung eines Maschinenobjekts unter Verwendung eines Objektdatenmodells in Form eines Gleichungssystems anzugeben, das eine einheitliche Einbettung von Ingenieurswissen in die Vorrichtung bietet und es mit besonders hoher Flexibilität erlaubt, Datenmodelle von Maschinenkomponenten und -Objekten sowie Konstruktionsregeln in der Konzeptionierung unterschiedlicher Maschinenobjekte zu verwenden..
Die erfindungsgemäße Vorrichtung für die Konzeptionierung oder Konfiguration eines Maschinenobjekts unter Verwendung eines Objektdatenmodells, das bei- spielsweise durch ein Gleichungssystem repräsentiert werden kann, ist in Anspruch 1 angegeben. Bevorzugte Ausführungsformen der erfindungsgemäßen Vorrichtung definieren die davon abhängigen Ansprüche.
Die erfindungsgemäße Vorrichtung für die Konzeptionierung, den Vorentwurf und die Konfiguration eines Maschinenobjekts, das durch ein Objektdatenmodell repräsentiert ist, hat eine Objektdatenbank, die Komponentenobjekte in Form von Komponentendatenmodellen enthält. Ein Komponentenobjekt bzw. Komponen- tendatenmodell weist in einer einfachen Form ein Parameterobjekt oder eine Mehrzahl (im Rahmen dieser Anmeldung im Sinne von „Vielzahl" zu verstehen) Parameterobjekte auf, die einen numerischen oder einen nicht-numerischen Parameterwert aus einem jeweils vorbestimmten Wertebereich annehmen können. Numerische Parameterwerte sind beispielsweise Zahlen des Typs Double, Float oder einheitenbehaftete Werte. Nicht-numerische Parameterwerte sind beispiels- weise Datenstrukturen vom Typ Array oder String, oder diskrete Variablen, etwa vom Typ Integer, können aber auch durch Geometrieobjekte oder Komponentenobjekte selbst gebildet werden. Ein besonders bevorzugtes Ausführungsbeispiel enthält Parameterobjekte in Form von einheitenbehafteten physikalischen Größen. Komponentenobjekte kapseln also das komponentenspezifische Ingenieurswissen hinsichtlich der Parameter, wobei in bevorzugten Ausführungsbeispielen zusätzliche auch die Beziehungen zwischen den Parametern durch Formelobjekte und die Geometrie der Komponentenobjekte erfasst wird.
Die Objektdatenbank der erfindungsgemäßen Vorrichtung enthält weiterhin Funktionsobjekte. Ein jeweiliges Funktionsobjekt ist ausgebildet, eine vorbestimmte Verknüpfung zwischen zwei oder mehr Parameterobjekten unterschiedlicher Komponentenobjekte zu bilden, Parameterwerte zu modifizieren, die in einem Komponentenobjekt enthalten sind, dem Objektdatenmodell ein Kompo- nentenobjekt hinzuzufügen und Parameterwerte des hinzugefügten Komponentenobjekts zu setzen, oder aus dem Objektdatenmodell ein Komponentenobjekt zu entfernen. Funktionsobjekte bilden in der erfindungsgemäßen Vorrichtung demnach entwurfsstrategisches Ingenieurs-Know-how ab, das das jeweilige Stadium eines Entwurfsprozess vorantreibt und einen jeweils erreichten Produktsta- tus analysiert.
Der durch die erfindungsgemäße Trennung von Komponentenobjekten und Funktionsobjekten implementierte Modellierungsansatz ermöglicht eine Unterscheidung zwischen Randbedingungen (engl. Constraints) innerhalb eines Ko m- ponentenobjektes (beispielsweise der Wert eines nicht veränderbaren Parameterobjektes) und Randbedingungen, die zwischen Komponenten bestehen. Ers- tere werden durch die Komponentenobjekte selbst, letztere durch die Funktionsobjekte erfasst. Diese Kapselung hat insbesondere den Vorteil, dass der Model- lierungsprozess wesentlich übersichtlicher gestaltet werden kann. Darüber hin- aus ermöglicht die Kapselung die Wiederverwendung der Komponentenobjekte in verschiedenen Maschinenobjekten, auch in unterschiedlichen technischen Systemen wie beispielsweise unterschiedlichen Flugzeugtypen. Dies erhöht die Gestaltungsfreiheit des Nutzers beträchtlich und löst die Bindung an jeweils fest vorgegebene Systeme, wie sie aus der WO 02/073473 A1 in Form von fest auf einen Flugzeugtyp bezogenen Flugzeuginnendesigns (Aircraft Interior Design, AIC) bekannt ist.
Die erfindungsgemäße Vorrichtung enthält weiterhin eine Modellbildungseinheit, die mit der Objektdatenbank verbunden ist, und die ausgebildet ist, auf den Eingang einer entsprechenden Anweisung hin eine Komponentenobjektinstanz eines in der Objektdatenbank enthaltenen Komponentenobjektes oder eine Funktionsobjektinstanz eines in der Objektdatenbank enthaltenen Funktionsobjektes zu erzeugen und einem Objektdatenmodell hinzuzufügen. Weiterhin ist die Modellbildungseinheit ausgebildet, auf den Eingang einer Anweisung zum Verknüpfen verschiedener Komponentenobjekte untereinander oder von Komponentenobjekten mit Funktionsobjekten das Objektdatenmodell entsprechend zu modifizieren, und auf den Eingang einer entsprechenden Anweisung hin ein Parameterobjekt als Eingabeparameter oder Ausgabeparameter eines Resolutionsprozesses zu kennzeichnen. Durch Verwendung der Modellbildungseinheit kann ein Nutzer der erfindungsgemäßen Vorrichtung ein Objektdatenmodell gestalten, wobei auf die durch die Objektdatenbank gebildeten Komponenten- und Funktionsobjekte zugegriffen wird.
Weiterhin enthält die erfindungsgemäße Vorrichtung eine Ausführungseinheit, die mit der Modellbildungseinheit und mit der Objektdatenbank verbunden ist und die ausgebildet ist, auf den Eingang einer entsprechenden Ausführungsanweisung hin eine im Objektdatenmodell enthaltene Funktionsobjektsinstanz unter Modifikation, Hinzufügung oder Vernichtung mit ihr verknüpfter Komponentenobjekte des Objektdatenmodells auszuführen.
Die erfindungsgemäße Vorrichtung ist in der Lage, durch Ausführen von geeignet definierten Funktionsobjekten ein aktuelles Entwurfsstadium eines Objektdaten- modells zu analysieren, zu ergänzen oder zu modifizieren. Die schon erwähnten Vorteile der erfindungsgemäßen Objektstrukturen in der Objektdatenbank erlaubt es, den sich in einem jeweiligen Entwurfsstadium aufspannenden Bereich alter- nativer Designs unter Ausführung von Funktionsobjekten automatisch für die Bestimmung eines jeweils geeigneten Designs zu erforschen.
Nachfolgend werden Ausführungsbeispiele der erfindungsgemäßen Vorrichtung beschrieben. Die Ausführungsbeispiele können miteinander kombiniert werden.
Besonders bevorzugt enthält die erfindungsgemäße Vorrichtung eine Resolutionseinheit, die mit der Modellbildungseinheit und mit der Objektdatenbank verbunden ist. Die Resolutionseinheit ist ausgebildet,
- anhand der Komponentenobjekte und Funktionsobjekte sowie ihrer Verknüpfungen im Objektdatenmodell ein Gleichungssystem mit einer ersten Anzahl Gleichungen und einer zweiten Anzahl durch die Gleichungen verknüpfter Parameterobjekte zu erzeugen,
- das Gleichungssystem des Objektdatenmodells in eine Anzahl Untergleichungssysteme mit einer jeweiligen Untermenge Gleichungen für eine jeweilige Untermenge Parameterobjekte zu partitionieren,
- bei Vorliegen eines hinreichend bestimmten Gleichungssystems einen Resolutionsplan zu erstellen, der zur Ermittlung der Ausgabeparameter des Gleichungssystems des Objektdatenmodells eine Folge von Resolutionsschritten umfasst,
- den Resolutionsplan für das Gleichungssystem Resolutionsschritt für Resolutionsschritt abzuarbeiten, wobei das Abarbeiten eines jeweiligen Resolutionsschritts das Berechnen einer Lösung eines jeweiligen Untergleichungssystems durch Auswerten mathematischer Funktionen oder Anwenden eines o- der mehrerer numerischer Berechnungsalgorithmen beinhaltet, und
- die ermittelten Werte der Ausgabeparameter auszugeben. Diese Vorrichtung deckt in ihrer Verwendbarkeit einen von bekannten Vorrichtungen in seinem Umfang nicht erreichten Bereich von Entwurfsstadien ab, der die Konzeptionierung, den Vorentwurf und die Konfiguration von Maschinenobjekten umfasst. Es wird also möglich, ein Entwurfswerkzeug für viele verschiede- ne Entwurfsstadien zu verwenden. Daher entfallen die bisher auftretenden Probleme der Kompatibilität zwischen Datenformaten unterschiedlicher Anwendungen in Konzeptionierung, Vorentwurf und Konfiguration. Ermöglicht wird dies durch die oben erläuterte erfindungsgemäße Struktur der Komponentenobjekte und Funktionsobjekte. Die Resolutionseinheit greift diese Struktur unmittelbar bei der Ermittlung der Verknüpfungen zwischen den im Objektdatenmodell enthalten Parametern auf. Diese Ermittlung wird gegenüber bekannten Resolutionssystemen stark vereinfacht. Ein Nutzer muss keine symbolische Eingabe von Gleichungen vornehmen, wie es aus dem Produkt DesignSheet bekannt ist.
Nachfolgend werden bevorzugte Ausführungsbeispiele beschrieben, die besonders vorteilhafte Strukturen der in der Objektdatenbank enthaltenen Komponentenobjekte betreffen. Die Ausführungsbeispiele können miteinander kombiniert werden, wobei sich ihre Vorteile kumulieren.
Bei einem weiteren Ausführungsbeispiel ist ein in der Objektdatenbank enthaltenes Parameterobjekt eines Komponentenobjektes durch ein weiteres Komponentenobjekt mit mindestens einem weiteren Parameterobjekt gebildet. Vorzugsweise enthält ein in der Objektdatenbank enthaltenes Komponentenobjekt zusätzlich ein Strukturobjekt, das eine Liste der im Komponentenobjekt enthaltenen weite- ren Komponentenobjekte enthält. Die hierarchische Struktur der Komponentenobjekte entspricht der im tatsächlichen Leben anzutreffenden Situation beim Design komplexer Systeme, dass diese aus separierbaren Komponenten zusammengesetzt sind.
Bei einem weiteren Ausführungsbeispiel enthält ein in der Objektdatenbank enthaltenes Komponentenobjekt zusätzlich mindestens ein Formelobjekt, das ausgebildet ist, eine vorbestimmte mathematische Verknüpfung zwischen zwei oder mehreren Parameterobjekten des Komponentenobjektes zu bilden. Dieses Aus- führungsbeispiel implementiert funktionelle Randbedingungen innerhalb eines Komponentenobjektes in Form der Formelobjekte. Formelobjekte sind also von den Funktionsobjekten dadurch unterschieden, dass sie keine Verknüpfung eines Komponentenobjekts zu einem externen Komponentenobjekt schaffen, son- dem allein innerhalb ein und desselben Komponentenobjekts Verknüpfungen schaffen. Diese Struktur schafft zusätzliche Möglichkeiten zur Abbildung von Randbedingungen und stärkt gleichzeitig die schon durch die Trennung von Komponentenobjekten und Funktionsobjekten angelegte Kapselung der Constraints.
Bei einer weiteren bevorzugten Ausführungsform enthält ein in der Objektdatenbank enthaltenes Komponentenobjekt zusätzlich mindestens ein Methodenobjekt, das ausgebildet ist, das Erfüllen einer Relation zwischen Parameterobjekten des Komponentenobjektes zu prüfen und in Abhängigkeit vom Prüfungsergebnis einen Wert mindestens eines der von dem Komponentenobjekten umfassten Parameterobjekte nach einer vorbestimmten Vorschrift zu setzen oder einem Objektdatenmodell ein neues Komponentenobjekt oder Subkomponentenobjekt hinzuzufügen. Subkomponentenobjekte bilden alle im Komponentenobjekt enthaltenen Objekte, insbesondere Parameterobjekte, Formelobjekte, Methodenob- jekte, Geometrieobjekte und Strukturobjekte. Methodenobjekte bilden also Designwissen in Bezug auf ein gegebenes Komponentenobjekt ab. Sie können komplexe Entscheidungen oder bedingungsgebundene Operationen beinhalten. Sie werden insbesondere aus Formelobjekten aufgerufen, um einem Parameterobjekt einen Wert zuzuordnen oder um neue Komponentenobjektstrukturen zu erzeugen. Methodenobjekte können beispielsweise in Form von komplexen, viel- zeiligen C++-Methoden implementiert sein.
Bei einem anderen Ausführungsbeispiel, das die Ausgestaltung der Objektdatenbank der erfindungsgemäßen Vorrichtung betrifft, enthält die Objektdatenbank zusätzlich mindestens ein Regelobjekt, das ausgebildet ist, das Objektdatenmodell oder ein darin enthaltenes Komponentenobjekt oder Subkomponentenobjekt oder dessen Parameterwerte auf das Erfüllen einer vordefinierten Randbedingung zu prüfen. Regelobjekte erfassen Design-, Herstellungs- , Kunden- oder Produktzertifizierungserfordernisse, die durch das Maschinenobjekt zu erfüllen sind. In einer Ausführungsform hiervon sind Regelobjekte auf komplexere Erfordernisse beschränkt, die über einen bloßen Vergleich von Parameterobjekten hinausgehen.
Nachfolgend werden Ausführungsbeispiele beschrieben, die besonders vorteilhafte Nutzerschnittstellen aufweisen.
Bei einem Ausführungsbeispiel ist die Modellbildungseinheit mit einer graphi- sehen Nutzerschnittstelle verbunden ist und enthält eine Graphikeinheit. Die Graphikeinheit ist ausgebildet, anhand über die graphische Nutzerschnittstelle empfangener Anweisungen eine graphische Repräsentation des Objektdatenmodells zu erzeugen oder zu modifizieren. Die graphische Repräsentation weist für jedes Komponentenobjekt, jedes Formelobjekt und jedes Regelobjekt des Objektdatenmodells sowie jede Verknüpfung zwischen diesen je ein vorbestimmtes Graphikelement auf. Die Graphikeinheit ist weiterhin bevorzugt ausgebildet, die graphische Repräsentation an die graphische Nutzerschnittstelle auszugeben. Bei diesem Ausführungsbeispiel kann ein Nutzer über die graphische Nutzerschnittstelle ein Objektdatenmodell als mathematisches Modell graphisch erstellen, ohne das Erfordernis, die Gleichungen des Systems symbolisch einzugeben. Das mathematische System wird graphisch dargestellt, beispielsweise in Form von Blöcken, die durch Linien verbunden sind. Graphische Manipulationen an diesen Blöcken, beispielsweise durch Betätigen einer Computer-Maus, modifizieren im Ergebnis das mathematische Modell. Die Erstellung des mathe- matischen Gleichungssystems nimmt die Resolutionseinheit automatisch vor.
Bei einem weiteren Ausführungsbeispiel ist die Graphikeinheit ausgebildet, eine graphische Repräsentation einer Anzahl in der Objektdatenbank enthaltener Komponentenobjekte und Funktionsobjekte zu erzeugen und an der graphischen Nutzerschnittstelle auszugeben, und eine graphische Repräsentation des Objektdatenmodells auszugeben, die alle darin enthaltenen Komponentenobjekte und eine durch die in ihnen enthaltenen Strukturobjekte definierte Komponenten- objekthierarchie widerspiegelt. Bei diesem Ausführungsbeispiel kann ein Nutzer besonders deutlich die Komponentenstruktur des im Entwurf befindlichen Maschinenobjekts erkennen und durch graphische Manipulationen ergänzen oder modifizieren.
In einer weiteren bevorzugten Ausführungsform enthält die Resolutionseinheit eine Resolutionsdiagnoseeinheit, die mit der graphischen Nutzerschnittstelle verbunden ist, und die ausgebildet ist,
- zu ermitteln ob das Objektdatenmodell für die Berechnung einer Lösung hin- reichend bestimmt ist,
- bei Vorliegen eines unterbestimmten Untergleichungssystems ein weder als Eingabeparameter noch als Ausgabeparameter gekennzeichnetes Parameterobjekt zu ermitteln und
- eine Diagnosenachricht, die das ermittelte Parameterobjekt identifiziert, zu erstellen und zur Anzeige an der graphische Nutzerschnittstelle auszugeben.
Dieses Ausführungsbeispiel hat den Vorteil, dass Lösungsmöglichkeiten zur Be- hebung der Unterbestimmung des mathematischen Modells ermittelt werden, auf die der Nutzer durch die Diagnosenachricht hingewiesen wird. Er kann dann durch Setzen des ermittelten Parameterobjektes als Eingabeparameter und durch Bestimmen des Parameterwertes die Unterbestimmung reduzieren oder beseitigen. Die Diagnosenachricht enthält bevorzugt alle im unterbestimmten Teilsystem enthaltenen Objekte. In der Diagnosenachricht können, je nach Diagnose, sowohl Gleichungen als auch Parameter auftreten.
In ähnlicher Weise kann auch vorgegangen werden, wenn ein überbestimmtes Gleichungssystem oder Untergleichungssystem vorliegt. In einem weiteren Aus- führungsbeispiel ist daher die Resolutionsdiagnoseeinheit zusätzlich ausgebildet, bei Vorliegen eines überbestimmten Untergleichungssystems mindestens ein überbestimmtes Parameterobjekt zu ermitteln und eine Diagnosenachricht, die das ermittelte Parameterobjekt identifiziert, zu erstellen und an die graphische Nutzerschnittstelle auszugeben. Die Diagnosenachricht enthält bevorzugt alle im überbestimmten Teilsystem enthaltenen Objekte. In der Diagnosenachricht können, je nach Diagnose, sowohl Gleichungen als auch Parameter auftreten.
Eine intuitive graphische Ausgabe der Diagnose durch die Resolutionsdiagnoseeinheit gelingt in einem Ausführungsbeispiel, bei dem die Resolutionsdiagnoseeinheit ausgebildet ist, in der Diagnosenachricht zusätzlich mindestens ein mit dem ermittelten Parameterobjekt verknüpftes weiteres Parameterobjekt zu identifizieren und an die Graphikeinheit auszugeben, und bei dem die Graphikeinheit ausgebildet ist, eine graphische Repräsentation des ermittelten Parameterobjekts, des weiteren Parameterobjektes und ihrer Verknüpfung zu erzeugen und zur gemeinsamen Darstellung mit der Diagnosenachricht an die graphische Nutzerschnittstelle auszugeben. Auf diese Weise kann eine graphische Darstellung aller im jeweils unter- oder überbestimmten Teilsystem enthaltenen Objekte, also Gleichungen, Parameter, und ihrer Verknüpfungen erzeugt und ausgegeben werden.
Nachfolgend werden weitere Ausführungsbeispiele erläutert, die es dem Nutzer erlauben, das Objektdatenmodell und ein mit ihm verknüpftes mathematisches Modell in Form eines Gleichungssystems durch geeignete Ausgabe an der graphischen Nutzerschnittstelle zu analysieren.
Bei einem Ausführungsbeispiel enthält ein Komponentenobjekt ein Geometrieobjekt in Form eines Satzes von Geometrieparametern, die Informationen über eine dem ersten Parameterobjekt zugeordnete geometrische Form aufweisen. Die Graphikeinheit ist ausgebildet, anhand der Eingangsparameterwerte und der ermittelten Ausgangsparameterwerte eines Objektdatenmodells Werte der Geometrieparameter aller Parameterobjekte zu bestimmen und eine Modellgraphik zu erzeugen, die der geometrischen Form des Maschinenobjekts mit den ermit- telten Geometrieparametern entspricht. Auf diese Weise wird dem Nutzer eine intuitive graphische Darstellung des Maschinenobjektes vermittelt. Vorzugsweise ist die Graphikeinheit zusätzlich ausgebildet, eine Impact-Graphik zu erstellen und auszugeben, die eine graphische Repräsentation aller Komponentenobjekte, Formelobjekte und Regelobjekte enthält, die direkt oder indirekt mit einem über die Nutzerschnittstelle auswählbaren Parameterobjekt verknüpft sind. Auf diese Weise wird ermittelt und dem Nutzer dargestellt, welche anderen Objekte durch das ausgewählte Parameterobjekt beeinflusst werden.
In einem weiteren Ausführungsbeispiel ist die Graphikeinheit zusätzlich ausgebildet, eine Computation-Graphik zu erstellen und auszugeben, die eine graphi- sehe Repräsentation aller Komponentenobjekte, Formelobjekte und Regelobjekte enthält, die direkt oder indirekt in die Berechnung eines Parameterwertes eines über die Nutzerschnittstelle als Ausgabeparameter bestimmbaren Parameterobjekts einfließen. Dies ermöglicht dem Nutzer eine visuelle und damit schnelle und effektive Analyse des Einflusses anderer Objekte auf ein ausgewähltes Parameterobjekt.
Graphische Diagnosemethoden werden in bevorzugten Ausführungsbeispielen auch beim Lösen des aus dem Objektdatenmodell abgeleiteten Gleichungssystems bereitgestellt. Vorzugsweise weist die Resolutionseinheit eine Solver- Diagnoseeinheit auf, die ausgebildet ist,
- während des Abarbeitens eines Resolutionsschrittes das Konvergieren einer Lösung des betreffenden Untergleichungssystems auf einen Konvergenzwert zu überwachen
- und bei Ausbleiben des Konvergierens das Abarbeiten des Resolutionsschrittes abzubrechen und eine Diagnosenachricht auszugeben, die das betreffende Untergleichungssystem identifiziert.
Beim Testen unterschiedlicher Varianten durch Änderung von Eingangsparameterwerten erweist sich eine Ausführungsform der erfindungsgemäßen Vorrichtung als besonders schnell im Vergleich mit bekannten Vorrichtungen, bei der die Resolutionseinheit zusätzlich ausgebildet ist, nach einer Ausgabe der ermittelten Werte der Ausgangsparameter bei Anliegen eines geänderten Eingangsparametersatzes für das Objektdatenmodell an der Anweisungsschnittstelle geänderte Eingangsparameter des Eingangsparametersatzes zu ermitteln, und anschließend einen Teilresolutionsplan zu erstellen, der gegenüber dem zuvor erstellten Resolutionsplan nur diejenigen Resolutionsschritte enthält, die Untergleichungssysteme betreffen, deren Lösung von dem oder den geänderten Eingangsparametern direkt oder indirekt abhängt. Bei dieser Ausführungsform muss also nicht der gesamte Resolutionsprozess mit den geänderten Eingangsparameterwerten wiederholt werden. Vielmehr werden nur diejenigen Schritte des Resolutionspro- zesses ermittelt und ausgeführt, die von den geänderten Eingangsparameterwerten beeinflusst sind. Auf diese Weise lassen sich Eingangsparameter durch den Nutzer schnell testen und wird der Konzeptions- und Vorentwurfsprozess daher effektiver gestaltet.
In einem weiteren Ausführungsbeispiel wird eine optimale Lösung des mathematischen Modells unter gegebenen Randbedingungen ermittelt. Die Modellbildungseinheit ist ausgebildet, ein bereits gelöstes Objektdatenmodell durch eine über die Nutzerschnittstelle eingegebene Zielrelation für den Wert eines Ausgabeparameters zu ergänzen. Die Resolutionseinheit ist ausgebildet, einen Teilre- solutionsplan zu erstellen, der gegenüber dem zuvor erstellten Resolutionsplan nur diejenigen Resolutionsschritte enthält, die Untergleichungssysteme betreffen, deren Lösung den durch die Zielrelation eingeschränkten Ausgabeparameter beeinflusst, und unter Anwendung eines Optimierungsalgorithmus denjenigen Parametersatz zu ermitteln, der das Gleichungssystem löst und die Zielrelation erfüllt. Hierbei können bekannte Optimierungsalgorithmen Verwendung finden. Beispielsweise können ein Zielparameter, eine Optimierungsart (Minimierung, Maximierung), ein Optimierungsalgorithmus, freie Parameter und Nebenbedingungen über einen Dialog festgelegt werden. Während des Optimierungsprozesses wird dann das mathematische System unter Variation der freien Parameter wiederholt gelöst, wobei die Resolutionseinheit ausgebildet ist, nur den Teilresolutionsplan abzuarbeiten, der von den freien Parametern beeinflusst wird. Das Ergebnis ist eine Belegung der freien Parameter, die den Zielparameter unter Einhaltung der Nebenbedingungen optimiert. Die nachfolgend beschriebenen Ausführungsbeispiele betreffen eine Erweiterung der erfindungsgemäßen Vorrichtung um die Fähigkeit zur Erzeugung von Komponentenobjekten, Funktionsobjekten und Regelobjekten.
Bei einem Ausführungsbeispiel ist eine Komponentenobjekt-Entwurfseinheit vorgesehen, die mit der graphischen Nutzerschnittstelle und der Objektdatenbank verbunden ist, und die ausgebildet ist, entsprechend einer Nutzereingabe an der graphischen Nutzerschnittstelle ein neues Komponentenobjekt oder Parameter- Objekt zu erzeugen und einem neuen Komponentenobjekt ein Parameterobjekt oder ein Funktionsobjekt hinzuzufügen.
Die Komponentenobjekt-Entwurfseinheit ist vorzugsweise ausgebildet, auf der graphischen Nutzerschnittstelle eine Maske mit Maskenfeldern zur Abfrage von Definitionselementen eines neuen Parameterobjekts oder Komponentenobjektes anzuzeigen, Nutzereinträge in den Maskenfeldern auszuwerten, das Parameterobjekt oder Komponentenobjekt entsprechend den Einträgen in den Maskenfeldern zu erzeugen und in der Objektdatenbank abzuspeichern. Diese Variante erspart dem Nutzer die Eingabe komplexer Datenstrukturen und ermöglicht eine einfache und übersichtliche, individuelle Erzeugung neuer Komponentenobjekte, die der Objektdatenbank hinzugefügt werden. Es versteht sich, dass in einem größeren Unternehmenskontext die Freigabe der neu erzeugten Objekte in der Objektdatenbank für andere Nutzer vorbestimmten Regeln unterworfen werden kann.
Eine weitere bevorzugte Ausführungsform enthält alternativ oder zusätzlich eine Funktionsobjekt-Entwurfseinheit, die mit der graphischen Nutzerschnittstelle und der Objektdatenbank verbunden ist, und die ausgebildet ist, entsprechend einer Nutzereingabe an der graphischen Nutzerschnittstelle ein neues Funktionsobjekt zu erzeugen und das neue Funktionsobjekt in der Objektdatenbank abzuspeichern. Eine aufwändige Kodierung und Kompilierung durch den Nutzer entfällt bei diesem Ausführungsbeispiel. Die Funktionsobjekts-Entwurfseinheit ist ausgebildet, auf der graphischen Nutzerschnittstelle eine Maske mit Maskenfeldern zur Abfrage von Definitionselementen eines neuen Funktionsobjektes anzuzeigen, Einträge in den Maskenfeldern auszuwerten, das neue Funktionsobjekt entsprechend den Einträgen in den Maskenfeldern zu erzeugen und in der Objektdatenbank abzuspeichern.
Ein weiteres Ausführungsbeispiel enthält eine Regelobjekt-Entwurfseinheit, die mit der graphischen Nutzerschnittstelle und der Objektdatenbank verbunden und die ausgebildet ist, entsprechend einer Nutzereingabe an der graphischen Nut- zerschnittstelle ein neues Regelobjekt zu erzeugen, und das neue Regelobjekt in der Objektdatenbank abzuspeichern.
Ein weiterer Aspekt der Erfindung betrifft ein Computersoftwareprodukt für die Konzeptionierung, den Vorentwurf oder die Konfiguration eines Maschinenob- jekts, das durch ein Objektdatenmodell repräsentiert ist, enthaltend Code zur Implementierung
1.1 einer Objektdatenbank, enthaltend
1.1.1 Komponentenobjekte in Form von Komponentendatenmodellen,
1.1.1.1 wobei ein Komponentenobjekt ein Parameterobjekt oder eine Vielzahl Parameterobjekte aufweist, die einen numerischen oder einen nichtnumerischen Parameterwert aus einem jeweils vorbestimmten Wertebereich annehmen können;
1.1.2 Funktionsobjekte, wobei ein jeweiliges Funktionsobjekt ausgebildet ist,
1.1.2.1 eine vorbestimmte Verknüpfung zwischen zwei oder mehr Parameterobjekten unterschiedlicher Komponentenobjekte zu bilden,
1.1.2.2 Parameterwerte zu modifizieren, die in einem Komponentenobjekt enthalten sind, 1.1.2.3 dem Objektdatenmodell ein Komponentenobjekt hinzuzufügen und Pa- rameterwerte des hinzugefügten Komponentenobjekts zu setzen, oder
1.1.2.4 aus dem Objektdatenmodell ein Komponentenobjekt zu entfernen,
1.2 einer Modellbildungseinheit,
1.2.1 die mit der Objektdatenbank verbunden ist,
1.2.2 und die ausgebildet ist,
1.2.2.1 auf den Eingang einer entsprechenden Anweisung hin eine Komponen- tenobjektinstanz eines in der Objektdatenbank enthaltenen Komponentenobjektes oder eine Funktionsobjektinstanz eines in der Objektdaten- bank enthaltenen Funktionsobjektes zu erzeugen und einem Objektdatenmodell hinzuzufügen,
1.2.2.2 auf den Eingang einer Anweisung zum Verknüpfen verschiedener Komponentenobjekte untereinander oder von Komponentenobjekten mit Funktionsobjekten das Objektdatenmodell entsprechend zu modifizie- ren, und
1.2.2.3. auf den Eingang einer entsprechenden Anweisung hin ein Parameterobjekt als Eingabeparameter oder Ausgabeparameter eines Resolutionsprozesses zu kennzeichnen,
1.3 einer Ausführungseinheit,
1.3.1 die mit der Modellbildungseinheit und mit der Objektdatenbank verbunden ist
1.3.2 und die ausgebildet ist
1.3.2.1 auf den Eingang einer entsprechenden Ausführungsanweisung hin eine im Objektdatenmodell enthaltene Funktionsobjektsinstanz unter Modifi- kation, Hinzufügung oder Vernichtung mit ihr verknüpfter Komponentenobjekte des Objektdatenmodells auszuführen, 1.4 und einer Resolutionseinheit,
1.4.1 die mit der Modellbildungseinheit und mit der Objektdatenbank verbunden ist
1.4.2 und die ausgebildet ist,
1.4.2.1 anhand der Komponentenobjekte und Funktionsobjekte sowie ihrer Verknüpfungen im Objektdatenmodell ein Gleichungssystem mit einer ersten Anzahl Gleichungen und einer zweiten Anzahl durch die Gleichungen verknüpfter Parameterobjekte zu erzeugen,
1.4.2.2 das Gleichungssystem des Objektdatenmodells in eine Anzahl Unter- gleichungssysteme mit einer jeweiligen Untermenge Gleichungen für eine jeweilige Untermenge Parameterobjekte zu partitionieren,
1.4.2.3 bei Vorliegen eines hinreichend bestimmten Gleichungssystems einen Resolutionsplan zu erstellen, der zur Ermittlung der Ausgabeparameter des Gleichungssystems des Objektdatenmodells eine Folge von Reso- lutionsschritten umfasst,
1.4.2.4 den Resolutionsplan für das Gleichungssystem Resolutionsschritt für Resolutionsschritt abzuarbeiten, wobei das Abarbeiten eines jeweiligen Resolutionsschritts das Berechnen einer Lösung eines jeweiligen Untergleichungssystems durch Auswerten mathematischer Funktionen o- der Anwenden eines oder mehrerer numerischer Berechnungsalgorithmen beinhaltet, und
1.4.2.5 die ermittelten Werte der Ausgabeparameter auszugeben.
Das Computersoftwareprodukt der vorliegenden Erfindung dient zur Implementierung der zuvor beschriebenen Vorrichtung auf einem Computersystem. Hierbei kann es sich je nach Applikationsumfeld um einen Einzelplatzrechner oder ein von mehreren mit einander kommunizierenden Computern gebildetes Netzwerk handeln. Ausführungsformen des erfindungsgemäßen Computersoftwareproduktes enthalten Code zur Implementierung der vorbeschriebenen Ausführungsformen der erfindungsgemäßen Vorrichtung. Die Ausführungsformen können miteinander kombiniert werden.
Nachfolgend werden weitere Ausführungsbeispiele anhand der Figuren erläutert. Es zeigen:
Figur 1 ein Blockdiagramm eines ersten Ausführungsbeispiels einer Ent- wurfsvorrichtung,
Figur 2 ein Blockdiagramm einer zweiten Ausführungsform einer Entwurfsvorrichtung,
Figur 3 ein Blockdiagramm einer netzwerkbasierten Entwurfsvorrichtung,
Figur 4 ein Blockdiagramm zur näheren Erläuterung eines Systems zur Er- zeugung von Objektdaten für die Objektdatenbank,
Figur 5 ein Diagramm zur Illustration der Struktur eines Komponentenobjekts,
Figur 6 ein Diagramm zur Erläuterung eines Komponentenobjekt-Konzepts,
Figur 7 ein Blockdiagramm zur Erläuterung der Zusammenhänge zwischen Komponentenobjekt-Kategorien, Komponentenobjekt-Konzepten und
Komponentenobjekten,
Figur 8 ein Diagramm zur Erläuterung verschiedener Typen von Funktionsobjekten,
Figur 9 ein Diagramm zur Erläuterung der Struktur eines Regelobjektes, Figur 10 zeigt ein detaillierteres Blockdiagramm eines weiteren Ausführungsbeispiels einer Entwurfsvorrichtung,
Figur 11 zeigt ein Blockdiagramm mit näheren Details der Analyseeinheit der Resolutionseinheit aus Figur 10,
Figur 12 zeigt ein einfaches Beispiel eines Abhängigkeitsgraphen, wie er von der Analyseeinheit ermittelt wird,
Figur 13 zeigt als Ergebnis der kombinatorischen Analyse und der Graphzerlegung in der Analyseeinheit das in Figur 12 dargestellte System mit einem zerlegten Abhängigkeitsgraphen, aus dem ein Resolutionsplan abgeleitet werden kann.
Figur 1 zeigt ein Ausführungsbeispiel einer erfindungsgemäßen Vorrichtung 100 für die Konzeptionierung (concept design) eines Maschinenobjekts. Die Vorrichtung enthält eine Objektdatenbank 102, in der vordefinierte Komponentenobjekte, Funktionsobjekte und Regelobjekte abgelegt sind. Zur Erläuterung der Begrif- fe Komponentenobjekt, Funktionsobjekt und Regelobjekt wird auf die Beschreibung der Figuren 5 bis 9 verwiesen.
Die Vorrichtung enthält weiterhin eine nachfolgend als Wissensdesigner bezeichnete Einheit 104. Der Wissensdesigner ist mit der Objektdatenbank 102 verbunden. Der Wissensdesigner ermöglicht die Definition und Modifikation von Komponentenobjekten, Funktionsobjekten und Regelobjekten. Neu geschaffene oder modifizierte Objekte werden in der Objektdatenbank 102 gespeichert. Dabei erzeugt die Objektdatenbank 102 für jedes modifizierte Objekt eine neue Version, die durch eine entsprechende Versionsnummer gekennzeichnet ist. Mit Hilfe des Wissensdesigners und der Objektdatenbank ist es also möglich, eine Bibliothek zu erstellen und zu verwalten, die alle für den Entwurf erforderlichen Komponentenobjekte, Funktionsobjekte und Regelobjekte enthält. Spätere Entwurfsprozesse können auf das so geschaffene Wissen unmittelbar zugreifen. Die Vorrichtung 100 enthält weiterhin eine Resolutionseinheit 106, die im Rahmen dieser Anmeldung auch als Workbench bezeichnet wird. Die Workbench 106 bildet eine Arbeitsplattform für eine Definition, Analyse, Lösung und Optimierung eines Objektdatenmodells. Dabei stützt sich das Objektdatenmodell auf Komponentenobjekte, Funktionsobjekte und Regelobjekte, die in der Objektdatenbank 102 abgelegt sind. Die Workbench 106 ermöglicht neben der Definition des Objektdatenmodells seine Analyse und Modifikation. Die detaillierte Struktur der Workbench 106 wird weiter unten anhand von Figur 10 näher erläutert.
Figur 2 zeigt eine alternative Struktur einer erfindungsgemäßen Vorrichtung. Der Einfachheit halber werden in Figur 2 die schon in Figur 1 verwendeten Bezugszeichen verwendet, wo identische Teile zu kennzeichnen sind. Die Vorrichtung der Figur 2 unterscheidet sich von der der Figur 1 dadurch, dass sie keinen Wissensdesigner 104 enthält. Daher ist es bei der Vorrichtung dieses Ausführungs- beispiels nicht möglich, neue Komponentenobjekte, Funktionsobjekte oder Regelobjekte zu definieren. Die Entwurfsarbeit an der Workbench 106 verwendet daher allein die in der Objektdatenbank 102 schon abgespeicherten Objekte. Diese können beispielsweise bei einer herstellerseitigen Initialisierung der Vorrichtung oder im Rahmen einer späteren Aktualisierung der Objektdatenbank (update) eingespielt werden.
Figur 3 zeigt ein weiteres Ausführungsbeispiel einer erfindungsgemäßen Vorrichtung in einer Netzwerkstruktur. Über Netzwerk 302 zur Datenübertragung sind eine Objektdatenbank 304, ein Wissensdesigner 306 und eine Anzahl Workben- ches, hier stellvertretend durch die Workbenches 308 und 310 symbolisiert, miteinander verbunden. Ein Datenbankserver 312 und ein Lizenzserver 314 erfüllen Verwaltungsaufgaben im Netzwerk 302. Der Datenbankserver implementiert ein DBMS (Data Base Management System) und kann beispielsweise ein MSDE (Microsoft SQL Server Desktop Engine), ein Oracle- oder ein Microsoft SQL- Server sein. Der Pacelab Lizenzserver 314 überwacht den Zugriff auf die Objektdatenbank 304 und verhindert nicht lizenzierten Zugriff. Die in Figur 3 dargestellte netzwerkbasierte Struktur lässt sich selbstverständlich auch mit einer einzigen Workbench realisieren.
Bei einer weiteren, hier nicht dargestellten Konfiguration sind die Objektdaten- bank und die Workbench zusammen mit einem Datenbankverwaltungssystem (Data Base Management System, DBMS) auf einem einzigen Arbeitsplatzrechner installiert. Als DBMS wird wie beim Ausführungsbeispiel der Figur 3 vorzugsweise MSDE verwendet. Alternativ kann der Rechner auch mit Oracle oder einem MSSQL-Server ausgestattet sein. Optional enthält ein solcher Einzelplatz- rechner zusätzlich einen Wissensdesigner.
Figur 4 zeigt ein Blockdiagramm zur näheren Erläuterung eines Systems zur Erzeugung von Objekten für die Objektdatenbank.
Das hier dargestellte System 400 entspricht dem Wissensdesigner 306 der Figur 3 und dem Wissensdesigner 104 der Figur 1. Der Wissensdesigner 400 hat eine dreiteilige Struktur, die die drei unterschiedlichen Objekttypen wiederspiegelt, die erzeugt werden können. Ein Komponentenobjektdesigner 402 dient zur Erzeugung von Komponentenobjekten 404. Ein Funktionsobjektdesigner 406 dient zur Erzeugung von Funktionsobjekten 408. Ein Regelobjektdesigner 410 dient zur Erzeugung von Regelobjekten 410. Die Einheiten 402, 406 und 410 sind zusätzlich zur Modifikation der von ihnen erzeugten Strukturen ausgebildet. So kann beispielsweise der Komponentenobjektdesigner 402 ein in einer Objektdatenbank, beispielsweise der Objektdatenbank 304, abgelegtes Komponentenobjekt öffnen, bearbeiten und in Form einer neuen Version in der Objektdatenbank ablegen.
Die Erzeugung von Komponentenobjekten, Funktionsobjekten und Regelobjekten in den jeweiligen Einheiten des Wissensdesigners 400 erfolgt mit Hilfe einer graphischen Nutzerschnittstelle (nicht dargestellt). Eine jeweilige Eingabemaske erleichtert die Neudefinition von Komponentenobjekten, Funktionsobjekten oder Regelobjekten. Traditionell erforderliche Schritte wie Kodierung und Kompilierung sind nicht erforderlich. Für die Erzeugung von Komponentenobjekten, deren Struktur weiter unten näher erläutert wird, können geometrische und nicht- geometrische Produktdaten verwendet werden. Eine (nicht dargestellte) Geometrieeinheit erzeugt für die Unterstützung beim Komponentenobjekt-Design ein geometrisches Modell, das für die Erstellung von Visualisierungen verwendet wird, die an CAD oder DMU (Digital Mock-Up)-Systeme weitergeleitet werden können. Der Wissensdesigner ist insbesondere ausgebildet, Berechnungen mit physikalischen Einheiten zu unterstützen.
Die nachfolgend zusammenhängend beschriebenen Figuren 5 und 6 zeigen Dia- gramme zur Illustration der Struktur eines Komponentenobjekts 500 und eines Komponentenobjekt-Konzepts 600. Ein Komponentenobjekt wird durch eine Anzahl Subkomponentenobjekte 502 bis 512 gebildet. Die Struktur des Komponentenobjekts 500 ist so angelegt, dass alle für den Entwurf notwendigen Daten und Relationen für die Beschreibung einer entsprechenden tatsächlichen Maschinen- komponente enthalten sind. Figur 5 ist zu entnehmen, dass die Subkomponentenobjekte selbst die Form von Komponentenobjekten annehmen können. So wird das Subkomponentenobjekt 506 von weiteren Komponentenobjekten 508, 510 und 512 gebildet. Das Komponentenobjekt 508 wiederum wird von zwei Subkomponentenobjekten 510 und 512 gebildet. Diese Datenstruktur eines Komponentenobjekts ermöglicht, neue Komponentenobjekte auf einfach Weise aus schon vordefinierten Komponentenobjekten der Datenbank zusammenzusetzen.
Nachfolgend wird unter Bezug auf Figur 6 erläutert, welche Arten von Subkom- ponentenobjekten ein Komponentenobjekt enthalten kann. Eine erste Form von Subkomponentenobjekten bilden Parameterobjekte. Ein Parameterobjekt 602 ist durch einen Parameter gebildet, der einen numerischen oder einen nichtnumerischen Parameterwert aus einem vorbestimmten Wertebereich annehmen kann. Numerische Parameter sind beispielsweise Zahlen des Typs Double oder Float. Darüber hinaus können auch nicht-numerische Variablen wie etwa Arrays und diskrete Variablen, wie beispielsweise Zahlen vom Typ Integer verwendet werden. Ein Parameterobjekt kann auch durch ein Komponentenobjekt gebildet werden. Ein Komponentenobjekt kann darüber hinaus in einem bevorzugten Ausführungsbeispiel mindestens ein Formelobjekt 604 enthalten. Ein Formelobjekt ist ausgebildet, eine vorbestimmte mathematische Verknüpfung zwischen zwei oder mehreren Parameterobjekten 602 des Komponentenobjekts zu bilden. Mit Hilfe von Formelobjekten kann also eine Abhängigkeit zwischen bestimmten Parameterobjekten innerhalb desselben Komponentenobjekts spezifiziert werden. Ein Beispiel eines Formelobjekts ist eine Formel für die Bestimmung des Volumens einer Armstütze eines Flugzeugsitzes durch Multiplikation von Breite, Höhe und Tiefe der Armstütze.
Das Komponentenobjekt, die Armstütze, ist hierbei unter anderem durch die Parameterobjekte Breite, Höhe und Tiefe definiert. Das Komponentenobjekt Armstütze kann ein Subkomponentenobjekt eines weiteren Komponentenobjekts bilden, das einen Passagiersitz eines Flugzeugs beschreibt.
Komponentenobjekte enthalten weiterhin in einem bevorzugten Ausführungsbeispiel mindestens ein Methodenobjekt 606. Methodenobjekte sind ausgebildet, das Erfüllen einer Relation zwischen Komponentenobjekten eines Objektdaten- modeis zu prüfen und in Abhängigkeit vom Prüfungsergebnis einen Wert mindestens einer der von den Komponentenobjekten umfassten Parameterobjekten nach einer bestimmten Vorschrift zu setzen oder einem Objektdatenmodel ein neues Komponentenobjekt oder ein neues Subkomponentenobjekt hinzuzufügen. Methodenobjekte sind in Form von ausführbaren Programmcode implemen- tiert. Ein Methodenobjekt kann beispielsweise dazu dienen, bei dem Entwurf einer Treppe im Rahmen einer Skalierung die Höhe zwischen den Treppenstufen zu überwachen und beim Überschreiten einer vorgegebenen Schwellhöhe eine zusätzliche Stufe in die Treppe einzufügen.
Optional kann ein Komponentenobjekt auch ein Geometrieobjekt 608 in Form eines Satzes von Geometrieparametern enthalten. Die Geometrieparameter enthalten Informationen über eine einem Komponentenobjekt oder Parameterobjekt zugeordnete geometrische Form. Sie dienen dazu, an einer graphischen Nutzer- schnittstelle des Wissensdesigners oder der weiter unten beschriebenen Resolutionseinheit darzustellen.
Zusätzlich enthält ein Komponentenobjekt in einem bevorzugten Ausführungs- beispiel ein (in Figur 6 nicht dargestelltes) Strukturobjekt, das eine Liste der im Komponentenobjekt enthaltenen Subkomponentenobjekte aufweist. Das Strukturobjekt beschreibt die Hierarchie der im Komponentenobjekt enthaltenen Subkomponentenobjekte.
Die dargestellte hierarchische Struktur der Komponentenobjekte entspricht der im tatsächlichen Leben anzutreffenden Situation beim Design komplexer Systeme, dass diese aus separierbaren Komponenten zusammengesetzt sind. Beispielsweise besteht eine Flugzeugkabine aus verschiedenen Kabinenelementen wie Sitzen, Hatracks und weiteren Elementen, die zu einer Gesamtanordnung zusammengefügt werden. Der durch die Komponentenobjekte implementierte Modellierungsansatz unterscheidet dementsprechend zwischen Randbedingungen innerhalb einer Komponente und Randbedingungen, die zwischen Komponenten bestehen. Diese Kapselung hat insbesondere den Vorteil, dass der Mo- dellierungsprozess wesentlich übersichtlicher gestaltet werden kann. Darüber hinaus ermöglicht die Kapselung die Wiederverwendung der Komponentenobjekte in verschiedenen Systemen.
Durch die erläuterte Struktur können komplexe Maschinenobjekte also auf intuitive und auch rechentechnisch vorteilhafte Weise in Form von Baugruppen (as- semblies) organisiert werden. Diese haben eine wesentlich umfassendere Bedeutung als in herkömmlichen CAD-Systemen. Denn sie können nicht nur Strukturen ohne geometrische Repräsentation (wie etwa ein Flughöhenprofil, das aus Flugsegmenten zusammengesetzt ist) abbilden. Sie ermöglichen auch eine dynamische (run-time) Definition der Produkt-Struktur. Geometrie bildet bei diesem Konzept also im Gegensatz zu einem CAD-System nur einen optionalen Deskriptor aus einer Anzahl verschiedener Deskriptoren eines Maschinenobjekts. Figur 7 zeigt ein weiteres Blockdiagramm zur Erläuterung der Zusammenhänge zwischen Komponentenobjektkategorien, Komponentenobjektkonzepten und Komponentenobjekten. Eine Komponentenobjektkategorie 700 kann eine Anzahl Komponentenobjektkonzepte 702, 704 und 706 umfassen. Ein Komponentenob- jektkonzept kann beispielsweise durch ein Modell für Düsentriebwerk eines Flugzeugs gebildet werden. Ein alternatives Komponentenobjektkonzept kann durch ein Propellertriebwerk gebildet werden. Die Menge aller Komponentenobjektkonzepte bildet die Komponentenobjekt-Kategorie „Flugzeugtriebwerk". Jedem Komponentenobjektkonzept können wiederum unterschiedliche Komponenten- objekttypen zugeordnet werden, die in Figur 7 mit den Bezugszeichen 702.1, 702.2 bezüglich des Komponentenobjektkonzepts 702, 704.1, 704.2 und 704.3 bezüglich des Komponentenobjektkonzepts 704 sowie 706.1 bis 706. n bezüglich des Komponentenobjektkonzepts 706 gekennzeichnet sind. Bei den Komponente nobjekttypen kann es sich im vorgenannten Beispiel etwa um ein Düsentrieb- werk eines Herstellers A und ein Düsentriebwerk eines Herstellers B handeln. Diese unterscheiden sich beispielsweise hinsichtlich ihrer Masse und ihres Luftwiderstands, so dass der Typ des Düsentriebwerks beispielsweise bei der Berechnung des Kraftstoffverbrauchs bei einem Flug über eine vorgegebene Distanz zu berücksichtigen ist.
Figur 8 zeigt ein Diagramm zur Erläuterung verschiedener Typen von Funktionsobjekten. Funktionsobjekte bilden, wie bereits erläutert, eine vorbestimmte Verknüpfung zwischen zwei oder mehreren Parameterobjekten unterschiedlicher Komponentenobjekte. Sie können Parameterwerte modifizieren, die in einem Komponentenobjekt oder einem Subkomponentenobjekt des Komponentenobjekts enthalten sind. Sie können Komponentenobjekte zu einem Objektdatenmodell hinzufügen und Parameterwerte des hinzugefügten Komponentenobjekts setzen. Weiterhin können Funktionsobjekte aus eine Objektdatenmodell ein Komponentenobjekt entfernen. Funktionsobjekte können auch für Analysefunkti- onen verwendet werden, in dem sie in mindestens einem von einem Objektdatenmodell umfassten Komponentenobjekt Parameterwerte erfassen und in Abhängigkeit von diesen und einer vordefinierten Analyseregel mindestens einen Analyseparameterwert ermitteln und ausgeben. Ein Beispiel eines Funktionsob- jekts mit Analysefunktion ist die Ermittlung der Anzahl in eine Flugzeugkabine passender Sitze.
Derartige Methoden können entweder als externe Methoden, die in Form einer dll(Dynamic Link Libary)-Datei 802 codiert sind, oder in Form eines Excel-Sheets 804 oder in Form einer ODBC-Datenbank 806 oder in Form einer externen Anwendung 808 vorliegen.
Figur 9 zeigt die Struktur eines Regelobjektes. Ein Regelobjekt ist ausgebildet, ein Objektdatenmodell oder ein darin enthaltenes Komponentenobjekt oder Sub- komponentenobjekt oder dessen Parameterobjekte auf das Erfüllen einer vordefinierten Randbedingung zu prüfen, und bei einem Nichterfüllen der Randbedingungen eine dieses Ergebnis anzeigende Regelverletzungsnachricht zu erzeugen. Ein Regelobjekt enthält daher einen Prüfabschnitt 902, der die zu erfüllende Bedingung definiert, sowie einen Anweisungsteil 904, der für den Fall des Nicht- Erfüllens der Bedingung die vorzunehmende Aktion, beispielsweise das Anzeigen einer Regelverletzungsnachricht definiert.
Figur 10 zeigt ein detaillierteres Blockdiagramm eines Ausführungsbeispiels ei- ner erfindungsgemäßen Vorrichtung 1000 für die Konzeptionierung, den Vorentwurf und die Konfiguration eines Maschinenobjekts.
Eine Objektdatenbank 1002 speichert und verwaltet Komponentenobjekte 1004, Funktionsobjekte 1006 und Regelobjekte 1008. Die dreiteilige Struktur der gra- phischen Darstellung der Objektdatenbank 1002 in Figur 10 dient lediglich zur Veranschaulichung der drei unterschiedlichen Objekttypen, die in ihr enthalten sind. Die Objektdatenbank 1002 als solche muss keine dreiteilige physikalische Struktur aufweisen. Die Objektdatenbank ist mit einem Wissensdesigner 1010 verbunden, der schon oben im Zusammenhang mit Figur 1 näher beschrieben wurde.
Die Objektdatenbank ist weiterhin mit einer Modellbildungseinheit 1014 und einer Ausführungseinheit 1016 für Funktionsobjekte, nachfolgend FO-Ausführungs- einheit, verbunden. Die Modellbildungseinheit stellt als Ausgang ein Objektdatenmodell bereit, das für die Ausführung von Funktionsobjekten in der FO-Aus- führungseinheit 1016 und für einen Resolutionsprozess in einer verbundenen Resolutionseinheit 1018 genutzt wird. Die Resolutionseinheit 1018 umfasst eine Einheit 1020 zur Erstellung eines mathematischen Modells in Form eines Gleichungssystems aus dem Objektdatenmodell, eine Analyseeinheit 1022 zur Erstellung eines Resolutionsplans und eine Solvereinheit 1024 zur Abarbeitung des Resolutionsplans. Weiterhin ist im vorliegenden Ausführungsbeispiel ein Optimierer 1026 ist mit der Solvereinheit 1024 verbunden. Schließlich ist eine Graphik- einheit 1028 vorgesehen, die im Datenfluss zwischen der graphischen Nutzerschnittstelle 1012 und den weiteren genannten Funktionseinheiten angeordnet ist.
Im Betrieb ermöglicht die graphische Nutzerschnittstelle 1012 im Zusammenwir- ken mit der Graphikeinheit 1028 einem Nutzer der Modellbildungseinheit eine graphische Erzeugung eines Objektdatenmodells. Für den Nutzer entsteht eine „Workbench", in der er das Objektdatenmodell des Maschinenobjekts aus vorgefertigten oder selbst erstellten Komponenten zusammenbaut. Hierfür greift der Nutzer wie bereits beschrieben auf Komponentenobjekte, Funktionsobjekte und Regelobjekte zu, die in der Objektdatenbank abgelegt sind. Zur Erstellung des Objektdatenmodells erzeugt die Modellbildungseinheit 1014 Instanzen der vom Nutzer ausgewählten Komponentenobjekte, Funktionsobjekte und Regelobjekte. Dabei kann beispielsweise eine Strukturdarstellung ähnlich dem in Figur 5 gezeigten Baumgraph Verwendung finden. Das Objektdatenmodell kann beispiels- weise unter Manipulation des Baumgraphen mit Hilfe einer Computermaus erstellt werden, indem etwa aus einer ebenfalls abgebildeten graphischen Darstellung der in der Objektdatenbank enthaltenen Komponentenobjekte durch „Drag and Drop" ein ausgewähltes Komponentenobjekt dem aktuell zu erstellenden Objektdatenmodell an einer bestimmten Position des Baumgraphen hinzugefügt wird. Detailliertere Definitionsmerkmale eines Komponentenobjekts im Rahmen eines Objektdatenmodells können über eine Datenmaske oder weitere graphische Darstellungen eingegeben werden. Die Modellbildungseinheit 1014 erlaubt die Ergänzung des Objektdatenmodells durch Heranziehen und Einbinden externer Methodenobjekte über eine API.
Über den Wissensdesigner 1010, der eine von der „Workbench" getrennte gra- phische Nutzerschnittstelle bildet, können im Rahmen des Entwurfsprozesses neue Komponentenobjekte, Funktionsobjekte und Regelobjekte generiert und in der Objektdatenbank 1002 publiziert werden. Die graphische Nutzerschnittstelle 1012 ermöglicht einem Nutzer in diesem Zusammenhang die Möglichkeit, graphische Eingaben im Zusammenhang mit der Erstellung neuer Daten bankobjek- te über den Wissensdesigner 1010 vorzunehmen.
Durch entsprechende Eingabe über die graphische Nutzerschnittstelle 1012 kann der Nutzer die Ausführung von Funktionsobjekten durch die FO-Ausführungs- einheit 1016 veranlassen, die je nach Funktionsmerkmal zur Analyse oder Mani- pulation des Objektdatenmodells ausgebildet sind (vgl. oben). Diese Funktionalität ist insbesondere im Rahmen der Konfiguration von Maschinenobjekten nützlich und ermöglicht eine schnelle Ausführung vordefinierter Design- und Analysefunktionen.
Über die graphische Nutzerschnittstelle 1012 wird auch festgelegt, welche Parameterobjekte des Objektdatenmodells im Rahmen eines Resolutionsprozesses als bekannt gesetzt sind und welche in dem Resolutionsprozess als Ausgabeparameter ermittelt werden sollen.
Durch eine entsprechende Anweisung über die graphische Nutzerschnittstelle 1012 wird der Resolutionseinheit 1018 die Anweisung erteilt, aus dem Objektdatenmodell ein mathematisches Modell zu erstellen. Auch in diesem Zusammenhang sind umfangreiche graphische Hilfestellungen zur Manipulation des mathematischen Modells vorgesehen. Dabei kann beispielsweise jedem Komponen- tenobjekt, Funktionsobjekt und Regelobjekt ein vorzugsweise entsprechend beschriftetes, graphisches Symbol zugeordnet sein. Eine Substruktur von Komponentenobjekten in Parameter, Formeln und Methoden kann durch eine entsprechende Aufteilung des Symbols oder Anordnung der verschiedenen Symbole für jede der Subkomponenten repräsentiert werden. Für die Darstellung des mathematischen Systems sind weiterhin die zwischen den einzelnen Objekten bestehenden Verknüpfungen von großer Bedeutung, die durch entsprechende Verbindungslinien angezeigt werden können. Dabei können Pfeile die Beziehung zwi- sehen den jeweiligen Objekten (Parameter x ist Eingangsparameter für die Bestimmung des Wertes von Parameter y) repräsentieren. Der Nutzer kann also durch Hinzufügen und Verknüpfen von Symbolen im Ergebnis ein mathematisches Modell graphisch definieren, das durch die Einheit 1020 zur Erstellung eines mathematischen Modells in Form eines Gleichungssystems erstellt wird. Eine mühselige symbolische Eingabe von mathematischen Gleichungen eines Gleichungssystems ist hierbei also nicht erforderlich.
Die Analyseeinheit 1022 ermittelt anschließend, ob das Gleichungssystem hinreichend bestimmt ist. Ist dies der Fall, erstellt die Analyseeinheit 1022 einen Resolutionsplan, der der Solvereinheit 1024 übermittelt wird. Nähere Einzelheiten zur Struktur und Betriebsweise der Analyseeinheit 1022 werden weiter unten anhand der Figuren 11 bis 13 dargestellt.
Die Solvereinheit 1024 arbeitet den von der Analyseeinheit 1022 übermittelten Resolutionsplan Resolutionsschritt für Resolutionsschritt ab. Dabei werden, wie unten näher erläutert wird, Untergleichungssysteme, sogenannte Solverblöcke, gelöst. Die Solverblöcke stellen irreduzible Teilsysteme dar. Abhängig von den Eigenschaften des jeweiligen irreduziblen Teilsystems, das zur Lösung ansteht, wählt der Solverblock ein geeignetes Lösungsverfahren aus. Beispiele solcher Lösungsverfahren sind numerische Lösungsverfahren basierend auf dem bekannten Newton-Verfahren, diskrete Lösungsverfahren, geometrische Lösungsverfahren oder algebraisch-symbolische Lösungsverfahren. Die Gesamtheit dieser Ansätze, die der Solver auszuwählen und anzuwenden im Stande ist, ermöglicht einen hybriden Resolutionsprozess, der mit hoher Effizienz und Geschwin- digkeit eine Resolution des Objektdatenmodells herbeiführen kann.
Bei der Bearbeitung einer Optimierungsaufgabe dient der Optimierer 1026 dazu, Parameterwerte unter Anwendung an sich bekannter Optimierungsstrategien zu ändern und in den Resolutionsprozess einzugeben, um eine unter vorgegebenen Randbedingungen optimale Lösung zu ermitteln.
Die dargestellte umfassende Funktionalität der Vorrichtung 1000 im Rahmen unterschiedlicher Phasen des Entwurfs eines Maschinenobjekts wird durch die zugrundeliegende einheitliche Datenstruktur vereinfacht. Konzeption, Vorentwurf, und Konfiguration beruhen auf einem einheitlichen Datenmodell.
Figur 11 zeigt die Struktur der Analyseeinheit 1008 in näheren Details. Ein Ab- hängigkeitsgraph-Bestimmer 1102 ist mit der Einheit 1020 verbunden und ausgebildet, aus dem vom Objektdatenmodell gebildeten, mathematischen System einen Abhängigkeitsgraph zu erstellen. Der Begriff des Abhängigkeitsgraphen soll nachfolgend anhand von Figur 12 erläutert werden.
Figur 12 zeigt ein einfaches Beispiel eines Abhängigkeitsgraphen. In dem Abhängigkeitsgraphen sind durch rechteckige Blöcke Funktionen symbolisiert. Kreise symbolisieren Variablen. Pfeile, die von einer Variablen zu einer Funktion weisen, zeigen an, dass die Funktion die betreffende Variable enthält. Pfeile, die von einer Funktion zu einer Variablen weisen, zeigen an, dass die Variable über die betreffende Funktion von deren Eingangsvariablen abhängt. Der Abhängigkeitsgraph der Figur 12 wurde dementsprechend aus folgendem äquivalenten Gleichungssystem abgeleitet:
V2 = f1 (V2) V2 = f2 ()
V3 = fθ (VO, V2)
V3 = f3 (V2)
V1 = f4 (V2, V4, V1).
Nachfolgend wird wieder auf Figur 11 Bezug genommen. Die Analyseeinheit weist zusätzlich einen über die Graphikeinheit 1004 mit der graphischen Nutzerstelle 1002 verbundene Eingabeeinheit auf. Die Eingabeeinheit speichert Anwei- sungen, welche Parameterobjekte als Eingabeparameter und Parameterobjekte als Ausgabeparameter zu behandeln sind.
Ein Kombinatorikanalysator 1106 ist mit dem Abhängigkeitsgraph-Hersteller 1102 und der Eingabeeinheit 1104 verbunden. Der Kombinatorikanalysator 1106 ist ausgebildet zu ermitteln, ob das durch den Abhängigkeitsgraphen und die Ein- und Ausgabeparameter festgelegte mathematische System wohl bestimmt ist. Liegt kein wohlbestimmtes System vor, partitioniert der Kombinatorikanalysator das System in einen wohlbestimmten Anteil, einen unterbestimmten Anteil und einen überbestimmten Anteil, soweit vorhanden, und analysiert die Ursache für eine Unterbestimmung oder Überstimmung eines Blocks des Gleichungssystems. Die ermittelte Ursache wird an eine Diagnoseeinheit 1108 ausgegeben, die entsprechende ausführliche Nachricht erstellt und über die Graphikeinheit 1004 ein Analysebild eines unter- bzw. überbestimmten Teilsystems darstellt und Vor- schlage zur Lösung unterbreitet.
Teil der kombinatorischen Analyse ist das Berechnen eines Matchings maximaler Größe zwischen Variablen und Randbedingungen (Constraints). Um unidirektio- nale Constraints dabei zu berücksichtigen, werden Matching-Algorithmen für gewichtete Graphen eingesetzt.
Nach einer erfolgreichen kombinatorischen Analyse wird in einer Graphikzerlegungseinheit 1110 der Abhängigkeitsgraph entsprechend einer Zerlegungsstrategie in irreduzible Teilsysteme zerlegt, die einzeln und in einer Abfolge gelöst werden können. Diese Abfolge bildet den Resolutionsplan, der durch die Resolutionsplaneinheit 1112 aufgestellt wird.
Figur 13 zeigt das Ergebnis einer Graphzerlegung für das in Figur 12 dargestellte System. Zwei irreduzible Blöcke 1302 und 1304 sind durch eine gestrichelte Um- randung gekennzeichnet. Aus dem zerlegten Abhängigkeitsgraphen der Figur 13 lässt sich folgender Resolutionsplan ermitteln:
1. Löse das Gleichungssystem 1302, f1 (V2) = V2 nach der Variable V2 auf. 2. Berechne V3 = f3 (V2).
3. Löse Gleichung fθ (VO, V2) = V3 nach VO auf.
4. Verwende vom Nutzer spezifizierten Wert von V4.
5. Löse Gleichungssystem 1304, f4 (V1 , V4, V2) = V1 nach der Variablen V1 auf.
6. Prüfe, ob V2 = f2 () erfüllt ist.
Werden nicht-numerischen Variablen verwendet, kann nach solchen Variablen nicht numerisch gelöst werden. Dies wird bei der kombinatorischen Analyse ent- sprechend berücksichtigt. Für diskrete Variablen können „Search-and-Prune- Techniken" oder eine sogenannte Propagation von Constraints angewendet werden.
Eine vom Optimierer 1012 (Figur 10) verwendete Optimierungsstrategie iteriert den Resolutionsprozess unter Variation der freien Variablen, um zulässige Lösungen zu finden, die unter der angegebenen Zielrelation optimal sind.
Das hierarchische, komponentenbasierte Modellieren bei dem erfindungsgemäßen System bewirkt die Einkapselung von innerhalb einem Komponentenobjekt bestehenden Relationen. Komponentenübergreifende Constraints haben nur Zugriff auf freie Parameter von Komponentenobjekten. Komponentenobjekt- interne Parameter, die von freien Parametern abhängen, sind nach außen unsichtbar.
In der vorliegenden Beschreibung wurde als Beispiel eines Maschinenobjektes häufig ein Flugzeug genannt. Dies ist jedoch ohne jegliche Einschränkung zu verstehen. Maschinenobjekte im Sinne der vorliegenden Erfindung können beispielsweise auch Fahrzeuge wie schienengebundene Fahrzeuge und Kraftfahrzeuge, aber auch Gebäude wie etwa Flughafengebäude sein. Die genannten Beispiele bilden komplexe Einheiten. Maschinenobjekte können jedoch auch Teile dieser genannten Beispiele bilden. In den nachfolgenden Patentansprüchen sind die Merkmale der beanspruchten Vorrichtungen in gegliederter Form dargestellt. In den abhängigen Ansprüchen sind die zusätzlichen Merkmale in Fortsetzung der im Anspruch 1 begonnenen Gliederung nummeriert.

Claims

Ansprüche
1. Vorrichtung für die Konzeptionierung, den Vorentwurf oder die Konfiguration eines Maschinenobjekts, das durch ein Objektdatenmodell repräsentiert ist, mit
1.1 einer Objektdatenbank, enthaltend
1.1.1 Komponentenobjekte in Form von Komponentendatenmodellen,
1.1.1.1 wobei ein Komponentenobjekt ein Parameterobjekt oder eine Vielzahl Parameterobjekte aufweist, die einen numerischen oder einen nicht-numerischen Parameterwert aus einem jeweils vorbe- stimmten Wertebereich annehmen können;
1.1.2 Funktionsobjekte, wobei ein jeweiliges Funktionsobjekt ausgebildet ist,
1.1.2.1 eine vorbestimmte Verknüpfung zwischen zwei oder mehr Parameterobjekten unterschiedlicher Komponentenobjekte zu bilden,
1.1.2.2 Parameterwerte zu modifizieren, die in einem Komponentenobjekt enthalten sind,
1.1.2.3 dem Objektdatenmodell ein Komponentenobjekt hinzuzufügen und Parameterwerte des hinzugefügten Komponentenobjekts zu setzen, oder
1.1.2.4 aus dem Objektdatenmodell ein Komponentenobjekt zu entfernen,
1.2 einer Modellbildungseinheit,
1.2.1 die mit der Objektdatenbank verbunden ist,
1.2.2 und die ausgebildet ist,
1.2.2.1 auf den Eingang einer entsprechenden Anweisung hin eine Kom- ponentenobjektinstanz eines in der Objektdatenbank enthaltenen Komponentenobjektes oder eine Funktionsobjektinstanz eines in der Objektdatenbank enthaltenen Funktionsobjektes zu erzeugen und einem Objektdatenmodell hinzuzufügen,
1.2.2.2 auf den Eingang einer Anweisung zum Verknüpfen verschiedener Komponentenobjekte untereinander oder von Komponentenobjekten mit Funktionsobjekten das Objektdatenmodell entsprechend zu modifizieren, und
1.2.2.3. auf den Eingang einer entsprechenden Anweisung hin ein Parameterobjekt als Eingabeparameter oder Ausgabeparameter eines Resolutionsprozesses zu kennzeichnen,
1.3 einer Ausführungseinheit,
1.3.1 die mit der Modellbildungseinheit und mit der Objektdatenbank verbunden ist
1.3.2 und die ausgebildet ist
1.3.2.1 auf den Eingang einer entsprechenden Ausführungsanweisung hin eine im Objektdatenmodell enthaltene Funktionsobjektsinstanz unter Modifikation, Hinzufügung oder Vernichtung mit ihr verknüpfter Komponentenobjekte des Objektdatenmodells auszuführen,
1.4 und mit einer Resolutionseinheit,
1.4.1 die mit der Modellbildungseinheit und mit der Objektdatenbank verbunden ist
1.4.2 und die ausgebildet ist,
1.4.2.1 anhand der Komponentenobjekte und Funktionsobjekte sowie ihrer Verknüpfungen im Objektdatenmodell ein Gleichungssystem mit einer ersten Anzahl Gleichungen und einer zweiten Anzahl durch die Gleichungen verknüpfter Parameterobjekte zu erzeugen,
1.4.2.2 das Gleichungssystem des Objektdaten model Is in eine Anzahl Untergleichungssysteme mit einer jeweiligen Untermenge Gleichungen für eine jeweilige Untermenge Parameterobjekte zu parti- tionieren,
1.4.2.3 bei Vorliegen eines hinreichend bestimmten Gleichungssystems einen Resolutionsplan zu erstellen, der zur Ermittlung der Ausgabeparameter des Gleichungssystems des Objektdatenmodells eine Folge von Resolutionsschritten umfasst,
1.4.2.4 den Resolutionsplan für das Gleichungssystem Resolutionsschritt für Resolutionsschritt abzuarbeiten, wobei das Abarbeiten eines jeweiligen Resolutionsschritts das Berechnen einer Lösung eines jeweiligen Untergleichungssystems durch Auswerten mathematischer Funktionen oder Anwenden eines oder mehrerer numerischer Berechnungsalgorithmen beinhaltet, und
1.4.2.5 die ermittelten Werte der Ausgabeparameter auszugeben.
2. Vorrichtung nach Anspruch 1, bei der
1.1.1.2 ein in der Objektdatenbank enthaltenes Parameterobjekt eines Komponentenobjektes durch ein weiteres Komponentenobjekt mit mindestens einem weiteren Parameterobjekt gebildet ist.
3. Vorrichtung nach einem der vorstehenden Ansprüche, bei der
1.1.1.3 ein in der Objektdatenbank enthaltenes Komponentenobjekt zusätzlich ein Strukturobjekt enthält, das eine Liste der im Komponentenobjekt enthaltenen weiteren Komponentenobjekte enthält.
4. Vorrichtung nach einem der vorstehenden Ansprüche, bei der
1.1.1.4 ein in der Objektdatenbank enthaltenes Komponentenobjekt zusätzlich mindestens ein Formelobjekt enthält, das ausgebildet ist, eine vorbestimmte mathematische Verknüpfung zwischen zwei oder mehreren Parameterobjekten des Komponentenobjektes zu bilden.
5. Vorrichtung nach einem der vorstehenden Ansprüche, bei der
1.1.1.5 ein in der Objektdatenbank enthaltenes Komponentenobjekt zu- sätzlich mindestens ein Methodenobjekt enthält, das ausgebildet ist,
- das Erfüllen einer Relation zwischen Parameterobjekten des Komponentenobjektes zu prüfen und in Abhängigkeit vom Prüfungsergebnis
- einen Wert mindestens eines der von dem Komponentenobjekten umfassten Parameterobjekte nach einer vorbestimmten Vorschrift zu setzen
- oder einem Objektdatenmodell ein neues Komponentenobjekt oder Subkomponentenobjekt hinzuzufügen.
6. Vorrichtung nach einem der vorstehenden Ansprüche, bei der die Objektdatenbank
1.1.3 mindestens ein Regelobjekt enthält, das ausgebildet ist,
1.1.3.1 das Objektdatenmodell oder ein darin enthaltenes Komponentenobjekt oder Subkomponentenobjekt oder dessen Parameterwerte auf das Erfüllen einer vordefinierten Randbedingung zu prüfen.
7. Vorrichtung nach einem der vorstehenden Ansprüche, bei der die Modellbildungseinheit
1.2.3 mit einer graphischen Nutzerschnittstelle verbunden ist
1.2.4 und eine Graphikeinheit enthält, die ausgebildet ist,
1.2.4.1 anhand über die graphische Nutzerschnittstelle empfangender
Anweisungen eine graphische Repräsentation des Objektdaten- modells zu erzeugen oder zu modifizieren, die für jedes Komponentenobjekt, jedes Formelobjekt und jedes Regelobjekt des Objektdatenmodells sowie jede Verknüpfung zwischen diesen je ein vorbestimmtes Graphikelement aufweist, und
1.2.4.2 die graphische Repräsentation an die graphische Nutzerschnittstelle auszugeben.
8. Vorrichtung nach Anspruch 7, bei der die Graphikeinheit ausgebildet ist,
1.2.4.3 eine graphische Repräsentation einer Anzahl in der Objektdatenbank enthaltener Komponentenobjekte und Funktionsobjekte zu erzeugen und an der graphischen Nutzerschnittstelle auszugeben und
1.2.4.4 eine graphische Repräsentation des Objektdatenmodells auszugeben, die alle darin enthaltenen Komponentenobjekte und eine durch die in ihnen enthaltenen Strukturobjekte definierte Kompo- nentenobjekthierarchie widerspiegelt.
9. Vorrichtung nach einem der vorstehenden Ansprüche, bei der die Resolutionseinheit
1.4.3 eine Resolutionsdiagnoseeinheit aufweist,
1.4.3.1 die mit der graphischen Nutzerschnittstelle verbunden ist,
1.4.3.2 und die ausgebildet ist,
- zu ermitteln ob das Objektdatenmodell für die Berechnung einer Lösung hinreichend bestimmt ist,
- bei Vorliegen eines unterbestimmten Untergleichungssystems alle im unterbestimmten Untergleichungssystem enthaltenen Parameterobjekte und/oder Gleichungen zu ermitteln und - eine Diagnosenachricht, die die ermittelten Parameterobjekte bzw. Gleichungen identifiziert, zu erstellen und zur Anzeige an der graphischen Nutzerschnittstelle auszugeben.
10. Vorrichtung nach den Ansprüchen 7 und 9,
1.4.3.3 bei der die Resolutionsdiagnoseeinheit zusätzlich ausgebildet ist,
- bei Vorliegen eines überbestimmten Untergleichungssystems alle im überbestimmten Untergleichungssystem enthaltenen Parameterobjekte und/oder Gleichungen zu ermitteln und
- eine Diagnosenachricht, die die ermittelten Parameterobjekte bzw. Gleichungen identifiziert, zu erstellen und an die graphische Nutzerschnittstelle auszugeben.
11. Vorrichtung nach Anspruch 10,
1.2.4.5 bei der die Graphikeinheit ausgebildet ist, eine graphische Repräsentation der ermittelten Parameterobjekte und Gleichungen und ihrer Verknüpfung zu erzeugen und zur gemeinsamen Darstellung mit der Diagnosenachricht an die graphische Nutzerschnittstelle auszugeben.
12. Vorrichtung nach Anspruch 7,
1.2.4.6 bei der die Graphikeinheit zusätzlich ausgebildet ist,
eine Impact-Graphik zu erstellen und auszugeben, die eine graphische Repräsentation aller Komponentenobjekte, Formelobjekte und Regelobjekte enthält, die direkt oder indirekt mit einem über die Nutzerschnittstelle auswählbaren Parameterobjekt verknüpft sind.
13. Vorrichtung nach Anspruch 7, bei der
1.2.4.7 die Graphikeinheit zusätzlich ausgebildet ist, eine Computation-Graphik zu erstellen und auszugeben, die eine graphische Repräsentation aller Komponentenobjekte, Formelobjekte und Regelobjekte enthält, die direkt oder indirekt in die Berechnung eines Parameterwertes eines über die Nutzerschnittstel- Ie als Ausgabeparameter bestimmbaren Parameterobjekts einfließen.
14. Vorrichtung nach einem der Ansprüche 2 bis 8, bei der
1.4.4 die Resolutionseinheit eine Solver-Diagnoseeinheit aufweist, die ausgebildet ist,
1.4.4.1 während des Abarbeitens eines Resolutionsschrittes das Konvergieren einer Lösung des betreffenden Untergleichungssystems auf einen Konvergenzwert zu überwachen
1.4.4.2 und bei Ausbleiben des Konvergierens das Abarbeiten des Resolutionsschrittes abzubrechen und eine Diagnosenachricht aus- zugeben, die das betreffende Untergleichungssystem identifiziert.
15. Vorrichtung nach einem der vorstehenden Ansprüche, bei der
1.4.2.6 die Resolutionseinheit zusätzlich ausgebildet ist,
- nach einer Ausgabe der ermittelten Werte der Ausgangsparameter bei Anliegen eines geänderten Eingangsparametersatzes für das Objektdatenmodell an der Anweisungsschnittstelle geänderte Eingangsparameter des Eingangsparametersatzes zu ermitteln
- und anschließend einen Teilresolutionsplan zu erstellen, der gegenüber dem zuvor erstellten Resolutionsplan nur diejenigen Resolutionsschritte enthält, die Untergleichungssysteme betreffen, deren Lösung von dem oder den geänderten Eingangsparametern direkt oder indirekt abhängt.
16. Vorrichtung nach Anspruch 15, bei der
1.2.2.4 die Modellbildungseinheit ausgebildet ist,
- ein bereits gelöstes Objektdatenmodell durch eine über die Nutzerschnittstelle eingegebene Zielrelation für den Wert eines Ausgabeparameters zu ergänzen, und
1.4.2.7 bei der die Resolutionseinheit ausgebildet ist,
- einen Teilresolutionsplan zu erstellen, der gegenüber dem zuvor erstellten Resolutionsplan nur diejenigen Resolutionsschritte enthält, die Untergleichungssysteme betreffen, deren Lösung den durch die Zielrelation eingeschränkten Ausgabeparameter beeinflusst, und
- unter Anwendung eines Optimierungsalgorithmus denjenigen Parametersatz zu ermitteln, der das Gleichungssystem löst und die Zielrelation erfüllt.
17. Vorrichtung nach einem der vorstehenden Ansprüche, bei der
1.1.1.5 ein Komponentenobjekt ein Geometrieobjekt in Form eines Satzes von Geometrieparametern enthält, die Informationen über eine dem ersten Parameterobjekt zugeordnete geometrische Form aufweisen, und
1.2.6.7 bei der die Graphikeinheit ausgebildet ist,
- anhand der Eingangsparameterwerte und der ermittelten Ausgangsparameterwerte eines Objektdatenmodells Werte der Geometrieparameter aller Parameterobjekte zu bestimmen
- und eine Modellgraphik zu erzeugen, die der geometrischen Form des Maschinenobjekts mit den ermittelten Geometrieparametern entspricht.
18. Vorrichtung nach einem der vorstehenden Ansprüche,
1.5 mit einem Wissensdesigner,
1.5.1 der eine Komponentenobjekt-Entwurfseinheit enthält,
1.5.1.1 die mit der graphischen Nutzerschnittstelle und der Objektdaten- bank verbunden ist,
1.5.1.2 und die ausgebildet ist,
- entsprechend einer Nutzereingabe an der graphischen Nutzerschnittstelle ein neues Komponentenobjekt oder Parameterobjekt zu erzeugen und
- einem neuen Komponentenobjekt ein Parameterobjekt oder ein
Funktionsobjekt hinzuzufügen.
19. Vorrichtung nach Anspruch 18, bei der die Komponentenobjekt-Entwurfseinheit ausgebildet ist
1.5.1.3 auf der graphischen Nutzerschnittstelle eine Maske mit Masken- feldern zur Abfrage von Definitionselementen eines neuen Parameterobjekts oder Komponentenobjektes anzuzeigen,
1.5.1.4 Nutzereinträge in den Maskenfeldern auszuwerten, das Parameterobjekt oder Komponentenobjekt entsprechend den Einträgen in den Maskenfeldern zu erzeugen und in der Objektdatenbank ab- zuspeichern.
20. Vorrichtung nach einem der vorstehenden Ansprüche, bei der
1.5.2 der Wissensdesigner eine Funktionsobjekt-Entwurfseinheit enthält,
1.5.2.1 die mit der graphischen Nutzerschnittstelle und der Objektdatenbank verbunden ist,
1.5.2.2 und die ausgebildet ist, entsprechend einer Nutzereingabe an der graphischen Nutzerschnittstelle ein neues Funktionsobjekt zu erzeugen und das neue Funktionsobjekt in der Objektdatenbank abzuspeichern.
21. Vorrichtung nach den Ansprüchen 7 und 20, bei der die Funktionsobjekts- Entwurfseinheit ausgebildet ist,
1.5.2.3 auf der graphischen Nutzerschnittstelle eine Maske mit Maskenfeldern zur Abfrage von Definitionselementen eines neuen Funktionsobjektes anzuzeigen,
1.5.2.4 Einträge in den Maskenfeldern auszuwerten, das neue Funktions- Objekt entsprechend den Einträgen in den Maskenfeldern zu erzeugen und in der Objektdatenbank abzuspeichern.
22. Vorrichtung nach den Ansprüchen 7 und 18,
1.5.3 bei der Wissensdesigner eine Regelobjekt-Entwurfseinheit enthält,
1.5.3.1 die mit der graphischen Nutzerschnittstelle und der Objektdaten- bank verbunden
1.5.3.2 und die ausgebildet ist,
entsprechend einer Nutzereingabe an der graphischen Nutzerschnittstelle ein neues Regelobjekt zu erzeugen, und das neue Funktionsobjekt in der Objektdatenbank abzuspeichern.
23. Computersoftwareprodukt für die Konzeptionierung, den Vorentwurf oder die Konfiguration eines Maschinenobjekts, das durch ein Objektdatenmodell repräsentiert ist, enthaltend Code zur Implementierung
1.1 einer Objektdatenbank, enthaltend
1.1.1 Komponentenobjekte in Form von Komponentendatenmodellen,
1.1.1.1 wobei ein Komponentenobjekt ein Parameterobjekt oder eine
Vielzahl Parameterobjekte aufweist, die einen numerischen oder einen nicht-numerischen Parameterwert aus einem jeweils vorbestimmten Wertebereich annehmen können;
1.1.2 Funktionsobjekte, wobei ein jeweiliges Funktionsobjekt ausgebildet ist,
1.1.2.1 eine vorbestimmte Verknüpfung zwischen zwei oder mehr Parameterobjekten unterschiedlicher Komponentenobjekte zu bilden,
1.1.2.2 Parameterwerte zu modifizieren, die in einem Komponentenobjekt enthalten sind,
1.1.2.3 dem Objektdatenmodell ein Komponentenobjekt hinzuzufügen und Parameterwerte des hinzugefügten Komponentenobjekts zu setzen, oder
1.1.2.4 aus dem Objektdatenmodell ein Komponentenobjekt zu entfernen,
1.2 einer Modellbildungseinheit,
1.2.1 die mit der Objektdatenbank verbunden ist,
1.2.2 und die ausgebildet ist,
1.2.2.1 auf den Eingang einer entsprechenden Anweisung hin eine Kom- ponentenobjektinstanz eines in der Objektdatenbank enthaltenen Komponentenobjektes oder eine Funktionsobjektinstanz eines in der Objektdatenbank enthaltenen Funktionsobjektes zu erzeugen und einem Objektdatenmodell hinzuzufügen,
1.2.2.2 auf den Eingang einer Anweisung zum Verknüpfen verschiedener Komponentenobjekte untereinander oder von Komponentenobjekten mit Funktionsobjekten das Objektdatenmodell entsprechend zu modifizieren, und
1.2.2.3. auf den Eingang einer entsprechenden Anweisung hin ein Parameterobjekt als Eingabeparameter oder Ausgabeparameter eines Resolutionsprozesses zu kennzeichnen,
1.3 einer Ausführungseinheit,
1.3.1 die mit der Modellbildungseinheit und mit der Objektdatenbank verbunden ist
1.3.2 und die ausgebildet ist
1.3.2.1 auf den Eingang einer entsprechenden Ausführungsanweisung hin eine im Objektdatenmodell enthaltene Funktionsobjektsinstanz unter Modifikation, Hinzufügung oder Vernichtung mit ihr verknüpfter Komponentenobjekte des Objektdatenmodells auszuführen,
1.4 und einer Resolutionseinheit,
1.4.1 die mit der Modellbildungseinheit und mit der Objektdatenbank verbunden ist
1.4.2 und die ausgebildet ist,
1.4.2.1 anhand der Komponentenobjekte und Funktionsobjekte sowie ihrer Verknüpfungen im Objektdatenmodell ein Gleichungssystem mit einer ersten Anzahl Gleichungen und einer zweiten Anzahl durch die Gleichungen verknüpfter Parameterobjekte zu erzeu- gen,
1.4.2.2 das Gleichungssystem des Objektdatenmodells in eine Anzahl Untergleichungssysteme mit einer jeweiligen Untermenge Gleichungen für eine jeweilige Untermenge Parameterobjekte zu parti- tionieren,
1.4.2.3 bei Vorliegen eines hinreichend bestimmten Gleichungssystems einen Resolutionsplan zu erstellen, der zur Ermittlung der Ausga- beparameter des Gleichungssystems des Objektdatenmodells eine Folge von Resolutionsschritten umfasst,
1.4.2.4 den Resolutionsplan für das Gleichungssystem Resolutionsschritt für Resolutionsschritt abzuarbeiten, wobei das Abarbeiten eines jeweiligen Resolutionsschritts das Berechnen einer Lösung eines jeweiligen Untergleichungssystems durch Auswerten mathematischer Funktionen oder Anwenden eines oder mehrerer numerischer Berechnungsalgorithmen beinhaltet, und
1.4.2.5 die ermittelten Werte der Ausgabeparameter auszugeben.
Computersoftwareprodukt nach Anspruch 23, weiterhin enthaltend Code zur Implementierung einer Vorrichtung nach einem der Ansprüche 2 bis 22 auf einem Computer.
EP06778219A 2005-08-18 2006-08-10 System für den maschinengestützten entwurf technischer vorrichtungen Withdrawn EP1917611A2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102005039646 2005-08-18
DE102005055133A DE102005055133A1 (de) 2005-08-18 2005-11-16 System für den maschinengestützten Entwurf technischer Vorrichtungen
PCT/EP2006/065222 WO2007020231A2 (de) 2005-08-18 2006-08-10 System für den maschinengestützten entwurf technischer vorrichtungen

Publications (1)

Publication Number Publication Date
EP1917611A2 true EP1917611A2 (de) 2008-05-07

Family

ID=37450741

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06778219A Withdrawn EP1917611A2 (de) 2005-08-18 2006-08-10 System für den maschinengestützten entwurf technischer vorrichtungen

Country Status (4)

Country Link
US (1) US8239173B2 (de)
EP (1) EP1917611A2 (de)
DE (1) DE102005055133A1 (de)
WO (1) WO2007020231A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107300860A (zh) * 2017-06-09 2017-10-27 南京航空航天大学 一种航空发动机控制系统仿真平台控制对象在线更改方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009036398A2 (en) * 2007-09-13 2009-03-19 Siemens Product Lifecycle Management Software Inc. System and method for a product definition
US8014886B2 (en) * 2008-05-12 2011-09-06 Ford Motor Company Method and system for generating an assembly configuration
US8078443B2 (en) * 2008-05-12 2011-12-13 Ford Motor Company Method and system for generating configuration constraints for computer models
DE102009043327B4 (de) 2009-09-28 2017-11-23 Airbus Operations Gmbh System und Verfahren zur Konfiguration einer Flugzeugpassagierkabine
US8825459B2 (en) * 2010-11-29 2014-09-02 Autodesk, Inc. Multi-modal manipulation of a geometric model
WO2013027621A1 (ja) * 2011-08-22 2013-02-28 日機装株式会社 液体流路の圧力検出装置
CN102708224B (zh) * 2012-04-10 2014-10-22 中国人民解放军国防科学技术大学 一种基于功能设计的系统结构自动分析方法
JP5469728B1 (ja) 2012-10-19 2014-04-16 日機装株式会社 液体流路の圧力検出装置
JP5587958B2 (ja) 2012-10-19 2014-09-10 日機装株式会社 しごき型ポンプ
US9116953B2 (en) * 2013-05-17 2015-08-25 Sap Se Calculation engine with dynamic partitioning of intermediate results
US9116960B2 (en) * 2013-05-17 2015-08-25 Sap Se Calculation engine with optimized multi-part querying
JP5863871B2 (ja) 2014-04-15 2016-02-17 日機装株式会社 装着部材及びしごき型ポンプ
FR3021775A1 (fr) * 2014-05-27 2015-12-04 Defacto Dispositif et procede de modelisation numerique en trois dimensions
US10108761B2 (en) * 2014-09-15 2018-10-23 Dassault Systemes Solidworks Corporation Predictive simulation
WO2016208705A1 (ja) 2015-06-24 2016-12-29 日機装株式会社 血液浄化装置
RU2656584C1 (ru) * 2017-03-14 2018-06-05 Общество с ограниченной ответственностью "Новый мир развлечений" Система проектирования объектов в среде виртуальной реальности в реальном времени
JP6464238B1 (ja) 2017-09-07 2019-02-06 日機装株式会社 血液浄化装置及びその気泡の排出方法
JP6462077B1 (ja) 2017-09-07 2019-01-30 日機装株式会社 血液浄化装置及びその気泡の排出方法
US11270034B1 (en) 2018-01-05 2022-03-08 Shiyuan Shen Method and system for kitchen cabinet layout
CN108280276B (zh) * 2018-01-09 2022-02-08 上海大学 基于Revit软件楼梯模型标准创建和用量统计方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5552995A (en) * 1993-11-24 1996-09-03 The Trustees Of The Stevens Institute Of Technology Concurrent engineering design tool and method
US6606731B1 (en) 1999-08-05 2003-08-12 The Boeing Company Intelligent wiring diagram system
US6625507B1 (en) * 2000-02-23 2003-09-23 United Technologies Corporation Method and system for designing a low pressure turbine shaft
DE10041031A1 (de) 2000-08-22 2002-03-21 Airbus Gmbh Verfahren zur Konfiguration von Komponentenanordnungen und zur Generierung von Herstellungsunterlagen
US20020128998A1 (en) 2001-03-07 2002-09-12 David Kil Automatic data explorer that determines relationships among original and derived fields
WO2002073473A1 (en) * 2001-03-13 2002-09-19 Bombardier Inc. System and method for performing vehicle interior configuration design
US7176942B2 (en) 2001-03-23 2007-02-13 Dassault Systemes Collaborative design
US20050071135A1 (en) * 2003-09-30 2005-03-31 Vredenburgh David W. Knowledge management system for computer-aided design modeling
KR100754387B1 (ko) * 2004-12-06 2007-08-31 삼성전자주식회사 그래픽 컨텐츠 제작장치와 방법 및 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록매체
US7847807B2 (en) * 2004-12-22 2010-12-07 Hntb Holdings Ltd Geometry creation tool

Non-Patent Citations (1)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107300860A (zh) * 2017-06-09 2017-10-27 南京航空航天大学 一种航空发动机控制系统仿真平台控制对象在线更改方法

Also Published As

Publication number Publication date
DE102005055133A1 (de) 2007-02-22
US20100106466A1 (en) 2010-04-29
US8239173B2 (en) 2012-08-07
WO2007020231A3 (de) 2007-05-03
WO2007020231A2 (de) 2007-02-22

Similar Documents

Publication Publication Date Title
EP1917611A2 (de) System für den maschinengestützten entwurf technischer vorrichtungen
EP0852759B1 (de) Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren
DE102015100024A1 (de) Wiederverwendbare Grafikelemente mit schnell bearbeitungsfähigen Merkmalen zur Verwendung in Benutzeranzeigen von Anlagenüberwachungssystemen
DE112005001031T5 (de) Grafisches Bildschirmkonfigurationsgerüst für vereinheitlichte Prozesssteuerungssystemoberfläche
DE102008048478A1 (de) Probenermittlungsstrategie unter Verwendung genetischer Algorithmen bei der Optimierung eines technischen Entwurfs
DE102010038146A1 (de) Verfahren zum Auswählen von Formen in einer Grafikanzeige
EP3446185B1 (de) Verfahren und vorrichtung zur gestaltung eines produktionsprozesses zum produzieren eines aus mehreren teilprodukten zusammengesetzten produkts
EP2799983B1 (de) Flexible Aufteilung der I/O Kanäle einer Hardware Komponente
EP2330469B1 (de) Verfahren und Entwicklungsumgebung zur Erzeugung eines ausführbaren Gesamtsteuerungsprogramms
DE102014210854A1 (de) Computerimplementiertes Verfahren und Signalfolge für ein Programm zur Wiederverwendung von ausführbaren Softwarekonfigurationen für Softwaresysteme sowie Rechneranlage und ein Computerprogramm mit Programmcode zur Durchführung des Verfahrens
WO2021058223A1 (de) Verfahren zur effizienten, simulativen applikation automatisierter fahrfunktionen
DE10333087A1 (de) Verfahren zum automatischen Zerlegen von dynamischen Systemmodellen in Teilmodelle
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
DE112008003511T5 (de) Integrierter technischer Analyseprozess
EP3364257B1 (de) Verfahren zum betrieb eines engineering-systems für ein industrielles prozessautomatisierungssystem und steuerungsprogramm
DE10046742A1 (de) Vorrichtung und Verfahren für ein Fahrzeugentwurfssytem
EP1533674B1 (de) Verfahren zur Entwicklung und Implementierung eines Modells zur formalen Beschreibung eines sich aus mehreren verteilten Komponenten zusammensetzenden kollaborativen Systems, insbesondere eines intelligenten flexiblen Produktions-und/oder Prozessautomatisierungssystems
EP2642359A1 (de) Entwicklungseinrichtung und Verfahren zum Erstellen eines Steuergeräteprogramms
DE102016109596A1 (de) Computerunterstütztes Design von Mechatronischen Systemen zur Beschreibung von textbasierten Systemspezifikationen
EP3699704B1 (de) System und verfahren zum überprüfen von systemanforderungen von cyber-physikalischen systemen
DE19831651C1 (de) Verfahren zum Erzeugen eines regel- und anpassbaren Netzwerkes von Modellen von Verhaltensmustern einschließlich Software-Systemen
DE102019131613A1 (de) Verfahren zum Betreiben einer elektronischen Recheneinrichtung für einen Produktentwicklungsprozess mittels maschinellen Lernens, sowie elektronische Recheneinrichtung
EP1387260A1 (de) Verfahren und Vorrichtung zur Erzeugung von Software
DE102004023634B4 (de) Verfahren zur Vollständigkeits- und Konsistenzprüfung einer Informationsbibliothek
WO2004081682A1 (de) Verfahren zur auslegung und konstruktion von komplexen technischen produkten

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: 20080305

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 IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20100526

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20130917