WO2021020356A1 - Data interpretation device, method and program, data integration device, method and program, and digital city construction system - Google Patents
Data interpretation device, method and program, data integration device, method and program, and digital city construction system Download PDFInfo
- Publication number
- WO2021020356A1 WO2021020356A1 PCT/JP2020/028751 JP2020028751W WO2021020356A1 WO 2021020356 A1 WO2021020356 A1 WO 2021020356A1 JP 2020028751 W JP2020028751 W JP 2020028751W WO 2021020356 A1 WO2021020356 A1 WO 2021020356A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- graph
- platform
- automatically
- interpretation
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 87
- 230000010354 integration Effects 0.000 title claims description 36
- 238000010276 construction Methods 0.000 title description 28
- 238000006243 chemical reaction Methods 0.000 claims abstract description 129
- 230000014509 gene expression Effects 0.000 claims description 103
- 230000006870 function Effects 0.000 description 57
- 238000012545 processing Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 19
- 238000011160 research Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 13
- 230000018109 developmental process Effects 0.000 description 13
- 238000011161 development Methods 0.000 description 12
- 239000000463 material Substances 0.000 description 12
- 238000013461 design Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 6
- 238000012905 input function Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004880 explosion Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
Definitions
- the present invention relates to a data interpretation device, a method and a program, a data integration device, a method and a program, and a digital city construction system.
- Non-Patent Document 1 Since the 1980s, many studies have been conducted to automatically construct 3D models from design drawings (Non-Patent Document 1), but because they relied on a method of assembling drawing elements (lines and characters) from the bottom up. , There was a difficulty that it was not possible to deal with complicated drawings because the failure to interpret the part spread to the whole and the three-dimensionalization collapsed.
- Japanese Unexamined Patent Publication No. 2011-123644 Japanese Unexamined Patent Publication No. 04-2315142 Japanese Unexamined Patent Publication No. 04-030265 Japanese Unexamined Patent Publication No. 04-275684 Japanese Unexamined Patent Publication No. 2018-10997
- unstructured data Data that is basically expressed so that it can be visually interpreted by humans and that cannot be extracted by a computer as it is is called "unstructured data".
- a 2D-CAD drawing is unstructured data and is composed of elements such as lines, curves, and character strings, but it does not necessarily mean that it is a "figure” or “table” that a collection of elements has. Is not explicitly described, and human beings visually interpret it as a "figure” or “table” and read the information.
- unstructured data includes images with pixels as elements and point cloud data with points as elements. Further, in general, data that is not called unstructured data may be regarded as unstructured data when necessary information cannot be directly extracted. There is a need for a technique in which a computer automatically interprets the meaning of unstructured data based on the relationship between the element data and the element (including the positional relationship) and reads fragmentary information.
- the figures and tables included in the 2D-CAD drawing represent fragmentary information of the object (for example, a certain structure) in the physical space to be represented in the 2D-CAD drawing, and represent the 2D-CAD drawing. It is neither the object itself (that is, the object in physical space) nor the model of the object of expression.
- the "model” refers to a corresponding object in the virtual space to be expressed.
- fragmentary information refers to information that is not always sufficient to create a model to be expressed and may be integrated with other information to create a model to be expressed.
- multiple and different types of data from new data to old data (a type of data) are created according to individual purposes. It is required to utilize the data of the above, and a technology to create a model to be expressed by integrating fragmentary information distributed in a plurality of data is required.
- both the data expressed in the standard and defined format and the data in the original format optimized for each purpose are simultaneously used.
- a data integration device, a method, and a program for creating a model of a data expression target by integrating fragmentary information distributed in a plurality of data are provided. It also provides a digital city platform.
- the supplementary drawing interpretation method is disclosed. Specifically, this is realized by automatically growing (automatically structuring) the tree structure in which the elements of the drawing are associated with the nodes, with the relationship between the whole and the part as a parent-child relationship.
- This method is a robust method in which even if the interpretation fails, the tree structure does not grow, that is, the accuracy of the interpretation does not improve and the whole does not collapse.
- this automatic structuring method is also adopted for the automatic construction of 3D models. This makes it possible to flexibly and automatically construct 3D models having different degrees of detail according to the accuracy of drawing interpretation.
- information is organized based on the relationship between the whole and the part, and not only the shape but also various information such as the internal structure and physical properties of the structure can be retained. Therefore, it can be expected to be applied to various purposes.
- an interpreter capable of object-oriented programming that executes automatic type conversion based on the extension / inclusion relationship between objects is constructed, and more detailed extension is appropriately applied when interpreting data and integrating data. Create the side object from the inclusion side object (downcast).
- downcast In general object-oriented programming, downcasting that cannot be properly executed due to lack of information is possible with the method of the present invention.
- a data interpretation device provided with a platform for automatically executing type conversion of an object.
- the platform is provided in a control unit of the data interpretation device, has an acquisition unit and an interpretation unit, and has the acquisition unit.
- the unit acquires the input data as an object of the platform; the interpreting unit creates an initial graph for the object and performs a type conversion of the object associated with each node of the graph to the extension side or the inclusion side.
- a data interpretation device that operates a control unit so as to perform interpretation by automatically growing a graph from the initial graph while executing as appropriate.
- the interpreting unit executes downcasting, which is a type conversion of the object to the extension side based on the extension / inclusion relationship between the objects, and displays the nodes associated with the downcast object in the graph.
- the data interpretation device according to [1], wherein the graph is automatically grown by adding the data.
- a data interpretation method using a platform that automatically executes type conversion of an object The platform is provided in a control unit of a computer and has an acquisition unit and an interpretation unit. The step of acquiring input data as an object of the platform; the interpreter creates an initial graph for the object and appropriately performs type conversion of the object associated with each node of the graph to the extension side or the inclusion side.
- a data interpretation method for executing the step of performing interpretation by automatically growing a graph from the initial graph.
- a program executed by a computer which is provided in a control unit of the computer, has an acquisition unit and an interpretation unit, and automatically executes type conversion of an object, the acquisition unit inputs input data.
- the step of acquiring as an object of the platform; the interpreter creates an initial graph for the object and appropriately performs type conversion of the object associated with each node of the graph to the extension side or the inclusion side.
- a program that operates a control unit to perform the step of interpreting by automatically growing a graph from an initial graph.
- a data integration device provided with a platform for automatically executing type conversion of an object.
- the platform is provided in a control unit, has an acquisition unit and an interpretation unit, and the acquisition unit receives input data. Acquired as an object of the platform; the interpreter creates an initial graph for the object and appropriately performs type conversion of the object associated with each node of the graph to the extension side or the inclusion side.
- a data integration device that operates a control unit so as to interpret by automatically growing a graph from an initial graph and construct integrated data that integrates one or more of the above objects.
- a data integration method using a platform that automatically executes type conversion of an object The platform is provided in a control unit of a computer, has an acquisition unit and an interpretation unit, and the acquisition unit inputs.
- a plurality of programs having a predetermined element program and having inputs and outputs of arbitrary expression formats are loosely coupled via data by automatic conversion of the expression format, and the expression target of the integrated data is a city or a structure. There is a digital city building platform.
- the present invention realizes a data processing platform which is an interpreter capable of expanding the application range of a program and improving the reusability of the program by automatically converting the representation format of the data based on the meaning of the data. be able to.
- the data processing platform can simultaneously use both the data expressed in the standard and defined format and the data in the unique format optimized for each purpose, and accumulates programs for utilizing the data.
- the technology can be continuously advanced.
- a data processing platform can be used to implement data interpreters, methods and programs for extracting information from a wide range of data, from new data to old data.
- a data processing platform it is possible to realize a data integration device, method, and program that integrates fragmentary information distributed in a plurality of data to create a model of a data expression target.
- “mediation data” is set as an intermediary for conversion from “source 1", “source 2”, and “source 3” to "target 1", “target 2", and “target 3”.
- “target 1”, “target 2”, and “target 3” It is a figure.
- FIG. It is a figure which shows the physical structure of the data integration apparatus which concerns on Embodiment 2.
- FIG. It is a figure which shows the implementation method of data processing in the case of developing individually. It is a figure which shows the implementation method of data processing when using a standard format. It is a figure which shows the implementation method of data processing when using automatic conversion. It is a figure which shows the star-shaped network centering on a standard representation form as an example of the topology of the network which a representation form and a transformation path make. It is a figure which shows the free network based on the automatic conversion of the expression form as an example of the topology of the network which the expression form and the conversion path make. It is a figure which shows the form of the fixed digital city by the standard form.
- the data representation format can be flexibly changed as long as the meaning and content of the data are the same, and the program assumes a specific representation format as input.
- the program assumes a specific representation format as input.
- it can be applied to data expressed in a different format. For example, when a program that calculates the distance between two points on a two-dimensional plane expressed in a Cartesian coordinate system is given a point expressed in another coordinate system such as a polar coordinate system, the coordinate system is automatically set. By performing the conversion, one program can be commonly used for a plurality of expression formats. If this mechanism can be realized universally, it will be possible to easily create an information extraction program that does not depend on the expression format, and it will be easy to replace data and programs.
- an interpreter (this is called a data processing platform (DPP)) having a mechanism for automatically converting the expression format is constructed, and element programs for constructing a digital city are accumulated as its library.
- DPP data processing platform
- Platform refers to a platform that functions as a foundation for aggregating and linking elemental programs.
- DPP data processing platform
- platform also means that DPP functions as a basis for aggregating and linking elemental programs.
- the purpose is to define the logical equivalence between data with different expression formats and to present an automatic conversion method of the expression format according to the definition. ..
- data sharing is performed in a format defined by a standardization mechanism, and data is often in text format that can be read by humans, but in high-performance computing, binary format is usually adopted and the entire data can be read and written at high speed.
- binary format is often adopted and the entire data can be read and written at high speed.
- the same kind of data is often arranged in a row.
- searching for data to be stored for a long period of time access to a part of the data is normal, and a data structure based on the meaning and content of the search target can be selected. Even if the data has the same meaning and content, various expression formats are defined and used by the calculation subject and the data management subject according to various processing purposes.
- FIG. 23A to 23C are diagrams showing three types of data processing implementation methods. Arrows represent conversions of data representation.
- FIG. 23A is a case of individually developing
- FIG. 23B is a case of using a standard format
- FIG. 23C is a case of using automatic conversion.
- F (X i, Y j) is to input data y j of data x i
- representation Y j of representation X i represents the function for performing predetermined data processing There is. Further, if i ⁇ i', the expression formats of X i and X i'are different, and similarly, if j ⁇ j', the expression formats of Y j and Y j'are different.
- FIG. 24 is the topology of the network created by the expression format and the conversion path.
- FIG. 24A is a star-shaped network centered on a standard representation format
- FIG. 24B is a free network based on automatic conversion of the representation format.
- the methodology based on the standard representation format limits the topology of this network to a star shape centered on the standard representation format, as shown in FIG. 24A, and the standard representation format is an intermediate between data and the program. Plays the role of data format.
- the topology configuration of the network is free, and the position where the data and the program are combined is also free (see FIG. 24B).
- data that is not directly combined with the program is also automatically combined indirectly by automatic conversion, so that the data and the program can be easily exchanged.
- this network can grow by adding new expression formats and processing programs.
- a star-shaped topology can be constructed as a result of network growth, but the centrally located representation is natural, bottom-up, unlike the standard representation defined in a top-down fashion. It is a de facto standard expression format that is determined by.
- API application programming interface
- Providing city information by Web API is expected to reduce the development cost of application programs when sharing the above-mentioned information extraction program. For this reason, various information on cities has already been provided as a Web API, and the number is expected to increase in the future, but this situation is similar to the increase in useful data in its own format. .. Since the function of an application program equipped with an API is characterized by the representation format of input and output data, it is possible to apply automatic conversion of the representation format. In this case, the input data expresses the instruction to the API.
- each representation format of the data corresponds to the one-argument predicate of L1
- the subset of D1 in which the value of the one-argument predicate is true is the whole data representation that can be represented in that format.
- the logical equivalence of two data representations is defined as the fact that the binary predicate ⁇ of L1 representing the extension / inclusion relationship between the data representations that are the elements of D1 holds in both directions.
- the second argument ⁇ is defined as satisfying the following reflection law and transition law. However, ⁇ is a logical symbol.
- n-term function ⁇ of L1 and the n-term predicate ⁇ are called regular when the following two conditions are satisfied.
- HasRoof (a) is a regular one-argument predicate that expresses the attribute "a has a roof”
- the identity function is a holomorphic function, and the predicate that always returns true and the predicate that always returns false are regular predicates.
- Holomorphic functions and holomorphic predicates satisfy Equations 1 and 2, we define that the two data representations are in an extension / inclusion relationship. This means that the meaning of the object is given by the definition of the holomorphic function and the regular predicate.
- the purpose of the disclosure of this study is to abstract non-essential differences between representations, and by defining functions and predicates whose values can be determined regardless of representations as holomorphic functions and holomorphic predicates. Determine the extension / inclusion relationship between data representations.
- Cartesian2D which expresses points on a two-dimensional plane in a Cartesian coordinate system
- Polar2D which expresses points on a two-dimensional plane in a polar coordinate system
- the data representation of Cartesian2D is a set of x-coordinate and y-coordinate (x, y)
- the data representation of Polar2D is a set of radial diameter r and argument ⁇ (r, ⁇ ).
- the position of a point on a two-dimensional plane can be measured in x and y coordinates with respect to a given Cartesian coordinate system, regardless of the data representation.
- the x and y coordinates are calculated from this relational expression. It can be measured.
- the x-coordinate and y-coordinate surveys are defined as regular functions that correspond the data representation of the real number representation format Real to the points on the two-dimensional plane
- the Polar2D data representation is an extension of the Cartesian2D data representation.
- the x-coordinate and y-coordinate survey results for the two data representations are equivalent, that is, the two data representations represent the same point.
- Cartesian2D_RGB which expresses colored points on a two-dimensional plane with a set of x-coordinates, y-coordinates, and RGB values (x, y, r, g, b).
- the x-coordinate and y-coordinate surveys are also possible for the Cartesian2D_RGB data representation, and if the Cartesian2D_RGB data representation is an extension of the Cartesian2D data representation, x for the two data representations, as in the previous example.
- the measurement results of the coordinates and the y-coordinate are the same, and the two data representations represent the same point.
- Extension / inclusion relations between expression formats In the previous measure "13.1.”, Extension / inclusion relations between data representations were defined.
- predicate logic L2 in which the set of the entire one-argument predicate of L1 is the domain of discourse D2, and reconsider the extension / intensional relationship as the relationship between the one-argument predicates of L1.
- This means that the extension / inclusion relationship between data is grasped as the relationship between symbols with the one-term predicate name as the referent and each data expression as the referent, and the nature of the data and the data expression method are treated separately.
- the properties of the data are first discussed in L2, and then the specific representation method of the data is determined so that it has the properties expressed in L2. It is possible to do.
- Equation 3 From this equation, it can be immediately said that the reflection law and the transition law are established for the extension / intensional relationship in L2 as well as in L1. Also, considering two special one-argument predicates T and F of L1 that satisfy the conditions ⁇ x (T (x)) and ⁇ x ( ⁇ F (x)), respectively, T extends all one-argument predicates. Mochi, F has all one-argument predicates inclusive.
- the holomorphic function / predicate of L1 can be extended to the holomorphic function / predicate of L2 as follows.
- the value of the n-term holomorphic function ⁇ in L2 is the one-term predicate of L1
- the subset of D1 corresponding to the one-term predicate is the subset of the function ⁇ in L2, that is, the one-term predicate of L1. It is defined as the set of all values of the function ⁇ in L1 calculated for the original set of all true L1s.
- the DPP according to the present disclosure is based on a concept different from general object-oriented programming.
- general object-oriented programming sharing of data structures is a condition in the definition of inheritance relationships.
- DPP does not require sharing of data structures in the definition of inheritance relationships.
- the extension / intensional relationship is a condition for establishing the inheritance relationship between classes.
- DPP In DPP, users can define inheritance relationships between classes without being restricted by sharing data structures. There is no limit to the number of automatic (implicit) type conversions, the optimal route for type conversion is automatically searched, and the required number of conversions are automatically executed along the searched route.
- DPP type conversion in addition to logically equivalent type conversion (called equivalence cast), type conversion to the extension side (called downcast) and type conversion to the comprehension side (called upcast) Both are automatically executed.
- downcast is executed only when the condition that can be converted to the conversion destination type is defined for each object and the definition is satisfied.
- DPP The language for describing DPP is not limited to C ++, and may be described in any other language as long as it meets the same requirements as those described in this specification and can be implemented in the same manner. ..
- the digital city construction system in the disclosure related to this research and devise is based on the interpreter (DPP) disclosed in the present invention, which has a mechanism for automatically converting the expression format, and a group of element programs for constructing a digital city is accumulated. It is composed of materials, and a digital city is constructed from material data to create the desired data.
- DPP interpreter
- the following three points are considered as requirements.
- (Requirement 1) Provide an interface for instructing the digital city construction system to process.
- (Requirement 2) To function as a wrapper for an existing processing program.
- the processing program can be stored as a library that can be individually developed.
- the relationship between a certain expression format and its data expression corresponds to the relationship between the class and the instance in object-oriented programming, and the extension / inclusion relationship corresponds to the inheritance relationship.
- the user of the digital city construction system will instruct the DPP to process using a kind of object-oriented language.
- the details of the implementation will be described later, but unlike usual, the language understood by DPP does not need to share the data structure between the inherited classes, and the data structure of each class can be freely designed.
- route search that follows the inheritance relationship and automatic type conversion are performed as needed.
- DPP When incorporating an already developed program into DPP, it is inefficient to reimplement the functions of the old program in the new language.
- C ++ language classes and functions are implemented so that they can be handled by wrapping them as DPP classes and functions. This allows DPP to loosely couple the developed data and programs with the disclosure methodology of this study and device.
- DPP class definitions and processing programs related to the classes are compiled individually and implemented so that they can be put together in a dynamic library.
- the library is loaded as needed, and the conversion path is searched and automatic conversion is executed according to the inheritance relationship defined in the library.
- DPP users can freely extend the system by loading their own expression formats and processing programs into a library.
- the DPP class implements the object of the predicate logic L2 defined in the previous section "1.3.”, That is, the one-argument predicate of L1, and has internal data in addition to the case where it is a data representation format. May represent no simple attributes.
- attribute refers to a one-argument predicate of L1 that is not a data representation form.
- the automatic conversion map from the expression format to the attribute is an identity map. Attributes are generally not granular because they are defined across different forms of expression. DPP can also define an ontology description language if it handles only attributes and properly implements holomorphic functions that express the properties of attributes as a concept.
- the automatic conversion of the expression format is implemented so that the route that minimizes the cost can be searched and executed.
- the automatic conversion of the representation format is executed by searching for the path having the lowest cost based on the Dijkstra method, and the cost is set to 0 when the automatic conversion map is an identity map, and in other cases. Can be 1, but is not limited to this.
- nodes and links that do not reach the target are eliminated in advance based on the extension / inclusion relationship.
- FIG. 26 shows an example of automatic conversion of the expression format based on Equation 4 in the case of the one-term function ⁇ of L1.
- a processing program can be implemented for each input representation format, but when the holomorphic function ⁇ ⁇ B> with B as the domain is implemented, if A ⁇ B in DPP, the automatic conversion map B ⁇ A> is defined, and ⁇ ⁇ B> (B ⁇ A> (a)) can be calculated for any data representation of A. It can be seen that the domain of ⁇ ⁇ B> is expanded to include A by the automatic conversion of the expression format.
- Equation 4 if the function ⁇ ⁇ A> is implemented, it is ⁇ ⁇ A> (a) ⁇ ⁇ ⁇ B> (B ⁇ A> (a)) from Equation 4. It is possible to calculate ⁇ (a) in two ways, but it is more appropriate to apply the function and then drop the information as needed than to drop the information by automatic conversion and then apply the function. DPP adopts the latter calculation method when ⁇ ⁇ A> is defined. This is also the case for general n-term functions, and the method of selecting this implemented function is similar to polymorphism in general object-oriented programming.
- Data in the new expression format which is an extension of the old expression format, can be converted to the old expression format under specific conditions, and the old program may be utilized. From the viewpoint of improving the reusability of programs, a flexible data conversion technology is required in which the possibility of automatic conversion is determined depending on the individual data contents. For this reason, DPP further expands the scope of application of the function by checking whether the data expressed in a certain format satisfies a specific condition and executing automatic conversion if the condition is satisfied.
- the present disclosure relating to the embodiment of the invention includes data expressed in a standard and defined format in order to continuously advance the technology for utilizing the data. It is an object of the present invention to provide a loosely coupled method in which both uniquely formatted data optimized for individual purposes are available at the same time. That is, in this disclosure, instead of standardization that expresses data in a uniform format, loose coupling is realized by abstracting data based on automatic data conversion in the representation format, and heterogeneous data and heterogeneous programs are flexibly linked. The purpose is to provide a method. Another object of the present invention is to provide a data interpretation method for extracting information from a wide range of data from new data to old materials using such a loosely coupled method. Furthermore, it is an object of the present disclosure to provide a data integration method that uses such a loosely coupled method to integrate fragmentary information dispersed in a plurality of data to create a model of a data expression target. And.
- DPP introduces and defines an object in which type conversion is automatically executed by the optimum conversion path, unlike objects in general object-oriented programming.
- the inheritance relationship of classes in an object is defined as follows (Condition 1) to (Condition 3).
- Extension 2 An inheritance relationship between classes is recognized when an extension / inclusion relationship is established.
- the first object belongs to the first class with (x, y) coordinates
- the second object belongs to the second class with (r, ⁇ ) coordinates (polar coordinates)
- the first class is Suppose that it is a subclass of the first superclass. If these classes are defined by C ++, there is no inheritance relationship between the first superclass and the second class because of the principle that inheritance relationships cannot be established unless the coordinate representations are the same.
- these classes are defined by the DPP that defines the object, inheritance will occur if the extension / inclusion relationship is established, so inheritance between the first superclass and the second class. There will be a relationship.
- extension / inclusion relationship corresponds to the "is-a relationship” in object-oriented programming. Further, here, the establishment of the extension / inclusion relationship is described in the above-mentioned "1.3. Definition of logical equivalence between data”.
- FIG. 3A is a diagram showing another situation of mediation data by automatic data conversion.
- the data in FIG. 3A that is, "source 1", “source 2”, “source 3”, “mediation data 1”, “mediation data 2”, “mediation data 3", "target 1", “target 2", “Target 3” is all objectified.
- Each name is a class name (model name).
- “mediation data 1” is set as an intermediary for conversion from “source 1” and “source 2” to “target 1” and “target 2", and from “source 3” to “source 3”. It is assumed that “mediation data 3” is set as an intermediary for conversion to "target 3". Further, it is assumed that the class “mediation data 2" is set between the “mediation data 1" and the “mediation data 3”. In this case, for example, conversion from “source 1” and “source 2” to “target 3” can be newly realized via “mediation data 1", “mediation data 2", and “mediation data 3". .. Similarly, the conversion from “source 3" to "target 1” and “target 2” can be newly realized via “mediation data 3", “mediation data 2", and “mediation data 1".
- the arrows between the data that are classes indicate the inheritance relationship.
- the class is defined.
- source 1 and target 1 as indicated by the arrow, "source 1" is a subclass and "target 1" is a superclass.
- FIG. 3B is a diagram showing an operation example of the interpreter.
- “mediation data 1" is set as an intermediary for conversion from “source 1” to “target 1", and from “source 2" and “source 3” to “target 2" and “target 3”.
- “mediation data 2” is set as an intermediary for the conversion of, and that there is no mediation for conversion from “source 3” to "target 3”.
- mutual conversion is set between “mediation data 1" and "mediation data 2”.
- the interpreter plays a role of hiding the complicated processing of the portion G surrounded by the "processing Generate” from the user.
- the interpreter internally generates intermediary data as needed and then performs automatic data conversion. For example, consider the conversion from "source 3" to "target 1" in the case shown in FIG. 3B. At this time, a route of "source 3"-> “mediation data 2"-> “mediation data 1"-> “target 1” can be assumed.
- the interpreter grasps the conversion relationship (that is, inheritance relationship) of each class, and generates necessary mediation data based on the conversion relationship from the actual "source 3" to the "target 1".
- the interpreter is configured to assume multiple transformation paths and calculate the cost of the transformation (eg, the number of times the transformation (inheritance) indicated by the arrow is used) for each before the actual transformation. ..
- classes A and B have different expression formats because the data storage order is different.
- class A ⁇ double x; double y; ⁇ ; class B ⁇ double y; double x; ⁇ ;
- a programming language is also one of the expression formats for expressing instructions to a computer, and different programming languages such as C ++, C, fortran, and python have different expression formats.
- a tree structure in which objects are associated with nodes (an example of a graph).
- a tree structure generally consists of a node that is a component of the tree structure and a parent-child relationship between two nodes, and each node has at most one node that is the parent of the parent-child relationship.
- a node that does not have a node that is the parent of a parent-child relationship is specially called a root node, and there is only one node in the tree structure.
- the tree structure in the present disclosure has only one object associated with each node, and it is possible to associate the same object with nodes having different tree structures.
- the parent-child relationship of the tree structure in the present disclosure is a binary relation defined by the predicate logic L2 of the data processing platform.
- the parent-child relationship defined in predicate logic L2 for the new data type after the downcast causes a child node for that node. Can occur anew. That is, downcasting of the objects associated with each node of the tree structure can grow the tree structure.
- FIG. 1 is a diagram showing a physical configuration of the data interpretation device 2 according to the present embodiment.
- the data interpretation device 2 includes a control unit 4 corresponding to a hardware processor, a RAM (RandomAccessMemory) 6 corresponding to a memory, a ROM (ReadOnlyMemory) 8 corresponding to a memory, a communication unit 12, and an input unit. It has 14 and an output unit 16. Each of these configurations is connected to each other via the bus 10 so that data can be transmitted and received.
- the control unit 4 controls the execution of the program stored in the RAM 6 or the ROM 8, calculates and processes the data.
- the control unit 4 is an arithmetic unit that executes various programs (for example, a program for data interpretation).
- the control unit 4 receives various input data from the input unit 14 and the communication unit 12, displays the calculation result of the input data in the output unit 16, stores it in the RAM 6 or ROM 8, and transfers it to an external server through the communication unit 12. To do.
- the control unit 4 is composed of a CPU (Central Processing Unit) and the like.
- the RAM 6 is a storage unit capable of rewriting data, and is composed of, for example, a semiconductor storage element.
- the RAM 6 stores programs and data such as applications executed by the control unit 4.
- the ROM 8 is a storage unit capable of only reading data, and is composed of, for example, a semiconductor storage element.
- the ROM 8 stores programs and data such as firmware.
- the communication unit 12 is a communication interface that connects the data interpretation device 2 to the external network 20.
- the input unit 14 receives data input from the user, and is composed of, for example, a keyboard, a mouse, a touch panel, and a scanner.
- data input is composed of, for example, a keyboard, a mouse, a touch panel, and a scanner.
- image data raster data
- image data can be acquired using a scanner.
- the output unit 16 visually displays the calculation result of the control unit 4, and is composed of, for example, an LCD (Liquid Crystal Display).
- the program for data interpretation may be stored and provided in a computer-readable storage medium such as RAM 6 or ROM 8, or provided from the external server 24 via the external network 20 connected by the communication unit 12. May be done. It is preferable that the CAD data and the object based on the CAD data are provided from the external server 24 or the like via the external network 20 connected by the communication unit 12.
- various functions such as the acquisition unit 5a and the interpretation unit 5b are realized by the control unit 4 executing the program for data interpretation. It should be noted that these physical configurations are examples and do not necessarily have to be independent configurations.
- the data interpretation device 2 may include an LSI (Large-Scale Integration) or a super LSI in which a CPU and a RAM 6 or a ROM 8 are integrated.
- the control unit 4 is provided with a platform (here, a data processing platform) 5.
- the platform 5 includes a functional block that includes an acquisition unit 5a and an interpretation unit 5b.
- the acquisition unit 5a acquires the input data as an object.
- the input data may be structured data or unstructured data.
- the interpretation unit 5b creates an initial tree structure for the object acquired by the acquisition unit 5a. Further, the interpretation unit 5b interprets the input data as the result of automatically growing the tree structure from the initial tree structure. In this interpretation, the interpretation unit 5b appropriately performs type conversion of the object associated with each node of the tree structure to the extension side or the inclusion side.
- FIG. 4 is an example of a general view of the pier structure showing the pier structure, and is composed of CAD data.
- the data of the general drawing of the pier structure, which is CAD data includes line segments, curves, character strings, etc. as components, and the collection of components is a "figure” such as a plan view or a front view, and a "table” such as various tables. Can be interpreted as.
- FIG. 6 is a diagram showing an object (class name “LineBuf2D”) composed of lines in the “general view of pier structure”. As objects, 16 objects from "A" to "P” are shown.
- FIG. 7 is a diagram showing that an object of a group of lines (class name “LineBuf2D”) is downcast to the subclass “CellSet”, and the candidates for the “title block” are the remaining eight objects.
- Objects "A”, “B”, “C”, “D”, “E”, “F”, “K”, and “L” are candidates for the "title block”.
- a function for downcasting from the class "LineBuf2D" to the subclass "CellSet” is defined in advance. I will do it.
- a function defined in advance for downcasting from a superclass to a subclass is referred to as an input function. Those that fail to downcast will be excluded from the "title block" candidates.
- a value that indicates how likely it is to downcast from a superclass to a subclass in excluding an object of a collection of lines (class name "LineBuf2D") that cannot be interpreted as a set of cells (eg, cells).
- a value that indicates the percentage of probability that an object interpreted as a set of cells is actually a set of cells), and accuracy can be given to the object when converting to a subclass (when executing an input function). It is also possible to refer to the accuracy given to the superclass when calculating the accuracy.
- the downcast is a function that determines from the internal data of the class whether it is possible to downcast in advance in the class (called is function) and a function that executes the actual downcast (cast function) regardless of the input function. Is executed based on.
- the downcast by the is function and the cast function is called the downcast by analysis / classification.
- the "title block” is interpreted as described above.
- FIG. 21 shows the process of recognizing the “title column” defined in the CAD drafting standard (Ministry of Land, Infrastructure, Transport and Tourism).
- CAD drafting standard Ministry of Land, Infrastructure, Transport and Tourism.
- FIG. 21 (1) a group of connected line segments is extracted, and it is determined from the arrangement status of the line segments whether or not it is a "table framework”. ..
- FIG. 21 (2) when the "table framework" is determined, the information of each cell of the table is recorded in the object expressing it.
- FIG. 6 is a diagram showing an object composed of lines in the “general view of pier structure”. As objects, 16 objects from “A” to "P" are shown.
- FIG. 9 is a diagram showing the remaining eight cells after excluding those that are not the subclass “View” from the object of a group of lines (class name “LineBuf2D”).
- the cells "G”, “H”, “I”, “J”, “M”, “N”, “O” and “P” are left.
- an object is a "pier front view”
- a given item in the object's internal data, here the layer and see if there are any child elements of the object that belong to the main structure (D-STR) layer. Analyze and classify. If not all elements of an object belong to the main structure (D-STR) layer, the object is excluded from the "Pier front view” candidates. In FIG. 10, among the eight objects of the class name View shown in FIG. 9, those that do not belong to the main structure (D-STR) layer are excluded, and “H”, “I”, “J”, Seven are shown with "M", "N", “O” and "P".
- downcasting using the input function (called downcasting by inputting information)
- additional information in addition to the unique internal data that each object has.
- a character string as a title is input from CAD data to an object of the class "View”, and it is interpreted as a "pier front view”.
- the drawing "front view of the pier” is interpreted.
- FIGS. 13 (1) and 13 (2) For various views such as front views and plan views, pay attention to the lines as shown in FIGS. 13 (1) and 13 (2). That is, the data that is a collection of lines is made into an object (class name "LineBuf2D").
- FIGS. 13 (2), 13 (3), and 13 (4) after inputting dimensional values and the like from the drawing, it is interpreted as an object with the class name "View", and further. Interpret as an object with the class name "front view of pier”. Furthermore, information that the height of the pillar of the pier is 11 m is obtained from the projection surface of the dimensional value and the internal data of "View".
- FIGS. 14 (1) and 14 (2) For various tables, pay attention to the lines as shown in FIGS. 14 (1) and 14 (2). That is, the data that is a collection of lines is made into an object (class name "LineBuf2D"). Next, as shown in FIGS. 14 (2) and 14 (3), it is interpreted as an object having the class name “CellSet”. Next, as shown in FIGS. 14 (3) and 14 (4), after inputting the cell contents such as a character string from the drawing, it is interpreted as an object of the class name "Table”, and further, the class Interpreted as an object with the name "substructure coordinates".
- an object of a set of lines (class name "LineBuf2D") is interpreted as an object of a set of cells (class name “CellSet”), and the contents are further contained in a plurality of cells. It is interpreted as a filled object (class name "Table”) or an object containing only one cell (class name "Cell”).
- an object of a collection of lines (class name "LineBuf2D”) is interpreted as an object (class name "View”) that is a diagram with dimension values.
- the information on the drawing is input as additional information from the input data to the object (class name "CellSet”) of the set of cells. It can be interpreted as an object with the class name "Table”.
- FIG. 27 is an example of a script for interpreting the 2D-CAD drawing "006_P2 pier structure general diagram.dxf".
- This script is an example of a language understood by the data processing platform according to the present disclosure.
- the data processing platform of the present disclosure may be an interpreter other than the interpreter created by the present inventor as long as the requirements described above are satisfied.
- the script may also be in a language understood by the other interpreter.
- the data integration device 2' according to the present embodiment integrates fragmentary information distributed in a plurality of data to create a model of data expression target.
- FIG. 22 is a diagram showing a physical configuration of the data integration device 2'according to the present embodiment.
- the data integration device 2' is input to a control unit 4 corresponding to a hardware processor, a RAM (RandomAccessMemory) 6 corresponding to a memory, a ROM (ReadOnlyMemory) 8 corresponding to a memory, and a communication unit 12. It has a unit 14 and an output unit 16. Each of these configurations is connected to each other via the bus 10 so that data can be transmitted and received.
- the communication unit 12 is a communication interface for connecting the data integration device 2'to the external network 20, and the data integration device 2'also connects to the external server 24 via the external network 20 connected by the communication unit 12.
- the RAM 6, ROM 8, communication unit 12, input unit 14, output unit 16, and bus 10 are the same as those according to the first embodiment shown in FIG.
- the control unit 4 is provided with a platform (here, a data processing platform) 5.
- the platform 5 includes a functional block that includes an acquisition unit 5a, an interpretation unit 5b, and an integration unit 5c.
- the acquisition unit 5a acquires the input data as an object.
- the input data may be structured data or unstructured data.
- Interpretation unit 5b creates an initial tree structure for the object. Further, the interpretation unit 5b interprets the input data as the result of automatically growing the tree structure from the initial tree structure. In this interpretation, the interpretation unit 5b appropriately performs type conversion of the object associated with each node of the tree structure to the extension side or the inclusion side.
- the integration unit 5c creates an initial tree structure for each representation target of the object acquired by the acquisition unit 5a.
- the integration unit 5c causes the object acquired by the acquisition unit 5a to interpret the interpretation unit 5b as appropriate, and reads the fragmentary information to be expressed.
- the integration unit 5c gives one or a plurality of fragmentary information to the initial tree structure as additional information, and constructs the result of automatically growing the tree structure from the initial tree structure as integrated data.
- the integrated data is a model to be represented. In the construction of the integrated data, the integration unit 5c appropriately performs type conversion of the object associated with each node of the tree structure to the extension side or the inclusion side.
- the data integration device 2' integrates a plurality of fragmentary information extracted from a plurality of data as materials to construct desired data.
- the data integration device 2' automatically converts the data structure of objects having different representation formats, automatically searches for the type conversion route, and automatically configures the integrated data.
- FIG. 5 Operation of data integration device
- the flow of the digital bridge automatic construction method according to the present disclosure is shown in FIG.
- the input data group is interpreted individually, and a plurality of information is extracted from the interpretation result.
- a digital bridge is constructed by grouping and integrating information for each object of expression.
- the process of automatic construction of digital bridges consists of the following three. (1) Process of interpreting data (2) Information extraction process (3) Identification / integration process Note that the first embodiment is an example including (1) and (2), and the second embodiment is (1). Including up to (3).
- the integration of multiple pieces of information obtained in the information extraction process is performed by creating one graph from multiple pieces of information.
- This graph includes the expression objects (for example, "P1 pier” and "A2 pier") identified from the information as a part of the graph, and the information about each expression object is also aggregated and integrated as a part of the graph.
- automatic structuring is carried out by growing the tree structure as in the interpretation of the drawing.
- the tree structure that is the target of automatic structuring is a part of the graph, and the parent-child relationship of the tree structure can be the relationship between all and parts of the nodes (for example, the relationship between the pier and its foundation).
- the initial tree structure may be a single node that abstractly represents the object of representation (eg, an object associated with a node if only known to be a pier).
- the growth of the tree structure is performed by creating more detailed objects on the extension side from the objects on the inclusion side according to the extension / inclusion relationship between the objects. This is equivalent to a downcast in object-oriented programming, and a normal downcast that considers only the internal data of the object cannot be executed properly due to lack of information. However, in this process, it may be appropriately executed by referring to a part of the graph reflecting the information extracted from the drawing.
- the more detailed object created in this case can be regarded as an integration of the information represented as a graph.
- the graph may be modified by engineering knowledge or some estimation technique.
- each sentence is represented by a graph, the nodes of each graph are identified, and the contents are integrated into one graph.
- some sentences may describe a rule for modifying the integrated graph without being represented by a graph, and the graph may be modified as appropriate by applying this rule.
- FIG. 20 shows an example in which a three-dimensional model of a pier was automatically constructed by trial.
- the projection plane of the structure is automatically created from the "front view of the pier”, the "plan view of the pier”, and the "side view of the pier”, and a three-dimensional model is automatically created from the projection plane of the structure.
- FIG. 12A is a view showing how the projection plane of the structure is automatically created from the front view, the plan view, and the side view
- FIG. 12B is a view in which a three-dimensional model is automatically created from the projection plane of the structure. It is a figure which shows the state.
- Embodiments 1 and 2 have been described as examples of the techniques disclosed in the present application. However, the technique in the present disclosure is not limited to this, and can be applied to embodiments in which changes, replacements, additions, omissions, etc. are made as appropriate.
- 2 ... Data interpretation device, 2'... Data integration device, 4 ... Control unit, 5 ... Platform, 5a ... Acquisition unit, 5b ... Interpretation unit, 5c ... Integration unit , 6 ... RAM, 8 ... ROM, 10 ... Bus, 12 ... Communication section, 14 ... Input section, 16 ... Output section, 20 ... External network, 24 ... -External server.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Architecture (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
- Stored Programmes (AREA)
Abstract
This data interpretation device is provided with a platform for automatically executing type conversion of an object. The platform is provided in a control unit of the data interpretation device, and includes a capture unit and an interpretation unit. The capture unit captures input data as platform objects. The interpretation unit performs interpretation by creating an initial graph with respect to the objects and automatically growing a graph starting from the initial graph while appropriately executing type conversion of the object associated with each node of the graph to the extension side or the intension side.
Description
本発明は、データ解釈装置、方法及びプログラム、データ統合装置、方法及びプログラム、並びにデジタル都市構築システムに関する。
The present invention relates to a data interpretation device, a method and a program, a data integration device, a method and a program, and a digital city construction system.
科学技術基本計画のSociety5.0が前提とするサイバー空間とフィジカル空間の高度な融合を現実的なコストで実現していくためには、新規構造物に対して新しい試みを実施していくだけでなく、古いインフラ構造物に対して膨大に蓄積されてきた設計図面等の資料を活用していくことが不可欠である。しかし、古い資料は基本的に人間が目で見て解釈するように表現されているため、広域かつ高解像度なシミュレーションへの活用には莫大なコストが必要となる。
In order to realize the advanced fusion of cyberspace and physical space, which is the premise of Society 5.0 of the Science and Technology Basic Plan, at a realistic cost, we will not only carry out new trials for new structures. It is indispensable to utilize materials such as design drawings that have been accumulated enormously for old infrastructure structures. However, since old materials are basically expressed so that they can be visually interpreted by humans, a huge cost is required to utilize them for wide-area and high-resolution simulations.
1980年代以降に、設計図面から3次元モデルを自動構築する研究は数多くなされてきたが(非特許文献1)、図面の要素(線や文字)をボトムアップに組み上げていく手法に頼っていたために、部分の解釈失敗が全体に波及して3次元化が破綻し、複雑な図面に対応できない困難があった。
Since the 1980s, many studies have been conducted to automatically construct 3D models from design drawings (Non-Patent Document 1), but because they relied on a method of assembling drawing elements (lines and characters) from the bottom up. , There was a difficulty that it was not possible to deal with complicated drawings because the failure to interpret the part spread to the whole and the three-dimensionalization collapsed.
近年は、図面をCADシステムに取り込んで半自動で3次元化を行う技術が主流となっている。しかし、この技術の利用にはCADシステムと設計図面の両方の知識をもつ技術者が必要であり、多数の構造物の3次元化にはやはり膨大なコストを要する。
In recent years, the technology of importing drawings into a CAD system and semi-automatically making them three-dimensional has become the mainstream. However, the use of this technology requires engineers who have knowledge of both CAD systems and design drawings, and it still requires enormous costs to make a large number of structures three-dimensional.
設計図面を自動解釈して3次元モデルを自動構築する技術は古くから開発されてきているが、完全な情報抽出が難しく3次元モデルの汎用的で堅牢(ロバスト)な自動構築は実用化されていない。不完全な図面の自動解釈結果に対しても柔軟かつ堅牢に3次元モデルが構築できる汎用的な方法論が求められている。さらに、その3次元モデルは、多目的な用途、例えば高解像度な数値シミュレーションに使用可能であることが求められている。
Technology for automatically interpreting design drawings and automatically constructing 3D models has been developed for a long time, but it is difficult to completely extract information, and general-purpose and robust automatic construction of 3D models has been put into practical use. Absent. There is a need for a general-purpose methodology that can flexibly and robustly construct a 3D model even for the results of automatic interpretation of incomplete drawings. Further, the three-dimensional model is required to be usable for various purposes such as high-resolution numerical simulation.
基本的に人間が目で見て解釈するように表現されていて、コンピュータがそのままでは情報を抽出できないデータを、「非構造化データ」と称する。例えば、2D-CAD図面は非構造化データであり、線や曲線、文字列等の要素から構成されているが、必ずしも要素の集まりがもつ「図」であるとか「表」であるなどの意味が明示的に記述されておらず、人間は目で見て「図」や「表」であると解釈し情報を読み取る。非構造化データには、2D-CAD図面の他に、ピクセルを要素とする画像や、点を要素とする点群データがある。また、一般に、非構造化データと呼ばれないデータについても必要な情報が直接抽出できない場合には非構造化データとみなしてよい。非構造化データを、その要素のデータと要素間の関係(位置関係を含む)に基づいてコンピュータが意味を自動的に解釈して断片的な情報を読み取る技術が求められている。
Data that is basically expressed so that it can be visually interpreted by humans and that cannot be extracted by a computer as it is is called "unstructured data". For example, a 2D-CAD drawing is unstructured data and is composed of elements such as lines, curves, and character strings, but it does not necessarily mean that it is a "figure" or "table" that a collection of elements has. Is not explicitly described, and human beings visually interpret it as a "figure" or "table" and read the information. In addition to 2D-CAD drawings, unstructured data includes images with pixels as elements and point cloud data with points as elements. Further, in general, data that is not called unstructured data may be regarded as unstructured data when necessary information cannot be directly extracted. There is a need for a technique in which a computer automatically interprets the meaning of unstructured data based on the relationship between the element data and the element (including the positional relationship) and reads fragmentary information.
2D-CAD図面に含まれる図や表は、2D-CAD図面で表現しようとするフィジカル空間の対象(例えば、ある構造物)の断片的な情報を表現したものであり、2D-CAD図面の表現対象そのもの(すなわち、フィジカル空間の対象)ではなく、表現対象の模型でもない。ここで、「模型」は表現対象のバーチャル空間における対応物を称している。また、「断片的な情報」は、必ずしも表現対象の模型を作成するために十分でなく、他の情報と統合して表現対象の模型を作成してもよい情報のことを称している。ある対象(例えば、構造物)について、低いコストでその対象の模型を作成するためには、個別の目的に応じて作成される、新規なデータから古い資料(データの一種)までの複数かつ異種のデータを活用することが求められ、複数のデータに分散している断片的な情報を統合して表現対象の模型を作成する技術が必要とされる。
The figures and tables included in the 2D-CAD drawing represent fragmentary information of the object (for example, a certain structure) in the physical space to be represented in the 2D-CAD drawing, and represent the 2D-CAD drawing. It is neither the object itself (that is, the object in physical space) nor the model of the object of expression. Here, the "model" refers to a corresponding object in the virtual space to be expressed. Further, "fragmentary information" refers to information that is not always sufficient to create a model to be expressed and may be integrated with other information to create a model to be expressed. In order to create a model of an object (for example, a structure) at low cost, multiple and different types of data, from new data to old data (a type of data), are created according to individual purposes. It is required to utilize the data of the above, and a technology to create a model to be expressed by integrating fragmentary information distributed in a plurality of data is required.
データ爆発といわれる急激なデータの増加と、数十年続いている計算機性能の指数関数的な向上に対応して、データを活用する技術を継続的に高度化していくためには、プログラムの高い再利用性が必要である。しかし、一般に、個別開発されるプログラムは個々の目的に最適化された独自の形式のデータを読み書きし、プログラムの間の連携のために、素朴にはプログラムの組み合わせの数だけのデータ変換プログラムが必要となる。これは再利用のコストが著しく低いことを意味し、素朴な対処で継続的に技術を高度化することは実現不可能である。この問題に対しては、標準の表現形式を定める対処が一般的であるが、表現形式を一律的かつ固定的に定めると、データ提供者およびデータ利用者が、データ形式を独自に工夫することを制限する。また、固定的な表現形式にすべてのプログラムが依存するために、技術が硬直化する。
In order to continuously improve the technology that utilizes data in response to the rapid increase in data called data explosion and the exponential improvement of computer performance that has continued for decades, the program is expensive. Reusability is required. However, in general, individually developed programs read and write data in a unique format optimized for each purpose, and for cooperation between programs, there are simply as many data conversion programs as there are combinations of programs. You will need it. This means that the cost of reuse is extremely low, and it is not feasible to continuously advance the technology with simple measures. It is common to deal with this problem by defining a standard expression format, but if the expression format is defined uniformly and fixedly, data providers and data users will have to devise their own data format. To limit. In addition, the technology becomes rigid because all programs depend on a fixed expression form.
本発明は、データを活用するための技術を継続的に高度化するために、標準と定められた形式で表現されたデータと、個々の目的に最適化された独自形式のデータの両方が同時に利用可能となる疎結合の方法を提供する。また、新規なデータから古い資料までの幅広いデータから情報を抽出するためのデータ解釈装置、方法及びプログラムを提供する。更に、複数のデータに分散している断片的な情報を統合してデータの表現対象の模型を作成するデータ統合装置、方法及びプログラムを提供する。また、デジタル都市プラットフォームも提供する。
In the present invention, in order to continuously advance the technology for utilizing data, both the data expressed in the standard and defined format and the data in the original format optimized for each purpose are simultaneously used. Provide a loosely coupled method that becomes available. It also provides data interpreters, methods and programs for extracting information from a wide range of data, from new data to old data. Further, a data integration device, a method, and a program for creating a model of a data expression target by integrating fragmentary information distributed in a plurality of data are provided. It also provides a digital city platform.
本開示においては、課題を解決するための手段の一例として、2次元設計図面を堅牢に自動解釈し、解釈結果の精度に応じて異なる詳細度の3次元モデルを柔軟に自動構築するための手法を提示する。
In the present disclosure, as an example of means for solving a problem, a method for robustly and automatically interpreting a two-dimensional design drawing and flexibly and automatically constructing a three-dimensional model having different degrees of detail according to the accuracy of the interpretation result. To present.
本願においては、図面の要素をボトムアップに組み上げるだけでなく、図形のコンテキストを自動的に特定することで、図形に適合する意味付けをトップダウンに推定しその意味付けに応じて図面から情報を補う図面解釈方法を開示している。これは、具体的には、図面の要素がノードに関連付けられた木構造を、全体と部分の関係を親子関係として自動成長(自動構造化)させていくことで実現する。
In the present application, not only the elements of the drawing are assembled bottom-up, but also the context of the figure is automatically specified to estimate the meaning suitable for the figure from the top down and information is obtained from the drawing according to the meaning. The supplementary drawing interpretation method is disclosed. Specifically, this is realized by automatically growing (automatically structuring) the tree structure in which the elements of the drawing are associated with the nodes, with the relationship between the whole and the part as a parent-child relationship.
この方法は、もし解釈に失敗しても、木構造が成長しない、つまり解釈の精度が向上しないだけで全体が破綻することのない堅牢な手法である。本研究では、この自動構造化手法を3次元モデルの自動構築でも採用する。これにより、図面の解釈の精度に応じて柔軟に詳細度の異なる3次元モデルを自動構築することが可能となる。本研究の手法で自動構築される3次元モデルは、全体と部分の関係に基づいて情報が整理されており、その形状だけでなく、構造物の内部構造や物性など多岐にわたる情報が保持され得るため、多目的な用途への応用が期待できる。
This method is a robust method in which even if the interpretation fails, the tree structure does not grow, that is, the accuracy of the interpretation does not improve and the whole does not collapse. In this research, this automatic structuring method is also adopted for the automatic construction of 3D models. This makes it possible to flexibly and automatically construct 3D models having different degrees of detail according to the accuracy of drawing interpretation. In the 3D model automatically constructed by the method of this research, information is organized based on the relationship between the whole and the part, and not only the shape but also various information such as the internal structure and physical properties of the structure can be retained. Therefore, it can be expected to be applied to various purposes.
また、本発明では、オブジェクト間の外延・内包関係に基づく自動的な型変換を実行するオブジェクト指向プログラミングが可能なインタプリタを構築し、データの解釈時およびデータの統合時に、適宜、より詳細な外延側のオブジェクトを内包側のオブジェクトから作成する(ダウンキャスト)。一般的なオブジェクト指向プログラミングにおいては、情報が足りないために適切な実行ができないダウンキャストが、本発明の手法では可能である。
Further, in the present invention, an interpreter capable of object-oriented programming that executes automatic type conversion based on the extension / inclusion relationship between objects is constructed, and more detailed extension is appropriately applied when interpreting data and integrating data. Create the side object from the inclusion side object (downcast). In general object-oriented programming, downcasting that cannot be properly executed due to lack of information is possible with the method of the present invention.
すなわち、本発明は以下のとおりである。
[1]オブジェクトの型変換を自動実行するプラットフォームを備えたデータ解釈装置であって、前記プラットフォームは、前記データ解釈装置の制御部に設けられ、獲得部及び解釈部を有しており、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得し;前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行う;ように、制御部を動作させる、データ解釈装置。
[2]前記解釈部は、前記オブジェクト間の外延・内包関係に基づいて前記オブジェクトの外延側への型変換であるダウンキャストを実行し、前記ダウンキャスト後のオブジェクトに関連付けられるノードを前記グラフに追加させることで、前記グラフを自動成長させる、[1]に記載のデータ解釈装置。
[3]オブジェクトの型変換を自動実行するプラットフォームを用いたデータ解釈方法であって、前記プラットフォームは、コンピュータの制御部に設けられ、獲得部及び解釈部を有しており、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行うステップ;を実行する、データ解釈方法。
[4]コンピュータが実行するプログラムであって、当該コンピュータの制御部に備えられ、獲得部及び解釈部を有し、オブジェクトの型変換を自動実行するプラットフォームにおいて、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行うステップ;を行うように、制御部を動作させる、プログラム。
[5]オブジェクトの型変換を自動実行するプラットフォームを備えたデータ統合装置であって、当該プラットフォームは制御部に設けられ、獲得部及び解釈部を有しており、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得し;前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行い、1以上の前記オブジェクトを統合した統合データを構築する;ように、制御部を動作させる、データ統合装置。
[6]オブジェクトの型変換を自動実行するプラットフォームを用いたデータ統合方法であって、前記プラットフォームはコンピュータの制御部に設けられ、獲得部及び解釈部を有しており、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;前記解釈部が、オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行い、1以上の前記オブジェクトを統合した統合データを構築するステップ;
を実行する、データ統合方法。
[7]コンピュータが実行するプログラムであって、当該コンピュータの制御部に備えられ、獲得部及び解釈部を有し、オブジェクトの型変換を自動実行するプラットフォームにおいて、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;前記解釈部が、オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行い、1以上の前記オブジェクトを統合した統合データを構築するステップ;を行うように、コンピュータの制御部を動作させる、プログラム。
[8]データの表現形式を自動変換するプラットフォームであって、
所定の要素プログラムを有し、任意の表現形式の入力及び出力をもつ複数のプログラムが、表現形式の自動変換によってデータを介して疎結合されており、統合データの表現対象が都市又は構造物である、デジタル都市構築プラットフォーム。 That is, the present invention is as follows.
[1] A data interpretation device provided with a platform for automatically executing type conversion of an object. The platform is provided in a control unit of the data interpretation device, has an acquisition unit and an interpretation unit, and has the acquisition unit. The unit acquires the input data as an object of the platform; the interpreting unit creates an initial graph for the object and performs a type conversion of the object associated with each node of the graph to the extension side or the inclusion side. A data interpretation device that operates a control unit so as to perform interpretation by automatically growing a graph from the initial graph while executing as appropriate.
[2] The interpreting unit executes downcasting, which is a type conversion of the object to the extension side based on the extension / inclusion relationship between the objects, and displays the nodes associated with the downcast object in the graph. The data interpretation device according to [1], wherein the graph is automatically grown by adding the data.
[3] A data interpretation method using a platform that automatically executes type conversion of an object. The platform is provided in a control unit of a computer and has an acquisition unit and an interpretation unit. The step of acquiring input data as an object of the platform; the interpreter creates an initial graph for the object and appropriately performs type conversion of the object associated with each node of the graph to the extension side or the inclusion side. At the same time, a data interpretation method for executing the step of performing interpretation by automatically growing a graph from the initial graph.
[4] In a program executed by a computer, which is provided in a control unit of the computer, has an acquisition unit and an interpretation unit, and automatically executes type conversion of an object, the acquisition unit inputs input data. The step of acquiring as an object of the platform; the interpreter creates an initial graph for the object and appropriately performs type conversion of the object associated with each node of the graph to the extension side or the inclusion side. A program that operates a control unit to perform the step of interpreting by automatically growing a graph from an initial graph.
[5] A data integration device provided with a platform for automatically executing type conversion of an object. The platform is provided in a control unit, has an acquisition unit and an interpretation unit, and the acquisition unit receives input data. Acquired as an object of the platform; the interpreter creates an initial graph for the object and appropriately performs type conversion of the object associated with each node of the graph to the extension side or the inclusion side. A data integration device that operates a control unit so as to interpret by automatically growing a graph from an initial graph and construct integrated data that integrates one or more of the above objects.
[6] A data integration method using a platform that automatically executes type conversion of an object. The platform is provided in a control unit of a computer, has an acquisition unit and an interpretation unit, and the acquisition unit inputs. The step of acquiring data as an object of the platform; while the interpreter creates an initial graph for the object and appropriately performs type conversion of the object associated with each node of the graph to the extension side or the inclusion side. , A step of interpreting by automatically growing a graph from the initial graph and constructing integrated data in which one or more of the objects are integrated;
How to integrate data.
[7] In a platform that is a program executed by a computer, is provided in a control unit of the computer, has an acquisition unit and an interpretation unit, and automatically executes type conversion of an object, the acquisition unit inputs input data. The step of acquiring as an object of the platform; the initial graph is created for the object, and the type conversion of the object associated with each node of the graph to the extension side or the inclusion side is appropriately performed. A program that operates a computer control unit to perform an interpretation by automatically growing a graph from a graph and to construct integrated data that integrates one or more of the above objects.
[8] A platform that automatically converts the data representation format.
A plurality of programs having a predetermined element program and having inputs and outputs of arbitrary expression formats are loosely coupled via data by automatic conversion of the expression format, and the expression target of the integrated data is a city or a structure. There is a digital city building platform.
[1]オブジェクトの型変換を自動実行するプラットフォームを備えたデータ解釈装置であって、前記プラットフォームは、前記データ解釈装置の制御部に設けられ、獲得部及び解釈部を有しており、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得し;前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行う;ように、制御部を動作させる、データ解釈装置。
[2]前記解釈部は、前記オブジェクト間の外延・内包関係に基づいて前記オブジェクトの外延側への型変換であるダウンキャストを実行し、前記ダウンキャスト後のオブジェクトに関連付けられるノードを前記グラフに追加させることで、前記グラフを自動成長させる、[1]に記載のデータ解釈装置。
[3]オブジェクトの型変換を自動実行するプラットフォームを用いたデータ解釈方法であって、前記プラットフォームは、コンピュータの制御部に設けられ、獲得部及び解釈部を有しており、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行うステップ;を実行する、データ解釈方法。
[4]コンピュータが実行するプログラムであって、当該コンピュータの制御部に備えられ、獲得部及び解釈部を有し、オブジェクトの型変換を自動実行するプラットフォームにおいて、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行うステップ;を行うように、制御部を動作させる、プログラム。
[5]オブジェクトの型変換を自動実行するプラットフォームを備えたデータ統合装置であって、当該プラットフォームは制御部に設けられ、獲得部及び解釈部を有しており、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得し;前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行い、1以上の前記オブジェクトを統合した統合データを構築する;ように、制御部を動作させる、データ統合装置。
[6]オブジェクトの型変換を自動実行するプラットフォームを用いたデータ統合方法であって、前記プラットフォームはコンピュータの制御部に設けられ、獲得部及び解釈部を有しており、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;前記解釈部が、オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行い、1以上の前記オブジェクトを統合した統合データを構築するステップ;
を実行する、データ統合方法。
[7]コンピュータが実行するプログラムであって、当該コンピュータの制御部に備えられ、獲得部及び解釈部を有し、オブジェクトの型変換を自動実行するプラットフォームにおいて、前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;前記解釈部が、オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行い、1以上の前記オブジェクトを統合した統合データを構築するステップ;を行うように、コンピュータの制御部を動作させる、プログラム。
[8]データの表現形式を自動変換するプラットフォームであって、
所定の要素プログラムを有し、任意の表現形式の入力及び出力をもつ複数のプログラムが、表現形式の自動変換によってデータを介して疎結合されており、統合データの表現対象が都市又は構造物である、デジタル都市構築プラットフォーム。 That is, the present invention is as follows.
[1] A data interpretation device provided with a platform for automatically executing type conversion of an object. The platform is provided in a control unit of the data interpretation device, has an acquisition unit and an interpretation unit, and has the acquisition unit. The unit acquires the input data as an object of the platform; the interpreting unit creates an initial graph for the object and performs a type conversion of the object associated with each node of the graph to the extension side or the inclusion side. A data interpretation device that operates a control unit so as to perform interpretation by automatically growing a graph from the initial graph while executing as appropriate.
[2] The interpreting unit executes downcasting, which is a type conversion of the object to the extension side based on the extension / inclusion relationship between the objects, and displays the nodes associated with the downcast object in the graph. The data interpretation device according to [1], wherein the graph is automatically grown by adding the data.
[3] A data interpretation method using a platform that automatically executes type conversion of an object. The platform is provided in a control unit of a computer and has an acquisition unit and an interpretation unit. The step of acquiring input data as an object of the platform; the interpreter creates an initial graph for the object and appropriately performs type conversion of the object associated with each node of the graph to the extension side or the inclusion side. At the same time, a data interpretation method for executing the step of performing interpretation by automatically growing a graph from the initial graph.
[4] In a program executed by a computer, which is provided in a control unit of the computer, has an acquisition unit and an interpretation unit, and automatically executes type conversion of an object, the acquisition unit inputs input data. The step of acquiring as an object of the platform; the interpreter creates an initial graph for the object and appropriately performs type conversion of the object associated with each node of the graph to the extension side or the inclusion side. A program that operates a control unit to perform the step of interpreting by automatically growing a graph from an initial graph.
[5] A data integration device provided with a platform for automatically executing type conversion of an object. The platform is provided in a control unit, has an acquisition unit and an interpretation unit, and the acquisition unit receives input data. Acquired as an object of the platform; the interpreter creates an initial graph for the object and appropriately performs type conversion of the object associated with each node of the graph to the extension side or the inclusion side. A data integration device that operates a control unit so as to interpret by automatically growing a graph from an initial graph and construct integrated data that integrates one or more of the above objects.
[6] A data integration method using a platform that automatically executes type conversion of an object. The platform is provided in a control unit of a computer, has an acquisition unit and an interpretation unit, and the acquisition unit inputs. The step of acquiring data as an object of the platform; while the interpreter creates an initial graph for the object and appropriately performs type conversion of the object associated with each node of the graph to the extension side or the inclusion side. , A step of interpreting by automatically growing a graph from the initial graph and constructing integrated data in which one or more of the objects are integrated;
How to integrate data.
[7] In a platform that is a program executed by a computer, is provided in a control unit of the computer, has an acquisition unit and an interpretation unit, and automatically executes type conversion of an object, the acquisition unit inputs input data. The step of acquiring as an object of the platform; the initial graph is created for the object, and the type conversion of the object associated with each node of the graph to the extension side or the inclusion side is appropriately performed. A program that operates a computer control unit to perform an interpretation by automatically growing a graph from a graph and to construct integrated data that integrates one or more of the above objects.
[8] A platform that automatically converts the data representation format.
A plurality of programs having a predetermined element program and having inputs and outputs of arbitrary expression formats are loosely coupled via data by automatic conversion of the expression format, and the expression target of the integrated data is a city or a structure. There is a digital city building platform.
本発明は、データの表現形式をデータの意味に基づいて自動変換することでプログラムの適用範囲を拡大させ、プログラムの再利用性を向上させることが可能なインタプリタであるデータ処理プラットフォームを、実現することができる。データ処理プラットフォームは、標準と定められた形式で表現されたデータと、個々の目的に最適化された独自形式のデータの両方が同時に利用可能であり、データを活用するためのプログラムを蓄積して技術を継続的に高度化することができる。
また、データ処理プラットフォームを用いて、新規なデータから古い資料までの幅広いデータから情報を抽出するためのデータ解釈装置、方法及びプログラムを、実現することができる。
更に、データ処理プラットフォームを用いて、複数のデータに分散している断片的な情報を統合してデータの表現対象の模型を作成するデータ統合装置、方法及びプログラムを、実現することができる。 The present invention realizes a data processing platform which is an interpreter capable of expanding the application range of a program and improving the reusability of the program by automatically converting the representation format of the data based on the meaning of the data. be able to. The data processing platform can simultaneously use both the data expressed in the standard and defined format and the data in the unique format optimized for each purpose, and accumulates programs for utilizing the data. The technology can be continuously advanced.
In addition, a data processing platform can be used to implement data interpreters, methods and programs for extracting information from a wide range of data, from new data to old data.
Furthermore, using a data processing platform, it is possible to realize a data integration device, method, and program that integrates fragmentary information distributed in a plurality of data to create a model of a data expression target.
また、データ処理プラットフォームを用いて、新規なデータから古い資料までの幅広いデータから情報を抽出するためのデータ解釈装置、方法及びプログラムを、実現することができる。
更に、データ処理プラットフォームを用いて、複数のデータに分散している断片的な情報を統合してデータの表現対象の模型を作成するデータ統合装置、方法及びプログラムを、実現することができる。 The present invention realizes a data processing platform which is an interpreter capable of expanding the application range of a program and improving the reusability of the program by automatically converting the representation format of the data based on the meaning of the data. be able to. The data processing platform can simultaneously use both the data expressed in the standard and defined format and the data in the unique format optimized for each purpose, and accumulates programs for utilizing the data. The technology can be continuously advanced.
In addition, a data processing platform can be used to implement data interpreters, methods and programs for extracting information from a wide range of data, from new data to old data.
Furthermore, using a data processing platform, it is possible to realize a data integration device, method, and program that integrates fragmentary information distributed in a plurality of data to create a model of a data expression target.
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
Hereinafter, embodiments will be described in detail with reference to the drawings as appropriate. However, more detailed explanation than necessary may be omitted. For example, detailed explanations of already well-known matters and duplicate explanations for substantially the same configuration may be omitted. This is to avoid unnecessary redundancy of the following description and to facilitate the understanding of those skilled in the art.
なお、発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
It should be noted that the inventor does not intend to limit the subject matter described in the claims by those skilled in the art by providing the accompanying drawings and the following description in order to fully understand the present disclosure. Absent.
1.データ処理プラットフォームの研究
はじめに、データ処理プラットフォーム(Data Processing Platform:DPP)について、「1.1.研究の目的と内容」、「1.2.データの表現形式が自動変換されることの意義と重要性」、「1.3.データ間の論理的な同等性の定義」、「1.4.DPPの要件と実装」、及び、「1.5.開発した理論および実装に対する結論」の節(それら節を、以下「本研究及び考案に係る開示」と称する)にて説明する。当該データ処理プラットフォームは、本発明者の研究に係るものであり、デジタル都市を構築するためのインタプリタとして機能する。 1. 1. Research on data processing platform Introduction, regarding the data processing platform (DPP), "1.1. Purpose and content of research", "1.2. Significance and importance of automatic conversion of data expression format" Sections of "Gender", "1.3. Definition of Logical Equivalence between Data", "1.4. Requirements and Implementation of DPP", and "1.5. Conclusions to the Developed Theory and Implementation" ( These sections will be described below in "Disclosures Related to this Research and Ideas"). The data processing platform relates to the research of the present inventor and functions as an interpreter for constructing a digital city.
はじめに、データ処理プラットフォーム(Data Processing Platform:DPP)について、「1.1.研究の目的と内容」、「1.2.データの表現形式が自動変換されることの意義と重要性」、「1.3.データ間の論理的な同等性の定義」、「1.4.DPPの要件と実装」、及び、「1.5.開発した理論および実装に対する結論」の節(それら節を、以下「本研究及び考案に係る開示」と称する)にて説明する。当該データ処理プラットフォームは、本発明者の研究に係るものであり、デジタル都市を構築するためのインタプリタとして機能する。 1. 1. Research on data processing platform Introduction, regarding the data processing platform (DPP), "1.1. Purpose and content of research", "1.2. Significance and importance of automatic conversion of data expression format" Sections of "Gender", "1.3. Definition of Logical Equivalence between Data", "1.4. Requirements and Implementation of DPP", and "1.5. Conclusions to the Developed Theory and Implementation" ( These sections will be described below in "Disclosures Related to this Research and Ideas"). The data processing platform relates to the research of the present inventor and functions as an interpreter for constructing a digital city.
1.1.研究の目的と内容
1.1.1. デジタル都市の必要性
地震や津波が都市にもたらす被害をスパコンで数値化する試みは、交通や経済に与える影響の評価など、学際的な研究に進展している。そして、その成果となるプログラム群は、高性能計算機とともに利用され、総合的な防災に役立てられることが期待されている。しかし、計算機とプログラムがあっても、災害を模擬する場となるデジタル都市がなければ実際の都市には適用できない。 1.1. Purpose and content of the research 1.1.1. The Need for Digital Cities Attempts to quantify the damage caused by earthquakes and tsunamis to cities with supercomputers are progressing to interdisciplinary research such as assessing the impact on transportation and the economy. It is expected that the resulting programs will be used together with high-performance computers and will be useful for comprehensive disaster prevention. However, even with computers and programs, it cannot be applied to actual cities without a digital city that serves as a place to simulate disasters.
1.1.1. デジタル都市の必要性
地震や津波が都市にもたらす被害をスパコンで数値化する試みは、交通や経済に与える影響の評価など、学際的な研究に進展している。そして、その成果となるプログラム群は、高性能計算機とともに利用され、総合的な防災に役立てられることが期待されている。しかし、計算機とプログラムがあっても、災害を模擬する場となるデジタル都市がなければ実際の都市には適用できない。 1.1. Purpose and content of the research 1.1.1. The Need for Digital Cities Attempts to quantify the damage caused by earthquakes and tsunamis to cities with supercomputers are progressing to interdisciplinary research such as assessing the impact on transportation and the economy. It is expected that the resulting programs will be used together with high-performance computers and will be useful for comprehensive disaster prevention. However, even with computers and programs, it cannot be applied to actual cities without a digital city that serves as a place to simulate disasters.
1.1.2.デジタル都市の要件
デジタル都市は、どのようなものであるべきか。少なくとも、被害の数値化に必要な情報を自在に抽出できなければならない。また、「データ爆発」や「計算機性能の指数関数的向上」が生じている中、すぐに陳腐化する固定的なものではなく、柔軟に新データ・新プログラムに対応して、継続的に発展可能なものであるべきである。 1.1.2. Digital Cities Requirements What should a digital city look like? At the very least, it must be possible to freely extract the information necessary for quantifying damage. In addition, in the midst of "data explosions" and "exponential improvements in computer performance," it is not a fixed thing that quickly becomes obsolete, but it flexibly responds to new data and new programs and continuously develops. It should be possible.
デジタル都市は、どのようなものであるべきか。少なくとも、被害の数値化に必要な情報を自在に抽出できなければならない。また、「データ爆発」や「計算機性能の指数関数的向上」が生じている中、すぐに陳腐化する固定的なものではなく、柔軟に新データ・新プログラムに対応して、継続的に発展可能なものであるべきである。 1.1.2. Digital Cities Requirements What should a digital city look like? At the very least, it must be possible to freely extract the information necessary for quantifying damage. In addition, in the midst of "data explosions" and "exponential improvements in computer performance," it is not a fixed thing that quickly becomes obsolete, but it flexibly responds to new data and new programs and continuously develops. It should be possible.
1.1.3.デジタル都市構築の困難: 異種性
デジタル都市構築の課題は、多種多様なデータから自在に情報を抽出することと、デジタル都市の継続的な発展を可能とすることの両立であるが、これは実は容易ではない。従来、自在な情報抽出のためにはデータの表現形式を標準化して統一する方策がとられるが、その表現形式は固定的であるからである。また、実情として、データは作成時の目的に応じた最適な表現形式で記録され、既存のデータの表現形式は統一されていない。 1.1.3. Difficulties in building a digital city: Heterogeneity The challenge of building a digital city is to balance the ability to freely extract information from a wide variety of data and to enable the continuous development of a digital city. It's not easy. Conventionally, in order to freely extract information, measures have been taken to standardize and unify the data expression format, but the expression format is fixed. Moreover, as a matter of fact, the data is recorded in the optimum expression format according to the purpose at the time of creation, and the expression format of the existing data is not unified.
デジタル都市構築の課題は、多種多様なデータから自在に情報を抽出することと、デジタル都市の継続的な発展を可能とすることの両立であるが、これは実は容易ではない。従来、自在な情報抽出のためにはデータの表現形式を標準化して統一する方策がとられるが、その表現形式は固定的であるからである。また、実情として、データは作成時の目的に応じた最適な表現形式で記録され、既存のデータの表現形式は統一されていない。 1.1.3. Difficulties in building a digital city: Heterogeneity The challenge of building a digital city is to balance the ability to freely extract information from a wide variety of data and to enable the continuous development of a digital city. It's not easy. Conventionally, in order to freely extract information, measures have been taken to standardize and unify the data expression format, but the expression format is fixed. Moreover, as a matter of fact, the data is recorded in the optimum expression format according to the purpose at the time of creation, and the expression format of the existing data is not unified.
1.1.4.デジタル都市構築、従来手法と予測される困難
それでも、当面の目的のために必要な標準化を行い、デジタル都市を構築することはできる。しかし、この方法は、目的が変わるたびに、デジタル都市とその構築のためのプログラムを初期段階から開発する必要が生じる非効率なものであり、デジタル都市の複雑さが再開発に耐えられない段階になった時点で、デジタル都市構築技術の発展の頭打ちをもたらすことが予想される。 1.1.4. Building a digital city, difficult to predict with traditional methods Nevertheless, it is possible to build a digital city with the necessary standardization for the immediate purpose. However, this method is inefficient because it requires the development of digital cities and programs for their construction from the initial stage every time the purpose changes, and the complexity of digital cities cannot withstand redevelopment. At that time, it is expected that the development of digital urban construction technology will reach a plateau.
それでも、当面の目的のために必要な標準化を行い、デジタル都市を構築することはできる。しかし、この方法は、目的が変わるたびに、デジタル都市とその構築のためのプログラムを初期段階から開発する必要が生じる非効率なものであり、デジタル都市の複雑さが再開発に耐えられない段階になった時点で、デジタル都市構築技術の発展の頭打ちをもたらすことが予想される。 1.1.4. Building a digital city, difficult to predict with traditional methods Nevertheless, it is possible to build a digital city with the necessary standardization for the immediate purpose. However, this method is inefficient because it requires the development of digital cities and programs for their construction from the initial stage every time the purpose changes, and the complexity of digital cities cannot withstand redevelopment. At that time, it is expected that the development of digital urban construction technology will reach a plateau.
1.1.5.目的
本来、標準化された機械部品の形状などと異なり、データの表現形式はそのデータの意味・内容が同等であれば柔軟に変更可能であり、特定の表現形式を入力として仮定したプログラムであっても、自動的に表現形式を変更する仕組みがあれば異なる形式で表現されたデータに適用が可能である。例えば、直交座標系で表現された二次元平面上の2点間の距離を計算するプログラムに対して、極座標系など他の座標系で表現された点が与えられた場合に、座標系の自動変換を行うことで一つのプログラムを複数の表現形式に対して共通利用可能とすることができる。もしこの仕組みが汎用的に実現できれば、表現形式に依存しない情報抽出プログラムが容易に作成可能となり、また、データやプログラムの入れ替えも容易となる。 1.1.5. Purpose Originally, unlike the standardized shapes of machine parts, the data representation format can be flexibly changed as long as the meaning and content of the data are the same, and the program assumes a specific representation format as input. However, if there is a mechanism to automatically change the expression format, it can be applied to data expressed in a different format. For example, when a program that calculates the distance between two points on a two-dimensional plane expressed in a Cartesian coordinate system is given a point expressed in another coordinate system such as a polar coordinate system, the coordinate system is automatically set. By performing the conversion, one program can be commonly used for a plurality of expression formats. If this mechanism can be realized universally, it will be possible to easily create an information extraction program that does not depend on the expression format, and it will be easy to replace data and programs.
本来、標準化された機械部品の形状などと異なり、データの表現形式はそのデータの意味・内容が同等であれば柔軟に変更可能であり、特定の表現形式を入力として仮定したプログラムであっても、自動的に表現形式を変更する仕組みがあれば異なる形式で表現されたデータに適用が可能である。例えば、直交座標系で表現された二次元平面上の2点間の距離を計算するプログラムに対して、極座標系など他の座標系で表現された点が与えられた場合に、座標系の自動変換を行うことで一つのプログラムを複数の表現形式に対して共通利用可能とすることができる。もしこの仕組みが汎用的に実現できれば、表現形式に依存しない情報抽出プログラムが容易に作成可能となり、また、データやプログラムの入れ替えも容易となる。 1.1.5. Purpose Originally, unlike the standardized shapes of machine parts, the data representation format can be flexibly changed as long as the meaning and content of the data are the same, and the program assumes a specific representation format as input. However, if there is a mechanism to automatically change the expression format, it can be applied to data expressed in a different format. For example, when a program that calculates the distance between two points on a two-dimensional plane expressed in a Cartesian coordinate system is given a point expressed in another coordinate system such as a polar coordinate system, the coordinate system is automatically set. By performing the conversion, one program can be commonly used for a plurality of expression formats. If this mechanism can be realized universally, it will be possible to easily create an information extraction program that does not depend on the expression format, and it will be easy to replace data and programs.
本研究及び考案に係る開示では、表現形式を自動変換する仕組みをもつインタプリタ(これをデータ処理プラットフォーム(DPP)と称する)を構築し、デジタル都市を構築するための要素プログラムをそのライブラリとして蓄積することを提案する。「プラットフォーム」とは、要素プログラムを集約して連携させる土台として機能するものを指す。本明細書に開示する「データ処理プラットフォーム(DPP)」についても、プラットフォームの語は、DPPが要素プログラムを集約して連携させる土台として機能することを意味している。
In the disclosure related to this research and devise, an interpreter (this is called a data processing platform (DPP)) having a mechanism for automatically converting the expression format is constructed, and element programs for constructing a digital city are accumulated as its library. I suggest that. "Platform" refers to a platform that functions as a foundation for aggregating and linking elemental programs. As for the "data processing platform (DPP)" disclosed in the present specification, the term "platform" also means that DPP functions as a basis for aggregating and linking elemental programs.
DPPとそのライブラリからなるシステムにおいて、新しいデータや新しいプログラムを取り込むことは、プログラムの単純な追加や置き換えによって可能であり、システムの高度化がデジタル都市の高度化に対応する。また本研究及び考案に係る開示では、このシステムを実現するため、表現形式の異なるデータ間の論理的な同等性を定義し、その定義に従う表現形式の自動変換方法を提示することを目的とする。
In a system consisting of DPP and its library, it is possible to incorporate new data and new programs by simply adding or replacing programs, and the sophistication of the system corresponds to the sophistication of digital cities. In addition, in the disclosure related to this research and the invention, in order to realize this system, the purpose is to define the logical equivalence between data with different expression formats and to present an automatic conversion method of the expression format according to the definition. ..
1.1.6.内容
本研究及び考案に係る開示の内容は次のように要約される。デジタル都市の構築においてデータの表現形式が自動変換されることの意義と重要性について「1.2.」で強調し、その変換のための理論、特にデータ間の論理的な同等性について「1.3.」で説明する。そして、その理論に対応する実装について「1.4.」で説明する。「1.5.」では、開発した理論および実装に対する結論を述べる。 1.1.6. Contents The contents of the disclosure related to this research and the device are summarized as follows. The significance and importance of automatic conversion of data representation formats in the construction of digital cities is emphasized in "1.2.", And the theory for the conversion, especially the logical equivalence between data, is described in "1." This will be explained in "3.3." Then, the implementation corresponding to the theory will be described in "1.4.". In "1.5.", The conclusions for the developed theory and implementation are stated.
本研究及び考案に係る開示の内容は次のように要約される。デジタル都市の構築においてデータの表現形式が自動変換されることの意義と重要性について「1.2.」で強調し、その変換のための理論、特にデータ間の論理的な同等性について「1.3.」で説明する。そして、その理論に対応する実装について「1.4.」で説明する。「1.5.」では、開発した理論および実装に対する結論を述べる。 1.1.6. Contents The contents of the disclosure related to this research and the device are summarized as follows. The significance and importance of automatic conversion of data representation formats in the construction of digital cities is emphasized in "1.2.", And the theory for the conversion, especially the logical equivalence between data, is described in "1." This will be explained in "3.3." Then, the implementation corresponding to the theory will be described in "1.4.". In "1.5.", The conclusions for the developed theory and implementation are stated.
1.2.データの表現形式が自動変換されることの意義と重要性
1.2.1.この節の目的
この節「1.2.」では、デジタル都市の材料となるデータの表現形式の多様性とその多様性がもたらす利用の際の課題について説明する。また、データの表現形式をデータの意味に基づいて自動変換することによって、通常はデータの表現形式によって制限されるプログラムの適用範囲が拡大し、プログラムの再利用性が向上することを説明する。そして、この再利用性の向上によって、デジタル都市を自動構築するシステムが、要素プログラムを柔軟に追加・変更できる疎結合なシステムとして実現可能であることを説明する。 1.2. Significance and importance of automatic conversion of data representation format 1.2.1. Purpose of this section This section "1.2." Explains the variety of representation formats of data that are the material of digital cities and the challenges in using them. In addition, it will be explained that by automatically converting the data representation format based on the meaning of the data, the applicable range of the program, which is usually limited by the data representation format, is expanded and the reusability of the program is improved. Then, it will be explained that the system for automatically constructing a digital city can be realized as a loosely coupled system in which element programs can be flexibly added and changed by improving the reusability.
1.2.1.この節の目的
この節「1.2.」では、デジタル都市の材料となるデータの表現形式の多様性とその多様性がもたらす利用の際の課題について説明する。また、データの表現形式をデータの意味に基づいて自動変換することによって、通常はデータの表現形式によって制限されるプログラムの適用範囲が拡大し、プログラムの再利用性が向上することを説明する。そして、この再利用性の向上によって、デジタル都市を自動構築するシステムが、要素プログラムを柔軟に追加・変更できる疎結合なシステムとして実現可能であることを説明する。 1.2. Significance and importance of automatic conversion of data representation format 1.2.1. Purpose of this section This section "1.2." Explains the variety of representation formats of data that are the material of digital cities and the challenges in using them. In addition, it will be explained that by automatically converting the data representation format based on the meaning of the data, the applicable range of the program, which is usually limited by the data representation format, is expanded and the reusability of the program is improved. Then, it will be explained that the system for automatically constructing a digital city can be realized as a loosely coupled system in which element programs can be flexibly added and changed by improving the reusability.
1.2.2.データの表現形式の多様性と利用の課題
1.2.2.1.各分野における表現形式に対する工夫
デジタル都市の材料となるデータは、通常、何らかの特定の目的のために個別に作成されたデータであり、その表現形式は、それぞれ目的や使用方法に応じて工夫されている。 1.2.2. Diversity of data representation format and issues of use 1.2.2.1. Ingenuity for expression formats in each field The data used as materials for digital cities are usually data created individually for some specific purpose, and the expression formats are devised according to the purpose and usage. There is.
1.2.2.1.各分野における表現形式に対する工夫
デジタル都市の材料となるデータは、通常、何らかの特定の目的のために個別に作成されたデータであり、その表現形式は、それぞれ目的や使用方法に応じて工夫されている。 1.2.2. Diversity of data representation format and issues of use 1.2.2.1. Ingenuity for expression formats in each field The data used as materials for digital cities are usually data created individually for some specific purpose, and the expression formats are devised according to the purpose and usage. There is.
例えば、一般に、データの共有は標準化機構が定めた形式で行われ、人間も読めるテキスト形式のデータであることが多いが、高性能計算ではバイナリ形式の採用が通常であり全体を高速に読み書きできるよう同種のデータが一列に並べられることが多い。また、長期間保存するデータの検索では一部へのアクセスが通常であり、検索対象の意味・内容のまとまりに基づいたデータ構造が選択され得る。同等な意味・内容をもつデータであっても、多様な処理目的に応じて多様な表現形式が計算の主体やデータの管理主体によって定められ利用されている。
For example, in general, data sharing is performed in a format defined by a standardization mechanism, and data is often in text format that can be read by humans, but in high-performance computing, binary format is usually adopted and the entire data can be read and written at high speed. The same kind of data is often arranged in a row. In addition, when searching for data to be stored for a long period of time, access to a part of the data is normal, and a data structure based on the meaning and content of the search target can be selected. Even if the data has the same meaning and content, various expression formats are defined and used by the calculation subject and the data management subject according to various processing purposes.
1.2.2.2.デジタル都市構築における困難1:プログラム開発における組み合わせ爆発(図23A)
デジタル都市の構築と利用は、複数のデータを入力として目標のデータを出力する処理の体系的な適用と捉えることが可能であり、各々の処理は入力データと出力データによって特徴づけられる。一般に、同等な意味・内容をもつ処理に対しても、データの表現形式が異なれば異なるプログラムを実装する必要があり、表現形式が多様であることは著しく開発効率を低下させる恐れがある。例えば、二つの物体の距離を出力する簡単な処理に対しても、図23Aのように入力データの表現形式の組み合わせごとに実装が必要であり、容易に組み合わせ爆発が生じる。 1.2.2.2. Difficulties in building a digital city 1: Combinatorial explosion in program development (Fig. 23A)
The construction and utilization of a digital city can be regarded as a systematic application of a process that takes multiple data as inputs and outputs target data, and each process is characterized by input data and output data. In general, even for processes with the same meaning and content, it is necessary to implement different programs if the data expression format is different, and the variety of expression formats may significantly reduce development efficiency. For example, even for a simple process of outputting the distance between two objects, it is necessary to implement each combination of input data expression formats as shown in FIG. 23A, and a combinatorial explosion easily occurs.
デジタル都市の構築と利用は、複数のデータを入力として目標のデータを出力する処理の体系的な適用と捉えることが可能であり、各々の処理は入力データと出力データによって特徴づけられる。一般に、同等な意味・内容をもつ処理に対しても、データの表現形式が異なれば異なるプログラムを実装する必要があり、表現形式が多様であることは著しく開発効率を低下させる恐れがある。例えば、二つの物体の距離を出力する簡単な処理に対しても、図23Aのように入力データの表現形式の組み合わせごとに実装が必要であり、容易に組み合わせ爆発が生じる。 1.2.2.2. Difficulties in building a digital city 1: Combinatorial explosion in program development (Fig. 23A)
The construction and utilization of a digital city can be regarded as a systematic application of a process that takes multiple data as inputs and outputs target data, and each process is characterized by input data and output data. In general, even for processes with the same meaning and content, it is necessary to implement different programs if the data expression format is different, and the variety of expression formats may significantly reduce development efficiency. For example, even for a simple process of outputting the distance between two objects, it is necessary to implement each combination of input data expression formats as shown in FIG. 23A, and a combinatorial explosion easily occurs.
図23A~図23Cは、3通りのデータ処理の実装方法を示す図である。矢印はデータの表現形式の変換を表す。図23Aは、個別に開発する場合であり、図23Bは、標準形式を利用する場合であり、図23Cは、自動変換を利用する場合である。なお、図23A~図23Cでは、F(Xi,Yj)は表現形式Xiのデータxiと表現形式Yjのデータyjを入力して、所定のデータ処理を行う関数を表している。また、i≠i'であればXiとXi'の表現形式は異なり、同様に、j≠j'であればYjとYj'の表現形式は異なるものとする。
23A to 23C are diagrams showing three types of data processing implementation methods. Arrows represent conversions of data representation. FIG. 23A is a case of individually developing, FIG. 23B is a case of using a standard format, and FIG. 23C is a case of using automatic conversion. In FIG 23A ~ FIG 23C, F (X i, Y j) is to input data y j of data x i and representation Y j of representation X i, represents the function for performing predetermined data processing There is. Further, if i ≠ i', the expression formats of X i and X i'are different, and similarly, if j ≠ j', the expression formats of Y j and Y j'are different.
1.2.2.3.デジタル都市構築における困難2:標準フォーマットの問題
もし、図23Bのように、利用するデータの表現形式を統一し、処理プログラムの実装を標準の表現形式に対してのみ行えば、類似の実装を繰り返すことを避けることができる。しかし、この方法論は、目的に適合した表現形式を設計して利用することを阻害するため、特に高性能計算の分野では実現可能ではない。高性能計算の分野で開発されるプログラムは、多くの場合に、計算性能の向上を目的として開発者が独自に設計した表現形式のデータを入力とするからである。標準化機構によって標準の表現形式が定められることの有用性は言うまでもないが、高性能計算分野で開発された高性能なプログラムを応用した数値シミュレーションをデジタル都市に適用するためには、多種多様な表現形式のデータが取り扱える、データとプログラムの連携に関する新しい方法論が必要である。 1.2.2.3. Difficulty in building a digital city 2: Problem of standard format If the representation format of the data to be used is unified and the processing program is implemented only for the standard representation format as shown in Fig. 23B, similar implementation is repeated. You can avoid that. However, this methodology is not feasible, especially in the field of high performance computing, because it hinders the design and use of expression formats suitable for the purpose. This is because programs developed in the field of high-performance computing often input data in a representation format originally designed by the developer for the purpose of improving computing performance. It goes without saying that the standardization mechanism defines a standard expression format, but in order to apply numerical simulations that apply high-performance programs developed in the field of high-performance computing to digital cities, a wide variety of expressions are used. There is a need for a new methodology for linking data and programs that can handle format data.
もし、図23Bのように、利用するデータの表現形式を統一し、処理プログラムの実装を標準の表現形式に対してのみ行えば、類似の実装を繰り返すことを避けることができる。しかし、この方法論は、目的に適合した表現形式を設計して利用することを阻害するため、特に高性能計算の分野では実現可能ではない。高性能計算の分野で開発されるプログラムは、多くの場合に、計算性能の向上を目的として開発者が独自に設計した表現形式のデータを入力とするからである。標準化機構によって標準の表現形式が定められることの有用性は言うまでもないが、高性能計算分野で開発された高性能なプログラムを応用した数値シミュレーションをデジタル都市に適用するためには、多種多様な表現形式のデータが取り扱える、データとプログラムの連携に関する新しい方法論が必要である。 1.2.2.3. Difficulty in building a digital city 2: Problem of standard format If the representation format of the data to be used is unified and the processing program is implemented only for the standard representation format as shown in Fig. 23B, similar implementation is repeated. You can avoid that. However, this methodology is not feasible, especially in the field of high performance computing, because it hinders the design and use of expression formats suitable for the purpose. This is because programs developed in the field of high-performance computing often input data in a representation format originally designed by the developer for the purpose of improving computing performance. It goes without saying that the standardization mechanism defines a standard expression format, but in order to apply numerical simulations that apply high-performance programs developed in the field of high-performance computing to digital cities, a wide variety of expressions are used. There is a need for a new methodology for linking data and programs that can handle format data.
1.2.3.自動データ変換による処理プログラムの再利用
1.2.3.1.自動変換による処理プログラムの再利用(経路探索含む)
図23Cに示すように、データの表現形式をデータの意味に基づいて自動変換することで、プログラムの適用範囲を拡大させ、プログラムの再利用性を向上させることが可能である。通常、プログラムの適用範囲はデータの表現形式に依存するが、あらかじめ表現形式間にデータの意味・内容を保つ変換経路を定義し、この変換経路をたどる経路探索が自動で実施される機能を実装しておけば、プログラムの適用範囲は意味・内容に依存する形に拡大する。また、経路探索の方法を適切に定義することで複数の処理プログラムの実装から最適なものを選択して実行することも可能と考えられる。 1.2.3. Reuse of processing programs by automatic data conversion 1.2.3.1. Reuse of processing programs by automatic conversion (including route search)
As shown in FIG. 23C, it is possible to expand the application range of the program and improve the reusability of the program by automatically converting the representation format of the data based on the meaning of the data. Normally, the scope of application of the program depends on the data representation format, but a conversion path that preserves the meaning and content of the data is defined in advance between the representation formats, and a function that automatically searches for a route that follows this conversion path is implemented. If this is done, the scope of application of the program will be expanded to depend on the meaning and content. In addition, by appropriately defining the route search method, it is possible to select and execute the optimum one from the implementations of a plurality of processing programs.
1.2.3.1.自動変換による処理プログラムの再利用(経路探索含む)
図23Cに示すように、データの表現形式をデータの意味に基づいて自動変換することで、プログラムの適用範囲を拡大させ、プログラムの再利用性を向上させることが可能である。通常、プログラムの適用範囲はデータの表現形式に依存するが、あらかじめ表現形式間にデータの意味・内容を保つ変換経路を定義し、この変換経路をたどる経路探索が自動で実施される機能を実装しておけば、プログラムの適用範囲は意味・内容に依存する形に拡大する。また、経路探索の方法を適切に定義することで複数の処理プログラムの実装から最適なものを選択して実行することも可能と考えられる。 1.2.3. Reuse of processing programs by automatic data conversion 1.2.3.1. Reuse of processing programs by automatic conversion (including route search)
As shown in FIG. 23C, it is possible to expand the application range of the program and improve the reusability of the program by automatically converting the representation format of the data based on the meaning of the data. Normally, the scope of application of the program depends on the data representation format, but a conversion path that preserves the meaning and content of the data is defined in advance between the representation formats, and a function that automatically searches for a route that follows this conversion path is implemented. If this is done, the scope of application of the program will be expanded to depend on the meaning and content. In addition, by appropriately defining the route search method, it is possible to select and execute the optimum one from the implementations of a plurality of processing programs.
1.2.3.2.媒介データ・標準の相対化
図24のように、表現形式をノード、変換経路をリンクとするネットワークを考えることができる。ここで、図24は、表現形式と変換経路がつくるネットワークのトポロジーである。図24Aは、標準の表現形式を中心とする星形のネットワークであり、図24Bは、表現形式の自動変換に基づく自由なネットワークである。 1.2.3.2. Mediation data / standard relativization As shown in FIG. 24, a network in which the expression format is a node and the conversion path is a link can be considered. Here, FIG. 24 is the topology of the network created by the expression format and the conversion path. FIG. 24A is a star-shaped network centered on a standard representation format, and FIG. 24B is a free network based on automatic conversion of the representation format.
図24のように、表現形式をノード、変換経路をリンクとするネットワークを考えることができる。ここで、図24は、表現形式と変換経路がつくるネットワークのトポロジーである。図24Aは、標準の表現形式を中心とする星形のネットワークであり、図24Bは、表現形式の自動変換に基づく自由なネットワークである。 1.2.3.2. Mediation data / standard relativization As shown in FIG. 24, a network in which the expression format is a node and the conversion path is a link can be considered. Here, FIG. 24 is the topology of the network created by the expression format and the conversion path. FIG. 24A is a star-shaped network centered on a standard representation format, and FIG. 24B is a free network based on automatic conversion of the representation format.
標準の表現形式に基づく方法論は、図24Aのように、このネットワークのトポロジーを標準の表現形式を中心とする星形に制限するものであり、標準の表現形式は、データとプログラムを仲介する中間データ形式の役割を果たす。一方で、表現形式の自動変換に基づく方法論では、ネットワークのトポロジー構成が自由であり、データとプログラムが結合する位置も自由である(図24B参照)。また直接プログラムと結合していないデータも自動変換によって間接的に自動結合されるため、データとプログラムの入れ替えが容易である。そして、このネットワークは新しい表現形式や処理プログラムの追加により成長が可能である。ネットワークの成長の結果として、星形のトポロジーが構成されることもあり得るが、中心に位置する表現形式は、トップダウンの形で定義される標準の表現形式と異なり、ボトムアップの形で自然に定まるデファクトスタンダードな表現形式である。
The methodology based on the standard representation format limits the topology of this network to a star shape centered on the standard representation format, as shown in FIG. 24A, and the standard representation format is an intermediate between data and the program. Plays the role of data format. On the other hand, in the methodology based on the automatic conversion of the representation format, the topology configuration of the network is free, and the position where the data and the program are combined is also free (see FIG. 24B). In addition, data that is not directly combined with the program is also automatically combined indirectly by automatic conversion, so that the data and the program can be easily exchanged. And this network can grow by adding new expression formats and processing programs. A star-shaped topology can be constructed as a result of network growth, but the centrally located representation is natural, bottom-up, unlike the standard representation defined in a top-down fashion. It is a de facto standard expression format that is determined by.
1.2.3.3.データの利用者負担の低減
近年では、デジタル都市の材料として有用なオープンデータが、クリアリングハウスを通じて数多く公開・共有されている。しかし、オープンデータの表現形式は多種多様であり、応用プログラムの開発者が複数のデータを組み合わせる際には、多くの場合に、データ一つ一つの表現形式を理解して、データから情報を抽出するプログラムを開発することから始める必要がある。もし表現形式の自動変換に基づく方法論を実現するシステムがあり、情報抽出プログラムが共有できれば、オープンデータと既開発の処理プログラムが自動的に結合され、応用プログラムの開発が容易になる。また、そのシステムでは、データの本質的でない詳細、すなわち特定の表現形式に固有の実装を意識せずにデータを取り扱うことができるため、データの利用者の学習負担も低減される。 1.2.3.3. Reducing the burden on data users In recent years, many open data useful as materials for digital cities have been released and shared through clearing houses. However, there are a wide variety of open data representation formats, and when application program developers combine multiple data, they often understand the representation format of each data and extract information from the data. You need to start by developing a program to do. If there is a system that realizes a methodology based on automatic conversion of expression formats and information extraction programs can be shared, open data and already-developed processing programs will be automatically combined, facilitating the development of application programs. In addition, the system can handle the data without being aware of the non-essential details of the data, that is, the implementation specific to a specific expression format, so that the learning burden on the data user is reduced.
近年では、デジタル都市の材料として有用なオープンデータが、クリアリングハウスを通じて数多く公開・共有されている。しかし、オープンデータの表現形式は多種多様であり、応用プログラムの開発者が複数のデータを組み合わせる際には、多くの場合に、データ一つ一つの表現形式を理解して、データから情報を抽出するプログラムを開発することから始める必要がある。もし表現形式の自動変換に基づく方法論を実現するシステムがあり、情報抽出プログラムが共有できれば、オープンデータと既開発の処理プログラムが自動的に結合され、応用プログラムの開発が容易になる。また、そのシステムでは、データの本質的でない詳細、すなわち特定の表現形式に固有の実装を意識せずにデータを取り扱うことができるため、データの利用者の学習負担も低減される。 1.2.3.3. Reducing the burden on data users In recent years, many open data useful as materials for digital cities have been released and shared through clearing houses. However, there are a wide variety of open data representation formats, and when application program developers combine multiple data, they often understand the representation format of each data and extract information from the data. You need to start by developing a program to do. If there is a system that realizes a methodology based on automatic conversion of expression formats and information extraction programs can be shared, open data and already-developed processing programs will be automatically combined, facilitating the development of application programs. In addition, the system can handle the data without being aware of the non-essential details of the data, that is, the implementation specific to a specific expression format, so that the learning burden on the data user is reduced.
1.2.3.4.処理プログラムのラップによる再利用性の向上
表現形式の自動変換がデータの実装の詳細を隠蔽する一方で、プログラムの再利用性を高める別の仕組みであるアプリケーションプログラミングインターフェース(API)は、プログラムの実装の詳細を隠蔽する。Web APIによる都市情報の提供は、前述の情報抽出プログラムの共有にあたり、応用プログラムの開発コスト低減が期待される。このため、すでに都市の様々な情報がWeb APIとして提供されており、その数は今後も増加することが想定されるが、この状況は独自形式の有用なデータが増加することと類似している。APIを備えた応用プログラムも、その機能が入力と出力のデータの表現形式で特徴づけられるため、表現形式の自動変換を適用することが可能である。この場合に、入力データはAPIに対する指示を表現したものとなる。 1.2.3.4. Improving reusability by wrapping processing programs While automatic conversion of representations hides the details of data implementation, another mechanism that enhances program reusability is the application programming interface (API), which implements programs. Hide the details of. Providing city information by Web API is expected to reduce the development cost of application programs when sharing the above-mentioned information extraction program. For this reason, various information on cities has already been provided as a Web API, and the number is expected to increase in the future, but this situation is similar to the increase in useful data in its own format. .. Since the function of an application program equipped with an API is characterized by the representation format of input and output data, it is possible to apply automatic conversion of the representation format. In this case, the input data expresses the instruction to the API.
表現形式の自動変換がデータの実装の詳細を隠蔽する一方で、プログラムの再利用性を高める別の仕組みであるアプリケーションプログラミングインターフェース(API)は、プログラムの実装の詳細を隠蔽する。Web APIによる都市情報の提供は、前述の情報抽出プログラムの共有にあたり、応用プログラムの開発コスト低減が期待される。このため、すでに都市の様々な情報がWeb APIとして提供されており、その数は今後も増加することが想定されるが、この状況は独自形式の有用なデータが増加することと類似している。APIを備えた応用プログラムも、その機能が入力と出力のデータの表現形式で特徴づけられるため、表現形式の自動変換を適用することが可能である。この場合に、入力データはAPIに対する指示を表現したものとなる。 1.2.3.4. Improving reusability by wrapping processing programs While automatic conversion of representations hides the details of data implementation, another mechanism that enhances program reusability is the application programming interface (API), which implements programs. Hide the details of. Providing city information by Web API is expected to reduce the development cost of application programs when sharing the above-mentioned information extraction program. For this reason, various information on cities has already been provided as a Web API, and the number is expected to increase in the future, but this situation is similar to the increase in useful data in its own format. .. Since the function of an application program equipped with an API is characterized by the representation format of input and output data, it is possible to apply automatic conversion of the representation format. In this case, the input data expresses the instruction to the API.
1.2.4.デジタル都市構築システム
1.2.4.1.デジタル都市の定義
都市の構成要素である構造物の耐用年数は長く、一方で研究開発の進展は速い。このため、設計、施工、維持管理、の各段階で生じるデータを蓄積しておき、後に開発される技術を適用して多目的に利用することが想定される。実際に、既存の構造物に対して膨大なデータが保存されており、そのデータの有効活用が進められている。例えば、数値シミュレーションを用いた地震や津波の被害推定がその一例である。数値シミュレーションを実施するためには、相応の詳細度をもつ都市の模型をコンピュータ上に表現する必要があり、その模型は、複数のデータから、都市の情報を断片として抽出し、現実の都市の構成要素に対する知識を表現したデータへと統合することで構築される。本研究及び考案に係る開示では、この統合された知識としての都市の模型をデジタル都市と定義する。デジタル都市は、数値シミュレーションの入力データなど、目的のデータを作成するための情報源として利用する。 1.2.4. Digital city construction system 1.2.4.1. Definition of Digital Cities The structures that are the constituents of cities have a long service life, while research and development progresses rapidly. For this reason, it is expected that data generated at each stage of design, construction, and maintenance will be accumulated and used for multiple purposes by applying the technology developed later. In fact, a huge amount of data is stored in existing structures, and effective utilization of that data is being promoted. For example, damage estimation of earthquakes and tsunamis using numerical simulation is one example. In order to carry out a numerical simulation, it is necessary to represent a model of a city with a certain degree of detail on a computer, and the model extracts city information as fragments from multiple data and of the actual city. It is constructed by integrating into data that expresses knowledge about the components. In the disclosure of this research and devise, this model of the city as integrated knowledge is defined as a digital city. Digital cities are used as a source of information for creating desired data, such as input data for numerical simulations.
1.2.4.1.デジタル都市の定義
都市の構成要素である構造物の耐用年数は長く、一方で研究開発の進展は速い。このため、設計、施工、維持管理、の各段階で生じるデータを蓄積しておき、後に開発される技術を適用して多目的に利用することが想定される。実際に、既存の構造物に対して膨大なデータが保存されており、そのデータの有効活用が進められている。例えば、数値シミュレーションを用いた地震や津波の被害推定がその一例である。数値シミュレーションを実施するためには、相応の詳細度をもつ都市の模型をコンピュータ上に表現する必要があり、その模型は、複数のデータから、都市の情報を断片として抽出し、現実の都市の構成要素に対する知識を表現したデータへと統合することで構築される。本研究及び考案に係る開示では、この統合された知識としての都市の模型をデジタル都市と定義する。デジタル都市は、数値シミュレーションの入力データなど、目的のデータを作成するための情報源として利用する。 1.2.4. Digital city construction system 1.2.4.1. Definition of Digital Cities The structures that are the constituents of cities have a long service life, while research and development progresses rapidly. For this reason, it is expected that data generated at each stage of design, construction, and maintenance will be accumulated and used for multiple purposes by applying the technology developed later. In fact, a huge amount of data is stored in existing structures, and effective utilization of that data is being promoted. For example, damage estimation of earthquakes and tsunamis using numerical simulation is one example. In order to carry out a numerical simulation, it is necessary to represent a model of a city with a certain degree of detail on a computer, and the model extracts city information as fragments from multiple data and of the actual city. It is constructed by integrating into data that expresses knowledge about the components. In the disclosure of this research and devise, this model of the city as integrated knowledge is defined as a digital city. Digital cities are used as a source of information for creating desired data, such as input data for numerical simulations.
1.2.4.2.標準形式に基づくデジタル都市
デジタル都市の構築と利用の素朴な形態は、図25Aのように、都市の構成要素をすべて表現可能な標準の形式を定めて、材料となるデータからその形式で表現されたデータを作成し、標準形式のデータに対して実装されたプログラムを適用して目的のデータを作成することである。しかし、この形態が基づいているデータとプログラムの連携に関する方法論は、前述の通り、実際の多様な表現形式に対応できない。また、すべてのプログラムが標準形式に依存するため、標準形式の変更に多大な労力を要する。新しい標準形式に合わせて既存の古い標準形式のデータを手作業で変換する作業も膨大である。その結果として、都市の数値的な表現は固定化され、技術の発展を阻害する。 1.2.4.2. Digital City Based on Standard Format The simple form of construction and utilization of a digital city is expressed in that format from the material data by defining a standard format that can express all the components of the city, as shown in Fig. 25A. It is to create the desired data and apply the implemented program to the standard format data to create the desired data. However, as mentioned above, the methodology for linking data and programs based on this form cannot correspond to various actual expression forms. Moreover, since all programs depend on the standard format, it takes a lot of labor to change the standard format. The task of manually converting existing old standard format data to match the new standard format is enormous. As a result, the numerical representation of cities is fixed and impedes technological development.
デジタル都市の構築と利用の素朴な形態は、図25Aのように、都市の構成要素をすべて表現可能な標準の形式を定めて、材料となるデータからその形式で表現されたデータを作成し、標準形式のデータに対して実装されたプログラムを適用して目的のデータを作成することである。しかし、この形態が基づいているデータとプログラムの連携に関する方法論は、前述の通り、実際の多様な表現形式に対応できない。また、すべてのプログラムが標準形式に依存するため、標準形式の変更に多大な労力を要する。新しい標準形式に合わせて既存の古い標準形式のデータを手作業で変換する作業も膨大である。その結果として、都市の数値的な表現は固定化され、技術の発展を阻害する。 1.2.4.2. Digital City Based on Standard Format The simple form of construction and utilization of a digital city is expressed in that format from the material data by defining a standard format that can express all the components of the city, as shown in Fig. 25A. It is to create the desired data and apply the implemented program to the standard format data to create the desired data. However, as mentioned above, the methodology for linking data and programs based on this form cannot correspond to various actual expression forms. Moreover, since all programs depend on the standard format, it takes a lot of labor to change the standard format. The task of manually converting existing old standard format data to match the new standard format is enormous. As a result, the numerical representation of cities is fixed and impedes technological development.
1.2.4.3.デジタル都市構築システム
本研究及び考案に係る開示では、デジタル都市の構築と利用の形態として、図25Bのように、表現形式を自動変換する仕組みをもつ独自創作のインタプリタであるDPPを土台として、デジタル都市を構築するための要素プログラムを蓄積するデジタル都市構築システムを開発し、デジタル都市の材料データと目的データをそれぞれその入力と出力とすることを提案する。このシステムでは、プログラム間がデータを介して結合され、データとプログラムの間の結合がデータの表現形式ではなく、意味・内容に依存する。このことは、意味・内容が同じであれば表現形式の違いに依らず結合を柔軟に変更可能であることを意味する。要素プログラムを柔軟に追加・変更できる疎結合なシステムを利用することで、重複した開発を避けて技術の頭打ちを防ぐ設計を早期から採用することは、デジタル都市構築技術の発展にとってきわめて重要である。 1.2.4.3. Digital city construction system In the disclosure related to this research and devise, as a form of construction and use of a digital city, as shown in Fig. 25B, digital is based on DPP, which is an original interpreter with a mechanism to automatically convert the expression format. We propose to develop a digital city construction system that accumulates elemental programs for building a city, and to use the material data and target data of the digital city as their inputs and outputs, respectively. In this system, programs are connected via data, and the connection between data and programs depends on the meaning and content, not on the data representation format. This means that if the meaning and content are the same, the combination can be flexibly changed regardless of the difference in expression format. It is extremely important for the development of digital city construction technology to adopt a design that avoids duplicate development and prevents the technology from peaking by using a loosely coupled system that can flexibly add and change element programs. ..
本研究及び考案に係る開示では、デジタル都市の構築と利用の形態として、図25Bのように、表現形式を自動変換する仕組みをもつ独自創作のインタプリタであるDPPを土台として、デジタル都市を構築するための要素プログラムを蓄積するデジタル都市構築システムを開発し、デジタル都市の材料データと目的データをそれぞれその入力と出力とすることを提案する。このシステムでは、プログラム間がデータを介して結合され、データとプログラムの間の結合がデータの表現形式ではなく、意味・内容に依存する。このことは、意味・内容が同じであれば表現形式の違いに依らず結合を柔軟に変更可能であることを意味する。要素プログラムを柔軟に追加・変更できる疎結合なシステムを利用することで、重複した開発を避けて技術の頭打ちを防ぐ設計を早期から採用することは、デジタル都市構築技術の発展にとってきわめて重要である。 1.2.4.3. Digital city construction system In the disclosure related to this research and devise, as a form of construction and use of a digital city, as shown in Fig. 25B, digital is based on DPP, which is an original interpreter with a mechanism to automatically convert the expression format. We propose to develop a digital city construction system that accumulates elemental programs for building a city, and to use the material data and target data of the digital city as their inputs and outputs, respectively. In this system, programs are connected via data, and the connection between data and programs depends on the meaning and content, not on the data representation format. This means that if the meaning and content are the same, the combination can be flexibly changed regardless of the difference in expression format. It is extremely important for the development of digital city construction technology to adopt a design that avoids duplicate development and prevents the technology from peaking by using a loosely coupled system that can flexibly add and change element programs. ..
1.3.データ間の論理的な同等性の定義
異なる形式で表現された二つのデータが同等であることは、あるデータを異なる形式で表現された別のデータで代用する正しい置き換えが相互に可能であることである。二つのデータが正しく置き換え可能であるための条件について、もし明確な定義がなければ、置き換えたデータから本来と異なる意味・内容が抽出され得る。この節「1.3.」では、論理的に正しい置き換えが常に可能となるように、表現形式が異なるデータ間の論理的な同等性を、述語論理を用いて定義する。 1.3. Definition of logical equivalence between data The fact that two data represented in different formats are equivalent means that one data can be replaced by another data represented in a different format. Is. If there is no clear definition of the conditions for the two data to be correctly replaceable, meanings and contents different from the original can be extracted from the replaced data. In this section "1.3.", Predicate logic is used to define the logical equivalence between data with different representation formats so that logically correct replacement is always possible.
異なる形式で表現された二つのデータが同等であることは、あるデータを異なる形式で表現された別のデータで代用する正しい置き換えが相互に可能であることである。二つのデータが正しく置き換え可能であるための条件について、もし明確な定義がなければ、置き換えたデータから本来と異なる意味・内容が抽出され得る。この節「1.3.」では、論理的に正しい置き換えが常に可能となるように、表現形式が異なるデータ間の論理的な同等性を、述語論理を用いて定義する。 1.3. Definition of logical equivalence between data The fact that two data represented in different formats are equivalent means that one data can be replaced by another data represented in a different format. Is. If there is no clear definition of the conditions for the two data to be correctly replaceable, meanings and contents different from the original can be extracted from the replaced data. In this section "1.3.", Predicate logic is used to define the logical equivalence between data with different representation formats so that logically correct replacement is always possible.
1.3.1.データ表現間の外延・内包関係
データの表現形式を自動変換する基礎となる、データ表現間の論理的な同等性を定義するため、データ表現全体の集合を議論領域D1とした述語論理L1を考える。ここで、データの各表現形式はL1の1項述語に対応し、その1項述語の値が真となるD1の部分集合がその形式で表せるデータ表現の全体とする。二つのデータ表現が論理的に同等であることは、D1の元であるデータ表現間の外延・内包関係を表すL1の2項述語⇒が双方向に成立することと定義する。なお、「外延」という用語の代わりに「下位概念」、「内包」という用語の代わりに「上位概念」、「外延・内包関係」という用語の代わりに「上位概念・下位概念の関係」という用語がそれぞれ用いられてもよい。 13.1. Extension / inclusion relationship between data representations In order to define the logical equivalence between data representations, which is the basis for automatically converting the representation format of data, consider the predicate logic L1 with the set of the entire data representation as the universe of discourse D1. .. Here, each representation format of the data corresponds to the one-argument predicate of L1, and the subset of D1 in which the value of the one-argument predicate is true is the whole data representation that can be represented in that format. The logical equivalence of two data representations is defined as the fact that the binary predicate ⇒ of L1 representing the extension / inclusion relationship between the data representations that are the elements of D1 holds in both directions. The term "subordinate concept" is used instead of the term "extension", the term "superordinate concept" is used instead of the term "inclusion", and the term "superordinate concept / subordinate concept relationship" is used instead of the term "extension / inclusion relationship". May be used respectively.
データの表現形式を自動変換する基礎となる、データ表現間の論理的な同等性を定義するため、データ表現全体の集合を議論領域D1とした述語論理L1を考える。ここで、データの各表現形式はL1の1項述語に対応し、その1項述語の値が真となるD1の部分集合がその形式で表せるデータ表現の全体とする。二つのデータ表現が論理的に同等であることは、D1の元であるデータ表現間の外延・内包関係を表すL1の2項述語⇒が双方向に成立することと定義する。なお、「外延」という用語の代わりに「下位概念」、「内包」という用語の代わりに「上位概念」、「外延・内包関係」という用語の代わりに「上位概念・下位概念の関係」という用語がそれぞれ用いられてもよい。 13.1. Extension / inclusion relationship between data representations In order to define the logical equivalence between data representations, which is the basis for automatically converting the representation format of data, consider the predicate logic L1 with the set of the entire data representation as the universe of discourse D1. .. Here, each representation format of the data corresponds to the one-argument predicate of L1, and the subset of D1 in which the value of the one-argument predicate is true is the whole data representation that can be represented in that format. The logical equivalence of two data representations is defined as the fact that the binary predicate ⇒ of L1 representing the extension / inclusion relationship between the data representations that are the elements of D1 holds in both directions. The term "subordinate concept" is used instead of the term "extension", the term "superordinate concept" is used instead of the term "inclusion", and the term "superordinate concept / subordinate concept relationship" is used instead of the term "extension / inclusion relationship". May be used respectively.
2項述語⇒は、次の反射律および推移律を満たすものとして定義する。ただし、→は論理記号である。
The second argument ⇒ is defined as satisfying the following reflection law and transition law. However, → is a logical symbol.
∀x(x ⇒ x)
∀x∀y∀z((x ⇒ y)&&(y ⇒ z)→(x ⇒ z))
以降、x ⇒ yが成立していることを、xはyを内包にもつ、あるいは、yはxを外延にもつということにする。また、2項述語⇔を次のように定義し、
∀x∀y((x ⇔ y)←→((x ⇒ y)&&(y ⇒ x)))
x⇔yが成立しているとき、xとyは同等であると定義する。 ∀x (x ⇒ x)
∀x∀y∀z ((x ⇒ y) && (y ⇒ z) → (x ⇒ z))
From now on, it is assumed that x ⇒ y holds, that x has y as an intension, or y has x as an extension. In addition, the two-argument predicate ⇔ is defined as follows,
∀x∀y ((x ⇔ y) ← → ((x ⇒ y) && (y ⇒ x)))
When x⇔y holds, we define x and y as equivalent.
∀x∀y∀z((x ⇒ y)&&(y ⇒ z)→(x ⇒ z))
以降、x ⇒ yが成立していることを、xはyを内包にもつ、あるいは、yはxを外延にもつということにする。また、2項述語⇔を次のように定義し、
∀x∀y((x ⇔ y)←→((x ⇒ y)&&(y ⇒ x)))
x⇔yが成立しているとき、xとyは同等であると定義する。 ∀x (x ⇒ x)
∀x∀y∀z ((x ⇒ y) && (y ⇒ z) → (x ⇒ z))
From now on, it is assumed that x ⇒ y holds, that x has y as an intension, or y has x as an extension. In addition, the two-argument predicate ⇔ is defined as follows,
∀x∀y ((x ⇔ y) ← → ((x ⇒ y) && (y ⇒ x)))
When x⇔y holds, we define x and y as equivalent.
そして、L1のn項関数φおよびn項述語ψは次の2条件を満たすとき正則であると呼ぶことにする。
Then, the n-term function φ of L1 and the n-term predicate ψ are called regular when the following two conditions are satisfied.
∀x∀y((x ⇒ y)→(φ(…, x, …)⇒φ(…, y, …))) (式1)
∀x∀y((x ⇒ y)→(ψ(…, y, …)→ψ(…, x, …))) (式2)
例えばx, yをそれぞれログハウスと家のデータ表現、Roof(a)をaに対してaの屋根のデータ表現を対応させる正則な1項関数とすると、一番目の式から、(x ⇒ y) → (Roof(x) ⇒ Roof(y)) が成り立つ。これは、「ログハウスが家であれば、ログハウスの屋根は家の屋根である。」ということを意味する。また、HasRoof(a)を「aには屋根がある」という属性を表す正則な1項述語とすると、二番目の式から(x ⇒ y) → (HasRoof(y) → HasRoof(x)) が成り立つ。これは、「ログハウスが家であるならば、家に屋根があればログハウスにも屋根がある。」ということを意味する。 ∀x∀y ((x ⇒ y) → (φ (…, x,…) ⇒ φ (…, y,…))) (Equation 1)
∀x∀y ((x ⇒ y) → (ψ (…, y,…) → ψ (…, x,…))) (Equation 2)
For example, if x and y are log house and house data representations, respectively, and Roof (a) is a holomorphic function that associates a with the roof data representation of a, then from the first equation, (x ⇒ y ) → (Roof (x) ⇒ Roof (y)) holds. This means, "If the log house is a house, the roof of the log house is the roof of the house." Also, if HasRoof (a) is a regular one-argument predicate that expresses the attribute "a has a roof", then from the second equation (x ⇒ y) → (HasRoof (y) → HasRoof (x)) It holds. This means, "If the log house is a house, if the house has a roof, then the log house also has a roof."
∀x∀y((x ⇒ y)→(ψ(…, y, …)→ψ(…, x, …))) (式2)
例えばx, yをそれぞれログハウスと家のデータ表現、Roof(a)をaに対してaの屋根のデータ表現を対応させる正則な1項関数とすると、一番目の式から、(x ⇒ y) → (Roof(x) ⇒ Roof(y)) が成り立つ。これは、「ログハウスが家であれば、ログハウスの屋根は家の屋根である。」ということを意味する。また、HasRoof(a)を「aには屋根がある」という属性を表す正則な1項述語とすると、二番目の式から(x ⇒ y) → (HasRoof(y) → HasRoof(x)) が成り立つ。これは、「ログハウスが家であるならば、家に屋根があればログハウスにも屋根がある。」ということを意味する。 ∀x∀y ((x ⇒ y) → (φ (…, x,…) ⇒ φ (…, y,…))) (Equation 1)
∀x∀y ((x ⇒ y) → (ψ (…, y,…) → ψ (…, x,…))) (Equation 2)
For example, if x and y are log house and house data representations, respectively, and Roof (a) is a holomorphic function that associates a with the roof data representation of a, then from the first equation, (x ⇒ y ) → (Roof (x) ⇒ Roof (y)) holds. This means, "If the log house is a house, the roof of the log house is the roof of the house." Also, if HasRoof (a) is a regular one-argument predicate that expresses the attribute "a has a roof", then from the second equation (x ⇒ y) → (HasRoof (y) → HasRoof (x)) It holds. This means, "If the log house is a house, if the house has a roof, then the log house also has a roof."
恒等関数は、正則関数であり、常に真を返す述語と常に偽を返す述語は正則述語である。一方で、一般には、データ表現間の外延・内包関係について、反射律および推移律の成立を課しただけでは、どの関数・述語が正則関数・正則述語であるか定まらないし、二つのデータ表現間が外延・内包関係にあるかどうかも定まらない。本研究及び考案に係る開示では、最初に基本的な正則関数・正則述語だけが定義されており、その後に正則関数・正則述語を逐次的に定義していく状況を考え、既定義の任意の正則関数および正則述語に関して式1と式2を満たせば、二つのデータ表現が外延・内包関係にあると定義する。これは、正則関数・正則述語の定義によって、対象の意味付けが行われることを意味する。本研究に係る開示での目的は、表現形式間の本質的でない差異を捨象することであり、表現形式に依らずに値が決定できる関数や述語を正則関数および正則述語と定義することで、データ表現間の外延・内包関係を決定する。
The identity function is a holomorphic function, and the predicate that always returns true and the predicate that always returns false are regular predicates. On the other hand, in general, it is not possible to determine which function / predicate is a holomorphic function / regular predicate simply by imposing the establishment of the reflex law and the transition law on the extension / intensional relationship between data expressions, and between two data expressions. It is also uncertain whether or not there is an extension / inclusion relationship. In the disclosure related to this research and devise, only the basic holomorphic functions and holomorphic predicates are defined first, and then the holomorphic functions and holomorphic predicates are sequentially defined. If Holomorphic functions and holomorphic predicates satisfy Equations 1 and 2, we define that the two data representations are in an extension / inclusion relationship. This means that the meaning of the object is given by the definition of the holomorphic function and the regular predicate. The purpose of the disclosure of this study is to abstract non-essential differences between representations, and by defining functions and predicates whose values can be determined regardless of representations as holomorphic functions and holomorphic predicates. Determine the extension / inclusion relationship between data representations.
一例として、2次元平面上の点を直交座標系で表現する表現形式Cartesian2Dと、2次元平面上の点を極座標系で表現する表現形式Polar2Dについて考える。Cartesian2Dのデータ表現は、x座標とy座標の組(x, y)であり、Polar2Dのデータ表現は、動径rと偏角θの組(r, θ)である。2次元平面上の点の位置は、データ表現によらず、与えられた直交座標系に対してx座標とy座標を測ることができる。例えば、直交座標系と極座標系がx = r cosθ, y = r sinθと関係づけられているとき、Polar2Dのデータ表現(r, θ)に対しては、この関係式からx座標とy座標を測ることができる。ここで、x座標とy座標の測量を、2次元平面上の点に対して実数の表現形式Realのデータ表現を対応させる正則関数と定義すると、Polar2Dのデータ表現がCartesian2Dのデータ表現の外延である場合には、式1より二つのデータ表現に対するx座標とy座標の測量結果が同等、すなわち二つのデータ表現が同一の点を表す。
As an example, consider Cartesian2D, which expresses points on a two-dimensional plane in a Cartesian coordinate system, and Polar2D, which expresses points on a two-dimensional plane in a polar coordinate system. The data representation of Cartesian2D is a set of x-coordinate and y-coordinate (x, y), and the data representation of Polar2D is a set of radial diameter r and argument θ (r, θ). The position of a point on a two-dimensional plane can be measured in x and y coordinates with respect to a given Cartesian coordinate system, regardless of the data representation. For example, when the Cartesian coordinate system and the polar coordinate system are related to x = r cosθ, y = r sinθ, for the Polar2D data representation (r, θ), the x and y coordinates are calculated from this relational expression. It can be measured. Here, if the x-coordinate and y-coordinate surveys are defined as regular functions that correspond the data representation of the real number representation format Real to the points on the two-dimensional plane, the Polar2D data representation is an extension of the Cartesian2D data representation. In some cases, from Equation 1, the x-coordinate and y-coordinate survey results for the two data representations are equivalent, that is, the two data representations represent the same point.
別の例のため、2次元平面上の色のついた点を、x座標とy座標、RGB値の組(x, y, r, g, b)で表現する表現形式 Cartesian2D_RGB を考える。x座標とy座標の測量はCartesian2D_RGBのデータ表現に対しても可能であり、Cartesian2D_RGBのデータ表現がCartesian2Dのデータ表現の外延である場合には、先の例と同様に、二つのデータ表現に対するx座標とy座標の測量結果が同等で、二つのデータ表現が同一の点を表す。
For another example, consider the expression format Cartesian2D_RGB, which expresses colored points on a two-dimensional plane with a set of x-coordinates, y-coordinates, and RGB values (x, y, r, g, b). The x-coordinate and y-coordinate surveys are also possible for the Cartesian2D_RGB data representation, and if the Cartesian2D_RGB data representation is an extension of the Cartesian2D data representation, x for the two data representations, as in the previous example. The measurement results of the coordinates and the y-coordinate are the same, and the two data representations represent the same point.
1.3.2.表現形式間の外延・内包関係
前小節「1.3.1.」では、データ表現間の外延・内包関係を定義した。この小節では、L1の1項述語全体の集合を議論領域D2とする述語論理L2を導入し、L1の1項述語間の関係として外延・内包関係を捉えなおす。これは、1項述語名をラベル、各データ表現を指示対象とした記号間の関係としてデータ間の外延・内包関係を捉えることを意味し、データの性質とデータの表現方法を分離して扱うことを可能とする。具体的には、ある情報をデータとして記録する際に、先にそのデータの性質をL2において論じておき、その後にL2で表現された性質をもつようにそのデータの具体的な表現方法を決定することを可能とする。 1.3.2. Extension / inclusion relations between expression formats In the previous measure "13.1.", Extension / inclusion relations between data representations were defined. In this measure, we introduce the predicate logic L2 in which the set of the entire one-argument predicate of L1 is the domain of discourse D2, and reconsider the extension / intensional relationship as the relationship between the one-argument predicates of L1. This means that the extension / inclusion relationship between data is grasped as the relationship between symbols with the one-term predicate name as the referent and each data expression as the referent, and the nature of the data and the data expression method are treated separately. Make it possible. Specifically, when recording certain information as data, the properties of the data are first discussed in L2, and then the specific representation method of the data is determined so that it has the properties expressed in L2. It is possible to do.
前小節「1.3.1.」では、データ表現間の外延・内包関係を定義した。この小節では、L1の1項述語全体の集合を議論領域D2とする述語論理L2を導入し、L1の1項述語間の関係として外延・内包関係を捉えなおす。これは、1項述語名をラベル、各データ表現を指示対象とした記号間の関係としてデータ間の外延・内包関係を捉えることを意味し、データの性質とデータの表現方法を分離して扱うことを可能とする。具体的には、ある情報をデータとして記録する際に、先にそのデータの性質をL2において論じておき、その後にL2で表現された性質をもつようにそのデータの具体的な表現方法を決定することを可能とする。 1.3.2. Extension / inclusion relations between expression formats In the previous measure "13.1.", Extension / inclusion relations between data representations were defined. In this measure, we introduce the predicate logic L2 in which the set of the entire one-argument predicate of L1 is the domain of discourse D2, and reconsider the extension / intensional relationship as the relationship between the one-argument predicates of L1. This means that the extension / inclusion relationship between data is grasped as the relationship between symbols with the one-term predicate name as the referent and each data expression as the referent, and the nature of the data and the data expression method are treated separately. Make it possible. Specifically, when recording certain information as data, the properties of the data are first discussed in L2, and then the specific representation method of the data is determined so that it has the properties expressed in L2. It is possible to do.
L1の1項述語A,BがL2において外延・内包関係にあることを、A,BがL1において次の関係式を満たすことと定義する。
The fact that the one-argument predicates A and B of L1 have an extension / inclusion relationship in L2 is defined as the fact that A and B satisfy the following relational expression in L1.
∀x(A(x) → ∃y(B(y) && (x ⇒ y))) (式3)
この式より、L2においてもL1においてと同様に、外延・内包関係について反射律と推移律が成立することがただちにいえる。また、それぞれ条件∀x(T(x)), ∀x(¬F(x))を満たすL1の特殊な二つの1項述語T,Fを考えると、Tはすべての1項述語を外延にもち、Fはすべての1項述語を内包にもつ。 ∀x (A (x) → ∃y (B (y) && (x ⇒ y))) (Equation 3)
From this equation, it can be immediately said that the reflection law and the transition law are established for the extension / intensional relationship in L2 as well as in L1. Also, considering two special one-argument predicates T and F of L1 that satisfy the conditions ∀x (T (x)) and ∀x (¬F (x)), respectively, T extends all one-argument predicates. Mochi, F has all one-argument predicates inclusive.
この式より、L2においてもL1においてと同様に、外延・内包関係について反射律と推移律が成立することがただちにいえる。また、それぞれ条件∀x(T(x)), ∀x(¬F(x))を満たすL1の特殊な二つの1項述語T,Fを考えると、Tはすべての1項述語を外延にもち、Fはすべての1項述語を内包にもつ。 ∀x (A (x) → ∃y (B (y) && (x ⇒ y))) (Equation 3)
From this equation, it can be immediately said that the reflection law and the transition law are established for the extension / intensional relationship in L2 as well as in L1. Also, considering two special one-argument predicates T and F of L1 that satisfy the conditions ∀x (T (x)) and ∀x (¬F (x)), respectively, T extends all one-argument predicates. Mochi, F has all one-argument predicates inclusive.
L1の各データ表現に対して、そのデータ表現に対してだけ値を真とするL1の1項述語を考えることが可能であり、その1項述語はD2の元である。本研究及び考案に係る開示では、表記を簡単にするため、L1のデータ表現をa と記したときに、このデータ表現 aに対応するD2の元も同様にa と記すことにする。ただし、データ表現は小文字で表記し、大文字で表記するデータの表現形式と区別する。式3により、あるデータ表現a, bがL1で a ⇒ b の関係にあるとき、L2においても a ⇒ b の関係が成立する。また、ある表現形式 A とそのデータ表現 aとの間には、式3より、L2において a ⇒ A が成立する。
For each data representation of L1, it is possible to think of a one-argument predicate of L1 whose value is true only for that data representation, and that one-argument predicate is the source of D2. In the disclosure related to this research and the invention, for the sake of simplicity, when the data representation of L1 is written as a, the element of D2 corresponding to this data representation a is also written as a. However, the data representation is written in lowercase to distinguish it from the data representation format in uppercase. According to Equation 3, when a certain data expression a, b has a relationship of a⇒b in L1, the relationship of a⇒b is also established in L2. Further, between a certain expression format A and its data expression a, from Equation 3, a ⇒ A is established in L2.
式3の定義のもとで、L1の正則関数・正則述語は、次のようにL2の正則関数・正則述語に拡張することができる。まず、L2におけるn項正則関数φの値はL1の1項述語であり、その1項述語に対応するD1の部分集合を、L2における関数φの各引数、すなわちL1の1項述語、をそれぞれ真とする全てのL1の元の組に対して計算したL1における関数φの値全体の集合と定義する。また、L2におけるn項正則述語ψの値が真であることを、その述語の各引数、すなわちL1の1項述語、をそれぞれ真とする任意のL1の元の組に対して、L1の対応する述語ψの値が真となることと定義する。このとき、拡張されたL1の正則関数・正則述語に対して、L1における式1と式2に対応する式4と式5が、L2においても成立する。
Under the definition of Equation 3, the holomorphic function / predicate of L1 can be extended to the holomorphic function / predicate of L2 as follows. First, the value of the n-term holomorphic function φ in L2 is the one-term predicate of L1, and the subset of D1 corresponding to the one-term predicate is the subset of the function φ in L2, that is, the one-term predicate of L1. It is defined as the set of all values of the function φ in L1 calculated for the original set of all true L1s. Also, the correspondence of L1 to any original set of L1 for which each argument of the predicate, that is, the one-term predicate of L1, is true that the value of the n-term regular predicate ψ in L2 is true. It is defined that the value of the predicate ψ is true. At this time, for the extended holomorphic function / predicate of L1, the equations 4 and 5 corresponding to the equations 1 and 2 in L1 also hold in L2.
∀A∀B((A ⇒ B)→(φ(…, A, …)⇒φ(…, B, …))) (式4)
∀A∀B((A ⇒ B)→(ψ(…, B, …)→ψ(…, A, …))) (式5) ∀A∀B ((A ⇒ B) → (φ (…, A,…) ⇒ φ (…, B,…))) (Equation 4)
∀A∀B ((A ⇒ B) → (ψ (…, B,…) → ψ (…, A,…))) (Equation 5)
∀A∀B((A ⇒ B)→(ψ(…, B, …)→ψ(…, A, …))) (式5) ∀A∀B ((A ⇒ B) → (φ (…, A,…) ⇒ φ (…, B,…))) (Equation 4)
∀A∀B ((A ⇒ B) → (ψ (…, B,…) → ψ (…, A,…))) (Equation 5)
ある表現形式とそのデータ表現の関係は、オブジェクト指向プログラミングにおけるクラスとインスタンスの関係に対応し、外延・内包関係は継承関係に対応する。この観点から、式5を1項述語に関する式に特殊化したものは、オブジェクト指向プログラミングにおけるリスコフの置換原則に対応する。ただし、本研究及び考案に係る開示では、「クラス」と「データ型」(単に「型」とも記す)を同義語とする。
The relationship between a certain expression format and its data expression corresponds to the relationship between a class and an instance in object-oriented programming, and the extension / inclusion relationship corresponds to an inheritance relationship. From this point of view, the specialization of Equation 5 into an expression for one-argument predicates corresponds to the Liskov Substitution Principle in object-oriented programming. However, in the disclosure related to this research and the device, "class" and "data type" (also simply referred to as "type") are synonymous.
真理値をデータとして表現する表現形式を定義すると、述語が関数として定義できることは重要である。このことは、正則述語を使わずに正則関数のみでデータを表現することができることを示す。また、真理値の定義の仕方によって、多値論理を表現することもできる。このことから、以降では正則関数に焦点を絞って議論する。
When defining an expression format that expresses a truth value as data, it is important that the predicate can be defined as a function. This indicates that data can be represented only by holomorphic functions without using holomorphic predicates. In addition, multi-valued logic can be expressed depending on how the truth value is defined. For this reason, we will focus on holomorphic functions in the following discussions.
L2においてA ⇒ B であるとき、L1において
∀x(A(x) → (B(B〈A〉(x)) && (x ⇒ B〈A〉(x))))
を満たすAからBへの写像B〈A〉が少なくとも一つ存在し、この写像B〈A〉を自動変換写像と呼ぶこととする。自動変換写像が実装されているとき、データの表現形式を自動変換することが可能となる。自動変換写像とD2の元は、圏論における射と対象に相当すると考えられ、一項正則関数は共変関手に相当すると考えられる。 When A ⇒ B in L2, ∀x (A (x) → (B (B <A> (x)) && (x ⇒ B <A> (x))) in L1)
There is at least one map B <A> from A to B that satisfies the condition, and this map B <A> is called an automatic conversion map. When the automatic conversion mapping is implemented, it is possible to automatically convert the representation format of the data. The elements of the autotransformation map and D2 are considered to correspond to the morphism and object in category theory, and the one-term holomorphic function is considered to correspond to the covariant functor.
∀x(A(x) → (B(B〈A〉(x)) && (x ⇒ B〈A〉(x))))
を満たすAからBへの写像B〈A〉が少なくとも一つ存在し、この写像B〈A〉を自動変換写像と呼ぶこととする。自動変換写像が実装されているとき、データの表現形式を自動変換することが可能となる。自動変換写像とD2の元は、圏論における射と対象に相当すると考えられ、一項正則関数は共変関手に相当すると考えられる。 When A ⇒ B in L2, ∀x (A (x) → (B (B <A> (x)) && (x ⇒ B <A> (x))) in L1)
There is at least one map B <A> from A to B that satisfies the condition, and this map B <A> is called an automatic conversion map. When the automatic conversion mapping is implemented, it is possible to automatically convert the representation format of the data. The elements of the autotransformation map and D2 are considered to correspond to the morphism and object in category theory, and the one-term holomorphic function is considered to correspond to the covariant functor.
1.4.DPPの要件と実装
この節「1.4.」では、DPPの要件と実装について説明し、前節「1.3.データ間の論理的な同等性の定義」で定義したデータ間の外延・内包関係に基づいて、DPPがデータの表現形式を必要に応じて自動変換(すなわち、型変換を自動実行)し、あらかじめ登録された処理プログラムに適用する方法について説明する。 1.4. Requirements and implementation of DPP This section "1.4." Explains the requirements and implementation of DPP, and the extension / inclusion relationship between data defined in the previous section "1.3. Definition of logical equivalence between data". Based on the above, a method will be described in which DPP automatically converts the data representation format as needed (that is, automatically executes type conversion) and applies it to a pre-registered processing program.
この節「1.4.」では、DPPの要件と実装について説明し、前節「1.3.データ間の論理的な同等性の定義」で定義したデータ間の外延・内包関係に基づいて、DPPがデータの表現形式を必要に応じて自動変換(すなわち、型変換を自動実行)し、あらかじめ登録された処理プログラムに適用する方法について説明する。 1.4. Requirements and implementation of DPP This section "1.4." Explains the requirements and implementation of DPP, and the extension / inclusion relationship between data defined in the previous section "1.3. Definition of logical equivalence between data". Based on the above, a method will be described in which DPP automatically converts the data representation format as needed (that is, automatically executes type conversion) and applies it to a pre-registered processing program.
1.4.1.データ処理プラットフォームと、一般的なオブジェクト指向プログラミングとの特性の差異
以下に、データ処理プラットフォームと、一般的なオブジェクト指向プログラミングとの特性の差異を示す。 1.4.1. Differences in characteristics between data processing platforms and general object-oriented programming The differences in characteristics between data processing platforms and general object-oriented programming are shown below.
以下に、データ処理プラットフォームと、一般的なオブジェクト指向プログラミングとの特性の差異を示す。 1.4.1. Differences in characteristics between data processing platforms and general object-oriented programming The differences in characteristics between data processing platforms and general object-oriented programming are shown below.
本開示に係るDPPは、表1に示すように、一般的なオブジェクト指向のプログラミングとは異なる考え方に基づくものである。一般的なオブジェクト指向のプログラミングでは、継承関係の定義において、データ構造の共有が条件とされている。それに対して、DPPでは、継承関係の定義において、データ構造の共有は要件とされていない。かわりに、外延・内包関係があることが、クラス間の継承関係が成立する条件とされている。
As shown in Table 1, the DPP according to the present disclosure is based on a concept different from general object-oriented programming. In general object-oriented programming, sharing of data structures is a condition in the definition of inheritance relationships. In contrast, DPP does not require sharing of data structures in the definition of inheritance relationships. Instead, the extension / intensional relationship is a condition for establishing the inheritance relationship between classes.
DPPにおいて、ユーザは、データ構造の共有という制約を受けずにクラス間の継承関係を定義することが可能である。自動的な(暗黙の)型変換の回数に制限はなく、型を変換する最適な経路が自動で探索され、探索された経路に沿って必要な回数の変換が自動実行される。DPPの型変換においては、論理的に同等な型の変換(同値キャストと称する)に加えて、外延側への型変換(ダウンキャストと称する)と内包側への型変換(アップキャストと称する)の両方が自動実行される。ただし、ダウンキャストはオブジェクトごとに変換先の型へ変換できる条件を定義しておき、その定義が満たされた場合にのみ実行される。
In DPP, users can define inheritance relationships between classes without being restricted by sharing data structures. There is no limit to the number of automatic (implicit) type conversions, the optimal route for type conversion is automatically searched, and the required number of conversions are automatically executed along the searched route. In DPP type conversion, in addition to logically equivalent type conversion (called equivalence cast), type conversion to the extension side (called downcast) and type conversion to the comprehension side (called upcast) Both are automatically executed. However, downcast is executed only when the condition that can be converted to the conversion destination type is defined for each object and the definition is satisfied.
本発明者は、インタプリタとして機能するDPPを、C++によって記述した。当然のことながら、当業者であれば、本明細書の記載に従い、同様のインタプリタを作成することができ、そのようなインタプリタによって実装される本開示のデータ処理プラットフォーム、並びに当該プラットフォームを備えた装置、方法、プログラムもまた、本発明の範囲に含まれる。
The present inventor described DPP that functions as an interpreter in C ++. As a matter of course, a person skilled in the art can create a similar interpreter in accordance with the description of the present specification, and the data processing platform of the present disclosure implemented by such an interpreter, and an apparatus provided with such an interpreter. , Methods, programs are also included within the scope of the present invention.
DPPを記述する言語も、C++に限らずとも、本明細書に記載する要件と同等の要件を満たし、同等の実装が可能である限り、任意の他の言語で記載されたものであってよい。
The language for describing DPP is not limited to C ++, and may be described in any other language as long as it meets the same requirements as those described in this specification and can be implemented in the same manner. ..
1.4.2.要件及び実装
本研究及び考案に係る開示におけるデジタル都市構築システムは、表現形式を自動変換する仕組みをもつ本発明開示のインタプリタ(DPP)を土台として、デジタル都市を構築するための要素プログラム群が蓄積されて構成されており、材料データからデジタル都市を構築し、目的のデータを作成する。このDPPの実装にあたり、次の3点を要件として考慮する。
(要件1)デジタル都市構築システムに処理を指示するためのインタフェースを備えること。
(要件2)既存の処理プログラムのラッパーとして機能すること。
(要件3)処理プログラムを個別開発可能なライブラリとして蓄積可能であること。 1.4.2. Requirements and Implementation The digital city construction system in the disclosure related to this research and devise is based on the interpreter (DPP) disclosed in the present invention, which has a mechanism for automatically converting the expression format, and a group of element programs for constructing a digital city is accumulated. It is composed of materials, and a digital city is constructed from material data to create the desired data. In implementing this DPP, the following three points are considered as requirements.
(Requirement 1) Provide an interface for instructing the digital city construction system to process.
(Requirement 2) To function as a wrapper for an existing processing program.
(Requirement 3) The processing program can be stored as a library that can be individually developed.
本研究及び考案に係る開示におけるデジタル都市構築システムは、表現形式を自動変換する仕組みをもつ本発明開示のインタプリタ(DPP)を土台として、デジタル都市を構築するための要素プログラム群が蓄積されて構成されており、材料データからデジタル都市を構築し、目的のデータを作成する。このDPPの実装にあたり、次の3点を要件として考慮する。
(要件1)デジタル都市構築システムに処理を指示するためのインタフェースを備えること。
(要件2)既存の処理プログラムのラッパーとして機能すること。
(要件3)処理プログラムを個別開発可能なライブラリとして蓄積可能であること。 1.4.2. Requirements and Implementation The digital city construction system in the disclosure related to this research and devise is based on the interpreter (DPP) disclosed in the present invention, which has a mechanism for automatically converting the expression format, and a group of element programs for constructing a digital city is accumulated. It is composed of materials, and a digital city is constructed from material data to create the desired data. In implementing this DPP, the following three points are considered as requirements.
(Requirement 1) Provide an interface for instructing the digital city construction system to process.
(Requirement 2) To function as a wrapper for an existing processing program.
(Requirement 3) The processing program can be stored as a library that can be individually developed.
前節「1.3.」で触れたとおり、ある表現形式とそのデータ表現の関係は、オブジェクト指向プログラミングにおけるクラスとインスタンスの関係に対応し、外延・内包関係は継承関係に対応する。この対応に従って、デジタル都市構築システムの利用者は、DPPに一種のオブジェクト指向言語を用いて処理を指示することとする。実装の詳細は後述するが、DPPによって理解される言語は、通常と異なり、継承関係にあるクラス間でデータ構造を共有する必要がなく、個々のクラスのデータ構造を自由に設計可能であり、また、関数適用時に必要に応じて継承関係を辿る経路探索と型の自動変換が行われる。
As mentioned in the previous section "1.3.", The relationship between a certain expression format and its data expression corresponds to the relationship between the class and the instance in object-oriented programming, and the extension / inclusion relationship corresponds to the inheritance relationship. According to this correspondence, the user of the digital city construction system will instruct the DPP to process using a kind of object-oriented language. The details of the implementation will be described later, but unlike usual, the language understood by DPP does not need to share the data structure between the inherited classes, and the data structure of each class can be freely designed. In addition, when the function is applied, route search that follows the inheritance relationship and automatic type conversion are performed as needed.
既開発のプログラムをDPPに組み込む際に、古いプログラムの機能を新しい言語で実装し直すのは非効率的である。DPPでは、C++言語のクラスと関数をDPPのクラスと関数としてラップして取り扱えるように実装する。これにより、DPPは、既開発のデータとプログラムを本研究及び考案に係る開示の方法論で疎結合に連携させることが可能である。
When incorporating an already developed program into DPP, it is inefficient to reimplement the functions of the old program in the new language. In DPP, C ++ language classes and functions are implemented so that they can be handled by wrapping them as DPP classes and functions. This allows DPP to loosely couple the developed data and programs with the disclosure methodology of this study and device.
DPPでは、クラスの定義とそのクラスに関連する処理プログラムを個別にコンパイルして動的ライブラリにまとめられるよう実装する。ライブラリは必要に応じてロードされ、ライブラリ内で定義されている継承関係に応じた変換経路の探索と自動変換が実行される。DPPの利用者は、独自の表現形式や処理プログラムをライブラリ化してロードすることで、システムを自由に拡張することが可能である。
In DPP, class definitions and processing programs related to the classes are compiled individually and implemented so that they can be put together in a dynamic library. The library is loaded as needed, and the conversion path is searched and automatic conversion is executed according to the inheritance relationship defined in the library. DPP users can freely extend the system by loading their own expression formats and processing programs into a library.
1.4.3.自動変換の実装と処理プログラムの適用方法
表現形式間に定義された自動変換写像を変換経路として辿ることで表現形式の変換が可能である。多様な経路の変換が可能であるが、一般に、あるデータが異なる経路で変換された場合に、同等なデータ表現になるとは限らないことに注意が必要である。データを変換した結果が経路によらずに同等となるためには、変換先の表現形式がL1において次の条件をみたせばよい。 14.3. Implementation of automatic conversion and application method of processing program It is possible to convert the expression format by following the automatic conversion map defined between the expression formats as the conversion path. Although it is possible to convert various routes, it should be noted that, in general, when certain data are converted by different routes, the data representation is not always equivalent. In order for the results of data conversion to be equivalent regardless of the route, the following conditions should be satisfied when the expression format of the conversion destination is L1.
表現形式間に定義された自動変換写像を変換経路として辿ることで表現形式の変換が可能である。多様な経路の変換が可能であるが、一般に、あるデータが異なる経路で変換された場合に、同等なデータ表現になるとは限らないことに注意が必要である。データを変換した結果が経路によらずに同等となるためには、変換先の表現形式がL1において次の条件をみたせばよい。 14.3. Implementation of automatic conversion and application method of processing program It is possible to convert the expression format by following the automatic conversion map defined between the expression formats as the conversion path. Although it is possible to convert various routes, it should be noted that, in general, when certain data are converted by different routes, the data representation is not always equivalent. In order for the results of data conversion to be equivalent regardless of the route, the following conditions should be satisfied when the expression format of the conversion destination is L1.
∀x∀y((A(x)&& A(y))→(∃k((k ⇒ x)&&(k ⇒ y))→(x ⇒ y)))
この条件を満たす表現形式を粒状であると定義する。粒状でない表現形式に変換を行う場合には、自動変換写像の定義によっては不要な情報の損失が生じる可能性がある。デジタル都市の材料データについて、既存の表現形式の多くは粒状であるが、そうでないものも存在すると考えられる。従って、DPPにおける表現形式の自動変換機能に対して粒状でない表現形式を考慮した実装を行う一方で、DPPのクラスの実装は原則として粒状とすることが適切である。 ∀x∀y ((A (x) && A (y)) → (∃k ((k ⇒ x) && (k ⇒ y)) → (x ⇒ y)))
An expression format that satisfies this condition is defined as granular. When converting to a non-granular representation format, unnecessary information loss may occur depending on the definition of the automatic conversion map. Many of the existing representations of material data in digital cities are granular, but some may not. Therefore, while implementing the automatic conversion function of the expression format in DPP in consideration of the non-granular expression format, it is appropriate to implement the DPP class in principle.
この条件を満たす表現形式を粒状であると定義する。粒状でない表現形式に変換を行う場合には、自動変換写像の定義によっては不要な情報の損失が生じる可能性がある。デジタル都市の材料データについて、既存の表現形式の多くは粒状であるが、そうでないものも存在すると考えられる。従って、DPPにおける表現形式の自動変換機能に対して粒状でない表現形式を考慮した実装を行う一方で、DPPのクラスの実装は原則として粒状とすることが適切である。 ∀x∀y ((A (x) && A (y)) → (∃k ((k ⇒ x) && (k ⇒ y)) → (x ⇒ y)))
An expression format that satisfies this condition is defined as granular. When converting to a non-granular representation format, unnecessary information loss may occur depending on the definition of the automatic conversion map. Many of the existing representations of material data in digital cities are granular, but some may not. Therefore, while implementing the automatic conversion function of the expression format in DPP in consideration of the non-granular expression format, it is appropriate to implement the DPP class in principle.
DPPのクラスは、前節「1.3.」で定義された述語論理L2の対象、すなわちL1の1項述語を実装したものであり、データの表現形式である場合の他に、内部データを持たない単純な属性を表す場合がある。ここで、「属性」はL1の1項述語でデータの表現形式でないものを称している。表現形式から属性への自動変換写像は恒等写像とする。属性は、多様な表現形式間にまたがって定義されるため、一般的に粒状ではない。属性のみを取り扱い、属性の概念としての性質を表現する正則関数を適切に実装すれば、DPPは、オントロジー記述言語を定義することも可能と考えられる。
The DPP class implements the object of the predicate logic L2 defined in the previous section "1.3.", That is, the one-argument predicate of L1, and has internal data in addition to the case where it is a data representation format. May represent no simple attributes. Here, "attribute" refers to a one-argument predicate of L1 that is not a data representation form. The automatic conversion map from the expression format to the attribute is an identity map. Attributes are generally not granular because they are defined across different forms of expression. DPP can also define an ontology description language if it handles only attributes and properly implements holomorphic functions that express the properties of attributes as a concept.
二つの表現形式間に外延・内包関係が成立していても、その二つの表現形式間を結ぶ変換経路が用意されなければ、表現形式の自動変換はできない。利用者に自動変換可能か否かの誤解が生じないように、DPPは、自動変換写像が実装された場合にのみ、外延・内包関係が成立していると認識する。これは、一見、正則関数と正則述語の定義によって外延・内包関係が定まるとする理論に反するが、不都合は生じない。実際に、プログラム開発者が理論上の定義と実装上の定義を明確に区別し、理論上で外延・内包関係が成立している場合にのみ実装上で外延・内包関係が認識されるようにすれば、外延・内包関係が理論上ではないにもかかわらず実装上ではあるとする誤認識を防ぐことができる。
Even if an extension / inclusion relationship is established between the two expression formats, automatic conversion of the expression formats cannot be performed unless a conversion path connecting the two expression formats is prepared. To prevent the user from misunderstanding whether or not automatic conversion is possible, DPP recognizes that the extension / inclusion relationship is established only when the automatic conversion mapping is implemented. At first glance, this is contrary to the theory that the extension / intensional relationship is determined by the definitions of holomorphic functions and regular predicates, but no inconvenience occurs. In fact, the program developer clearly distinguishes between the theoretical definition and the implementation definition so that the extension / comprehension relationship is recognized in the implementation only when the extension / comprehension relationship is theoretically established. By doing so, it is possible to prevent the false recognition that the extension / inclusion relationship is not theoretical but practical.
表現形式をノード、自動変換写像をリンクとするネットワークにおいて、表現形式の自動変換は、コストが最小となる経路を探索して実行できるよう実装される。一例として、表現形式の自動変換は、例えば、ダイクストラ法に基づいてコストが最小となる経路を探索して実行し、自動変換写像が恒等写像である場合にはコストを0とし、その他の場合には1とすることができるが、これに限られるものではない。また、経路探索を効率化するため、外延・内包関係に基づいて、目標へと至らないノードとリンクはあらかじめ排除される。
In a network where the expression format is a node and the automatic conversion mapping is a link, the automatic conversion of the expression format is implemented so that the route that minimizes the cost can be searched and executed. As an example, the automatic conversion of the representation format is executed by searching for the path having the lowest cost based on the Dijkstra method, and the cost is set to 0 when the automatic conversion map is an identity map, and in other cases. Can be 1, but is not limited to this. In addition, in order to improve the efficiency of route search, nodes and links that do not reach the target are eliminated in advance based on the extension / inclusion relationship.
図26に式4に基づく表現形式の自動変換の例をL1の1項関数φの場合について示す。φは、入力の表現形式ごとに処理プログラムが実装され得るが、Bを定義域とする正則関数φ〈B〉が実装されているとき、DPPにおいて、A ⇒ Bであれば、自動変換写像B〈A〉が定義されており、Aの任意のデータ表現 a に対してφ〈B〉(B〈A〉(a))を計算することができる。これは表現形式の自動変換により、φ〈B〉の定義域がAを含むように拡大されているとみることができる。一方で、関数φ〈A〉を実装すれば、式4より、φ〈A〉(a) ⇒ φ〈B〉(B〈A〉(a))である。二通りのφ(a)の計算が可能であるが、自動変換により情報を落としてから関数を適用するよりは、関数を適用してから必要に応じて情報を落とす方が適切であるため、DPPは、φ〈A〉が定義されている場合には、後者の計算方法を採用する。これは一般のn項関数についても同様であり、この実装された関数の選択方法は、一般的なオブジェクト指向プログラミングにおけるポリモーフィズムと同様である。
FIG. 26 shows an example of automatic conversion of the expression format based on Equation 4 in the case of the one-term function φ of L1. For φ, a processing program can be implemented for each input representation format, but when the holomorphic function φ <B> with B as the domain is implemented, if A⇒B in DPP, the automatic conversion map B <A> is defined, and φ <B> (B <A> (a)) can be calculated for any data representation of A. It can be seen that the domain of φ <B> is expanded to include A by the automatic conversion of the expression format. On the other hand, if the function φ <A> is implemented, it is φ <A> (a) ⇒ φ <B> (B <A> (a)) from Equation 4. It is possible to calculate φ (a) in two ways, but it is more appropriate to apply the function and then drop the information as needed than to drop the information by automatic conversion and then apply the function. DPP adopts the latter calculation method when φ <A> is defined. This is also the case for general n-term functions, and the method of selecting this implemented function is similar to polymorphism in general object-oriented programming.
1.5.開発した理論および実装に対する結論
異なる形式で表現された二つのデータが同等であるための条件を明確に定義し、その定義に基づいた実装を行うことで、データの表現形式を論理的な間違い生じさせずに自動変換することに成功している。DPPを土台として、デジタル都市を構築するための要素プログラムを蓄積することで、デジタル都市構築技術を効率的かつ継続的に発展させることが可能と考えられる。 1.5. Conclusion on the developed theory and implementation By clearly defining the conditions for equality of two data expressed in different formats and implementing based on that definition, a logical error occurs in the data representation format. It has succeeded in automatic conversion without letting it. By accumulating elemental programs for building digital cities based on DPP, it is considered possible to develop digital city building technology efficiently and continuously.
異なる形式で表現された二つのデータが同等であるための条件を明確に定義し、その定義に基づいた実装を行うことで、データの表現形式を論理的な間違い生じさせずに自動変換することに成功している。DPPを土台として、デジタル都市を構築するための要素プログラムを蓄積することで、デジタル都市構築技術を効率的かつ継続的に発展させることが可能と考えられる。 1.5. Conclusion on the developed theory and implementation By clearly defining the conditions for equality of two data expressed in different formats and implementing based on that definition, a logical error occurs in the data representation format. It has succeeded in automatic conversion without letting it. By accumulating elemental programs for building digital cities based on DPP, it is considered possible to develop digital city building technology efficiently and continuously.
古い表現形式を拡張した新しい表現形式のデータが特定の条件下で古い表現形式に変換でき、古いプログラムを活用できる場合がある。プログラムの再利用性を向上する観点からは、個々のデータ内容に依存して自動変換の可能性が定まる柔軟なデータ変換技術が必要である。このため、DPPは、ある形式で表現されたデータが特定の条件を満たすかを調べ、満たす場合には自動変換を実行することで関数の適用範囲をより拡大している。
Data in the new expression format, which is an extension of the old expression format, can be converted to the old expression format under specific conditions, and the old program may be utilized. From the viewpoint of improving the reusability of programs, a flexible data conversion technology is required in which the possibility of automatic conversion is determined depending on the individual data contents. For this reason, DPP further expands the scope of application of the function by checking whether the data expressed in a certain format satisfies a specific condition and executing automatic conversion if the condition is satisfied.
2.実施の形態における目的
以下、発明の実施の形態に係る本開示は、データを活用するための技術を継続的に高度化するために、標準と定められた形式で表現されたデータと、個々の目的に最適化された独自形式のデータの両方が同時に利用可能となる疎結合の方法を提供することを、目的とする。即ち、本開示は、一律的な形式でデータを表現する標準化に替わり、表現形式の自動データ変換に基づいたデータの抽象化によって疎結合を実現し、異種データ・異種プログラム群を柔軟に連携させる方法を提供することを目的とする。
また、そのような疎結合の方法を用いる、新規なデータから古い資料までの幅広いデータから情報を抽出するためのデータ解釈方法を提供することを、目的とする。
更に本開示は、そのような疎結合の方法を用いる、複数のデータに分散している断片的な情報を統合してデータの表現対象の模型を作成するデータ統合方法を提供することを、目的とする。 2. Purpose in the Embodiment In the following, the present disclosure relating to the embodiment of the invention includes data expressed in a standard and defined format in order to continuously advance the technology for utilizing the data. It is an object of the present invention to provide a loosely coupled method in which both uniquely formatted data optimized for individual purposes are available at the same time. That is, in this disclosure, instead of standardization that expresses data in a uniform format, loose coupling is realized by abstracting data based on automatic data conversion in the representation format, and heterogeneous data and heterogeneous programs are flexibly linked. The purpose is to provide a method.
Another object of the present invention is to provide a data interpretation method for extracting information from a wide range of data from new data to old materials using such a loosely coupled method.
Furthermore, it is an object of the present disclosure to provide a data integration method that uses such a loosely coupled method to integrate fragmentary information dispersed in a plurality of data to create a model of a data expression target. And.
以下、発明の実施の形態に係る本開示は、データを活用するための技術を継続的に高度化するために、標準と定められた形式で表現されたデータと、個々の目的に最適化された独自形式のデータの両方が同時に利用可能となる疎結合の方法を提供することを、目的とする。即ち、本開示は、一律的な形式でデータを表現する標準化に替わり、表現形式の自動データ変換に基づいたデータの抽象化によって疎結合を実現し、異種データ・異種プログラム群を柔軟に連携させる方法を提供することを目的とする。
また、そのような疎結合の方法を用いる、新規なデータから古い資料までの幅広いデータから情報を抽出するためのデータ解釈方法を提供することを、目的とする。
更に本開示は、そのような疎結合の方法を用いる、複数のデータに分散している断片的な情報を統合してデータの表現対象の模型を作成するデータ統合方法を提供することを、目的とする。 2. Purpose in the Embodiment In the following, the present disclosure relating to the embodiment of the invention includes data expressed in a standard and defined format in order to continuously advance the technology for utilizing the data. It is an object of the present invention to provide a loosely coupled method in which both uniquely formatted data optimized for individual purposes are available at the same time. That is, in this disclosure, instead of standardization that expresses data in a uniform format, loose coupling is realized by abstracting data based on automatic data conversion in the representation format, and heterogeneous data and heterogeneous programs are flexibly linked. The purpose is to provide a method.
Another object of the present invention is to provide a data interpretation method for extracting information from a wide range of data from new data to old materials using such a loosely coupled method.
Furthermore, it is an object of the present disclosure to provide a data integration method that uses such a loosely coupled method to integrate fragmentary information dispersed in a plurality of data to create a model of a data expression target. And.
3.データ処理のためのプラットフォーム、及び、オブジェクト
上述の目的を達成するために、本発明者は、「1.データ処理プラットフォームの研究」にて説明した、データ処理のためのプラットフォーム、及び、当該プラットフォームに基づいて定義され構築されるオブジェクトの考案に到っている。本開示では、発明者の考案に係る当該プラットフォーム(インタプリタとして機能する)を、データ処理プラットフォーム(DPP)と称している。又、DPPに基づいて定義され構築されるオブジェクトを、単にオブジェクトと称することとする。本発明者によるDPP及びオブジェクトの特性について、以下、整理して説明する。 3. 3. Platforms and Objects for Data Processing In order to achieve the above objectives, the present inventor used the platforms for data processing and the platforms described in "1. Research on Data Processing Platforms". We have come up with the idea of objects that are defined and constructed based on them. In the present disclosure, the platform (functioning as an interpreter) invented by the inventor is referred to as a data processing platform (DPP). Further, an object defined and constructed based on DPP is simply referred to as an object. The characteristics of DPP and objects by the present inventor will be organized and described below.
上述の目的を達成するために、本発明者は、「1.データ処理プラットフォームの研究」にて説明した、データ処理のためのプラットフォーム、及び、当該プラットフォームに基づいて定義され構築されるオブジェクトの考案に到っている。本開示では、発明者の考案に係る当該プラットフォーム(インタプリタとして機能する)を、データ処理プラットフォーム(DPP)と称している。又、DPPに基づいて定義され構築されるオブジェクトを、単にオブジェクトと称することとする。本発明者によるDPP及びオブジェクトの特性について、以下、整理して説明する。 3. 3. Platforms and Objects for Data Processing In order to achieve the above objectives, the present inventor used the platforms for data processing and the platforms described in "1. Research on Data Processing Platforms". We have come up with the idea of objects that are defined and constructed based on them. In the present disclosure, the platform (functioning as an interpreter) invented by the inventor is referred to as a data processing platform (DPP). Further, an object defined and constructed based on DPP is simply referred to as an object. The characteristics of DPP and objects by the present inventor will be organized and described below.
ある形式のデータを、目的の別の形式のデータに変換するには、通常、独自の変換プログラムが必要となる。例えば、図2Aに示すように、「ソース1」、「ソース2」、「ソース3」・・・「ソースM」の表現形式のデータ(即ち、M種類の表現形式のデータ)を、「ターゲット1」、「ターゲット2」、「ターゲット3」・・・「ターゲットN」の表現形式のデータに変換することを想定する。この場合、M×N通り(図2Aでは、具体的には3×3=9通り)の変換プログラムが必要になる。
In order to convert data in one format to data in another desired format, a unique conversion program is usually required. For example, as shown in FIG. 2A, "source 1", "source 2", "source 3" ... "source M" expression format data (that is, M types of expression format data) is targeted. 1 ”,“ Target 2 ”,“ Target 3 ”... It is assumed that the data is converted into data in the expression format of“ Target N ”. In this case, M × N ways (specifically, 3 × 3 = 9 ways in FIG. 2A) conversion programs are required.
ここで、図2Bに示すように、「媒介データ」の設定を導入する。つまり、「ソース1」、「ソース2」、「ソース3」・・・「ソースM」から、「ターゲット1」、「ターゲット2」、「ターゲット3」・・・「ターゲットN」への変換の媒介として、「媒介データ」を設定するとする。この場合、変換プログラムはM+N通り(図2Bでは、3+3=6通り)で済むことになる。即ち、「M×N通り」から「M+N通り」へ減少する。
Here, as shown in FIG. 2B, the setting of "mediation data" is introduced. That is, conversion from "source 1", "source 2", "source 3" ... "source M" to "target 1", "target 2", "target 3" ... "target N" Suppose that "mediation data" is set as an intermediary. In this case, the conversion program can be converted in M + N ways (3 + 3 = 6 ways in FIG. 2B). That is, it decreases from "M × N street" to "M + N street".
しかしながら、図2Bに示す「媒介データ」は、全てのコンポーネント(変換プログラム、データ)が、図2Bに示す「媒介データ」に依存することになり、標準化データである「媒介データ」に変更が生じれば、必ずM+N通りの変換プログラムの再開発が必要となってしまう。
However, in the "mediation data" shown in FIG. 2B, all the components (conversion program, data) depend on the "mediation data" shown in FIG. 2B, and the standardized data "mediation data" is changed. If so, it will be necessary to redevelop the conversion program according to M + N.
そこで、本開示の発明者は、前述のような、自動データ変換を行うDPPを考案している。
Therefore, the inventor of the present disclosure has devised a DPP that performs automatic data conversion as described above.
DPPでは、一般的なオブジェクト指向プログラミングにおけるオブジェクトと異なり、型変換が最適な変換経路で自動実行されるオブジェクトを導入・定義している。オブジェクトにおけるクラスの継承関係については、以下の(条件1)~(条件3)のように定義される。
DPP introduces and defines an object in which type conversion is automatically executed by the optimum conversion path, unlike objects in general object-oriented programming. The inheritance relationship of classes in an object is defined as follows (Condition 1) to (Condition 3).
(条件1)継承関係は反射律と推移律を満たす。
(Condition 1) The inheritance relationship satisfies the reflection law and the transition law.
(条件2)外延・内包関係が成立する時にクラス間の継承関係が認められる。
例えば、第1のオブジェクトが(x, y)座標を持つ第1のクラスに属し、第2のオブジェクトが(r, θ)座標(極座標)を持つ第2のクラスに属し、第1のクラスは第1のスーパークラスのサブクラスである、という状況を想定する。これらのクラスがC++により規定されるものである場合、座標表現が同じでないと継承関係は持ち得ないという原則から、第1のスーパークラスと第2のクラスとの間に継承関係は存在しない。これに対して、これらのクラスがオブジェクトを定義するDPPにより規定される場合、外延・内包関係が成立すれば継承関係が生じることから、第1のスーパークラスと第2のクラスとの間に継承関係が存在することになる。 (Condition 2) An inheritance relationship between classes is recognized when an extension / inclusion relationship is established.
For example, the first object belongs to the first class with (x, y) coordinates, the second object belongs to the second class with (r, θ) coordinates (polar coordinates), and the first class is Suppose that it is a subclass of the first superclass. If these classes are defined by C ++, there is no inheritance relationship between the first superclass and the second class because of the principle that inheritance relationships cannot be established unless the coordinate representations are the same. On the other hand, when these classes are defined by the DPP that defines the object, inheritance will occur if the extension / inclusion relationship is established, so inheritance between the first superclass and the second class. There will be a relationship.
例えば、第1のオブジェクトが(x, y)座標を持つ第1のクラスに属し、第2のオブジェクトが(r, θ)座標(極座標)を持つ第2のクラスに属し、第1のクラスは第1のスーパークラスのサブクラスである、という状況を想定する。これらのクラスがC++により規定されるものである場合、座標表現が同じでないと継承関係は持ち得ないという原則から、第1のスーパークラスと第2のクラスとの間に継承関係は存在しない。これに対して、これらのクラスがオブジェクトを定義するDPPにより規定される場合、外延・内包関係が成立すれば継承関係が生じることから、第1のスーパークラスと第2のクラスとの間に継承関係が存在することになる。 (Condition 2) An inheritance relationship between classes is recognized when an extension / inclusion relationship is established.
For example, the first object belongs to the first class with (x, y) coordinates, the second object belongs to the second class with (r, θ) coordinates (polar coordinates), and the first class is Suppose that it is a subclass of the first superclass. If these classes are defined by C ++, there is no inheritance relationship between the first superclass and the second class because of the principle that inheritance relationships cannot be established unless the coordinate representations are the same. On the other hand, when these classes are defined by the DPP that defines the object, inheritance will occur if the extension / inclusion relationship is established, so inheritance between the first superclass and the second class. There will be a relationship.
(条件3)異なる内部構造を持つクラス間の継承関係に基づくポリモーフィズムが、クラス間に定義された変換処理を辿る自動経路探索と自動データ変換を実行することで実現される。
(Condition 3) Polymorphism based on inheritance relationships between classes with different internal structures is realized by executing automatic route search and automatic data conversion that follow the conversion process defined between the classes.
なお、前述の「外延・内包関係」は、オブジェクト指向プログラミングにおける「is-a関係」に当たる。また、ここで、外延・内包関係が成立すること、については、前述の「1.3.データ間の論理的な同等性の定義」にて、説明している。
The above-mentioned "extension / inclusion relationship" corresponds to the "is-a relationship" in object-oriented programming. Further, here, the establishment of the extension / inclusion relationship is described in the above-mentioned "1.3. Definition of logical equivalence between data".
DPPでは、データは全て、オブジェクトとして扱われる。
In DPP, all data is treated as an object.
図3Aは、自動データ変換による媒介データの別の状況を示す図である。図3Aにおけるデータ、即ち、「ソース1」、「ソース2」、「ソース3」、「媒介データ1」、「媒介データ2」、「媒介データ3」、「ターゲット1」、「ターゲット2」、「ターゲット3」は、全てオブジェクト化されている。夫々の名称はクラス名(型名)である。
FIG. 3A is a diagram showing another situation of mediation data by automatic data conversion. The data in FIG. 3A, that is, "source 1", "source 2", "source 3", "mediation data 1", "mediation data 2", "mediation data 3", "target 1", "target 2", "Target 3" is all objectified. Each name is a class name (model name).
図3Aにおいて、まず、「ソース1」、「ソース2」から、「ターゲット1」、「ターゲット2」への変換の媒介として「媒介データ1」が設定されており、「ソース3」から、「ターゲット3」への変換の媒介として「媒介データ3」が設定されているとする。また、「媒介データ1」と「媒介データ3」との間に、クラス「媒介データ2」が設定されているとする。この場合、例えば、「ソース1」「ソース2」から、「ターゲット3」への変換が、「媒介データ1」「媒介データ2」「媒介データ3」を介して新たに実現され得ることになる。同様に、「ソース3」から「ターゲット1」「ターゲット2」への変換が、「媒介データ3」「媒介データ2」「媒介データ1」を介して新たに実現され得ることになる。
In FIG. 3A, first, "mediation data 1" is set as an intermediary for conversion from "source 1" and "source 2" to "target 1" and "target 2", and from "source 3" to "source 3". It is assumed that "mediation data 3" is set as an intermediary for conversion to "target 3". Further, it is assumed that the class "mediation data 2" is set between the "mediation data 1" and the "mediation data 3". In this case, for example, conversion from "source 1" and "source 2" to "target 3" can be newly realized via "mediation data 1", "mediation data 2", and "mediation data 3". .. Similarly, the conversion from "source 3" to "target 1" and "target 2" can be newly realized via "mediation data 3", "mediation data 2", and "mediation data 1".
ここで「媒介データ1」と「媒介データ2」との関係は等価関係であり、「媒介データ3」は「媒介データ2」を拡張したものである。媒介データの変更や拡張を古いコンポーネントを利用可能な状態で実施するためには、「媒介データ1」と「媒介データ2」との間で、2通りの変換が考慮されればよく、「媒介データ2」と「媒介データ3」との間でも、2通りの変換が考慮されればよい。これは、M+N通りの再開発が2通りの変換の開発に効率化されることを意味する。
Here, the relationship between "mediation data 1" and "mediation data 2" is an equivalent relationship, and "mediation data 3" is an extension of "mediation data 2". In order to change or extend the mediation data with the old components available, two conversions between "mediation data 1" and "mediation data 2" need to be considered, and "mediation". Two types of conversion may be considered between "data 2" and "mediation data 3". This means that M + N redevelopment will be streamlined to two conversion developments.
なお、本開示のDPPにおいて、クラスであるデータ間の矢印(例えば、ソース1とターゲット1との間の、ソース1からターゲット1への矢印)が、継承関係を示すものであるように、各クラスが定義されている。ソース1とターゲット1との場合、矢印が示すように、「ソース1」がサブクラスであり、「ターゲット1」がスーパークラスである。
In the DPP of the present disclosure, the arrows between the data that are classes (for example, the arrows from the source 1 to the target 1 between the source 1 and the target 1) indicate the inheritance relationship. The class is defined. In the case of source 1 and target 1, as indicated by the arrow, "source 1" is a subclass and "target 1" is a superclass.
更に、DPPでは、自動データ変換のためのインタプリタも構築され得る。図3Bは、インタプリタの動作例を示す図である。まず、「ソース1」から、「ターゲット1」への変換の媒介として「媒介データ1」が設定されており、「ソース2」、「ソース3」から、「ターゲット2」、「ターゲット3」への変換の媒介として「媒介データ2」が設定されており、更に、「ソース3」から「ターゲット3」への変換の媒介の設定は無い、とする。更に、「媒介データ1」と「媒介データ2」との間に相互の変換が設定されているとする。この場合に、インタプリタは、「処理Generate」で囲まれた部分Gの複雑な処理をユーザから隠蔽する役割を果たす。
Furthermore, DPP can also build an interpreter for automatic data conversion. FIG. 3B is a diagram showing an operation example of the interpreter. First, "mediation data 1" is set as an intermediary for conversion from "source 1" to "target 1", and from "source 2" and "source 3" to "target 2" and "target 3". It is assumed that "mediation data 2" is set as an intermediary for the conversion of, and that there is no mediation for conversion from "source 3" to "target 3". Further, it is assumed that mutual conversion is set between "mediation data 1" and "mediation data 2". In this case, the interpreter plays a role of hiding the complicated processing of the portion G surrounded by the "processing Generate" from the user.
インタプリタは、その内部で必要に応じて媒介データを生成した上で自動データ変換を行う。例えば、図3Bに示す場合の「ソース3」から「ターゲット1」の変換を考える。このとき「ソース3」->「媒介データ2」->「媒介データ1」->「ターゲット1」という経路が想定され得る。インタプリタでは、各クラスの変換関係(即ち、継承関係)を把握しており、実際の「ソース3」から「ターゲット1」への変換時にはそれに基づいて、必要な媒介データの生成を行う。
The interpreter internally generates intermediary data as needed and then performs automatic data conversion. For example, consider the conversion from "source 3" to "target 1" in the case shown in FIG. 3B. At this time, a route of "source 3"-> "mediation data 2"-> "mediation data 1"-> "target 1" can be assumed. The interpreter grasps the conversion relationship (that is, inheritance relationship) of each class, and generates necessary mediation data based on the conversion relationship from the actual "source 3" to the "target 1".
インタプリタは、実際の変換前に、複数の変換経路を想定し、それぞれに対して変換のコスト(例えば、矢印が示す変換(継承)が用いられた回数)を、計算するように構成されている。例えば、図3Bに示す場合の「ソース3」から「ターゲット3」の変換を考える。このとき「ソース3」->「媒介データ2」->「ターゲット3」という経路や、「ソース3」->「媒介データ2」->「媒介データ1」->「媒介データ2」->「媒介データ1」->「ターゲット3」という経路も想定されなくは無いが、「ソース3」->「ターゲット3」という経路が最も高速且つ効率的であることは明白である。このように、なるべく効率的であり高速である、変換経路を、インタプリタは自動決定しようとする。
The interpreter is configured to assume multiple transformation paths and calculate the cost of the transformation (eg, the number of times the transformation (inheritance) indicated by the arrow is used) for each before the actual transformation. .. For example, consider the conversion from "source 3" to "target 3" in the case shown in FIG. 3B. At this time, the route "source 3"-> "mediation data 2"-> "target 3" or "source 3"-> "mediation data 2"-> "mediation data 1"-> "mediation data 2"-> The route "mediation data 1"-> "target 3" is not unthinkable, but it is clear that the route "source 3"-> "target 3" is the fastest and most efficient. In this way, the interpreter automatically determines the conversion path, which is as efficient and fast as possible.
3.1. DPPと、一般的なオブジェクト指向プログラミングとの特性の差異
DPPと、一般的なオブジェクト指向プログラミングとの特性の差異は、上記の表に示した通りである。 3.1. Differences in characteristics between DPP and general object-oriented programming The differences in characteristics between DPP and general object-oriented programming are as shown in the above table.
DPPと、一般的なオブジェクト指向プログラミングとの特性の差異は、上記の表に示した通りである。 3.1. Differences in characteristics between DPP and general object-oriented programming The differences in characteristics between DPP and general object-oriented programming are as shown in the above table.
ここで「表現形式が異なること」について、説明する。「テキスト形式」と「バイナリ形式」は、表現形式が異なる一例である。
Here, "the expression format is different" will be explained. "Text format" and "binary format" are examples in which the expression formats are different.
更に、例えば、画像データであるならば、png, jpeg, bmp, tif、動画データであるならば、avi, mpeg, mov, wmv、などのように、無数の表現形式があり、それらが異なれば表現形式が異なる。
Furthermore, for example, if it is image data, there are innumerable expression formats such as png, jpeg, bmp, tif, if it is video data, avi, mpeg, mov, wmv, etc., and if they are different, The expression format is different.
また、テキスト形式と言っても、改行コードの違いによって、
・改行コードをLFとする表現形式
・改行コードをCR+LFとする表現形式
・改行コードをCRとする表現形式
などの違いがある。 Also, even though it is a text format, it depends on the line feed code.
-There are differences in the expression format in which the line feed code is LF, the expression format in which the line feed code is CR + LF, and the expression format in which the line feed code is CR.
・改行コードをLFとする表現形式
・改行コードをCR+LFとする表現形式
・改行コードをCRとする表現形式
などの違いがある。 Also, even though it is a text format, it depends on the line feed code.
-There are differences in the expression format in which the line feed code is LF, the expression format in which the line feed code is CR + LF, and the expression format in which the line feed code is CR.
C++言語のクラスでいえば、次のクラスA,Bは、データの格納順序が異なるので異なる表現形式である。
class A { double x; double y; };
class B { double y; double x; };
プログラミング言語もコンピュータへの指示を表現する表現形式の一つであり、C++、C、fortran、pythonなど、プログラミング言語が異なれば表現形式が異なる。 Speaking of C ++ language classes, the following classes A and B have different expression formats because the data storage order is different.
class A {double x; double y;};
class B {double y; double x;};
A programming language is also one of the expression formats for expressing instructions to a computer, and different programming languages such as C ++, C, fortran, and python have different expression formats.
class A { double x; double y; };
class B { double y; double x; };
プログラミング言語もコンピュータへの指示を表現する表現形式の一つであり、C++、C、fortran、pythonなど、プログラミング言語が異なれば表現形式が異なる。 Speaking of C ++ language classes, the following classes A and B have different expression formats because the data storage order is different.
class A {double x; double y;};
class B {double y; double x;};
A programming language is also one of the expression formats for expressing instructions to a computer, and different programming languages such as C ++, C, fortran, and python have different expression formats.
性別をM、Fと書くか、男性、女性と書くか、を決めても、表現形式を定めたこと(即ち、異なること)になる。
Even if you decide whether to write gender as M, F or male or female, it means that the expression format is decided (that is, different).
3.2. オブジェクトがノードに関連付けられた木構造
本開示においては、データの解釈と、データの統合が、オブジェクトがノードに関連付けられた木構造(グラフの一例)を構築することで行われる。木構造は、一般に、木構造の構成要素であるノードと、二つのノードの間の親子関係からなり、各ノードが高々一つだけ親子関係の親にあたるノードをもつものである。親子関係の親にあたるノードをもたないノードは特別に根ノードとよばれて木構造にただ一つだけ存在する。本開示における木構造は、各ノードにオブジェクトが一つだけ関連付けられたものであり、また、木構造の異なるノードに同じオブジェクトを関連付けることを可能としている。本開示における木構造の親子関係は、データ処理プラットフォームの述語論理L2で定義された二項関係である。本開示において、ある木構造のノードに関連付けられたオブジェクトにダウンキャストが生じると、ダウンキャスト後の新しいデータ型に対して述語論理L2で定義されている親子関係から、そのノードに対して子ノードが新たに生じ得る。すなわち、木構造の各ノードに関連付けられたオブジェクトのダウンキャストは、木構造を成長させ得る。 3.2. Tree structure in which objects are associated with nodes In this disclosure, data interpretation and data integration are performed by constructing a tree structure in which objects are associated with nodes (an example of a graph). A tree structure generally consists of a node that is a component of the tree structure and a parent-child relationship between two nodes, and each node has at most one node that is the parent of the parent-child relationship. A node that does not have a node that is the parent of a parent-child relationship is specially called a root node, and there is only one node in the tree structure. The tree structure in the present disclosure has only one object associated with each node, and it is possible to associate the same object with nodes having different tree structures. The parent-child relationship of the tree structure in the present disclosure is a binary relation defined by the predicate logic L2 of the data processing platform. In the present disclosure, when an object associated with a tree-structured node is downcast, the parent-child relationship defined in predicate logic L2 for the new data type after the downcast causes a child node for that node. Can occur anew. That is, downcasting of the objects associated with each node of the tree structure can grow the tree structure.
本開示においては、データの解釈と、データの統合が、オブジェクトがノードに関連付けられた木構造(グラフの一例)を構築することで行われる。木構造は、一般に、木構造の構成要素であるノードと、二つのノードの間の親子関係からなり、各ノードが高々一つだけ親子関係の親にあたるノードをもつものである。親子関係の親にあたるノードをもたないノードは特別に根ノードとよばれて木構造にただ一つだけ存在する。本開示における木構造は、各ノードにオブジェクトが一つだけ関連付けられたものであり、また、木構造の異なるノードに同じオブジェクトを関連付けることを可能としている。本開示における木構造の親子関係は、データ処理プラットフォームの述語論理L2で定義された二項関係である。本開示において、ある木構造のノードに関連付けられたオブジェクトにダウンキャストが生じると、ダウンキャスト後の新しいデータ型に対して述語論理L2で定義されている親子関係から、そのノードに対して子ノードが新たに生じ得る。すなわち、木構造の各ノードに関連付けられたオブジェクトのダウンキャストは、木構造を成長させ得る。 3.2. Tree structure in which objects are associated with nodes In this disclosure, data interpretation and data integration are performed by constructing a tree structure in which objects are associated with nodes (an example of a graph). A tree structure generally consists of a node that is a component of the tree structure and a parent-child relationship between two nodes, and each node has at most one node that is the parent of the parent-child relationship. A node that does not have a node that is the parent of a parent-child relationship is specially called a root node, and there is only one node in the tree structure. The tree structure in the present disclosure has only one object associated with each node, and it is possible to associate the same object with nodes having different tree structures. The parent-child relationship of the tree structure in the present disclosure is a binary relation defined by the predicate logic L2 of the data processing platform. In the present disclosure, when an object associated with a tree-structured node is downcast, the parent-child relationship defined in predicate logic L2 for the new data type after the downcast causes a child node for that node. Can occur anew. That is, downcasting of the objects associated with each node of the tree structure can grow the tree structure.
4.[実施の形態1]
続いて、実施の形態1に係るデータ解釈方法及びデータ解釈装置を説明する。 4. [Embodiment 1]
Subsequently, the data interpretation method and the data interpretation device according to the first embodiment will be described.
続いて、実施の形態1に係るデータ解釈方法及びデータ解釈装置を説明する。 4. [Embodiment 1]
Subsequently, the data interpretation method and the data interpretation device according to the first embodiment will be described.
4.1.データ解釈装置の構成
4.1. Data interpreter configuration
図1は、本実施の形態に係るデータ解釈装置2の物理的な構成を示す図である。データ解釈装置2は、ハードウェアプロセッサに相当する制御部4と、メモリに相当するRAM(Random Access Memory)6と、メモリに相当するROM(Read Only Memory)8と、通信部12と、入力部14と、出力部16とを有する。これら各構成は、バス10を介して相互にデータ送受信可能に接続される。
FIG. 1 is a diagram showing a physical configuration of the data interpretation device 2 according to the present embodiment. The data interpretation device 2 includes a control unit 4 corresponding to a hardware processor, a RAM (RandomAccessMemory) 6 corresponding to a memory, a ROM (ReadOnlyMemory) 8 corresponding to a memory, a communication unit 12, and an input unit. It has 14 and an output unit 16. Each of these configurations is connected to each other via the bus 10 so that data can be transmitted and received.
制御部4は、RAM6又はROM8に記憶されたプログラムの実行に関する制御やデータの演算、加工を行う。制御部4は、様々なプログラム(例えば、データ解釈のためのプログラム)を実行する演算装置である。制御部4は、入力部14や通信部12から種々の入力データを受け取り、入力データの演算結果を出力部16に表示したり、RAM6やROM8に格納したり、通信部12を通じて外部サーバに転送したりする。制御部4は、CPU(Central Processing Unit)などにより構成される。
The control unit 4 controls the execution of the program stored in the RAM 6 or the ROM 8, calculates and processes the data. The control unit 4 is an arithmetic unit that executes various programs (for example, a program for data interpretation). The control unit 4 receives various input data from the input unit 14 and the communication unit 12, displays the calculation result of the input data in the output unit 16, stores it in the RAM 6 or ROM 8, and transfers it to an external server through the communication unit 12. To do. The control unit 4 is composed of a CPU (Central Processing Unit) and the like.
RAM6は、データの書き換えが可能な記憶部であり、例えば半導体記憶素子で構成される。RAM6は、制御部4が実行するアプリケーション等のプログラムやデータを記憶する。
The RAM 6 is a storage unit capable of rewriting data, and is composed of, for example, a semiconductor storage element. The RAM 6 stores programs and data such as applications executed by the control unit 4.
ROM8は、データの読み出しのみが可能な記憶部であり、例えば半導体記憶素子で構成される。ROM8は、例えばファームウェア等のプログラムやデータを記憶する。
The ROM 8 is a storage unit capable of only reading data, and is composed of, for example, a semiconductor storage element. The ROM 8 stores programs and data such as firmware.
通信部12は、データ解釈装置2を外部ネットワーク20に接続する通信インタフェースである。
The communication unit 12 is a communication interface that connects the data interpretation device 2 to the external network 20.
入力部14は、ユーザからデータの入力を受け付けるものであり、例えば、キーボードやマウス、タッチパネル、スキャナーで構成される。例えば、入力データとして2D-CAD図面のような非構造化データを読み込む場合、スキャナーを使用して画像データ(ラスタデータ)を取得することができる。
The input unit 14 receives data input from the user, and is composed of, for example, a keyboard, a mouse, a touch panel, and a scanner. For example, when reading unstructured data such as a 2D-CAD drawing as input data, image data (raster data) can be acquired using a scanner.
出力部16は、制御部4による演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成される。
The output unit 16 visually displays the calculation result of the control unit 4, and is composed of, for example, an LCD (Liquid Crystal Display).
データ解釈のためのプログラムは、RAM6やROM8等の、コンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部12により接続される外部ネットワーク20を介して外部サーバ24から提供されてもよい。CADデータや、CADデータに基づくオブジェクトは、通信部12により接続される外部ネットワーク20を介して外部サーバ24等から提供されるのが好ましい。データ解釈装置2では、制御部4がデータ解釈のためのプログラムを実行することにより、獲得部5aや解釈部5bなどの様々な機能が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、データ解釈装置2は、CPUとRAM6やROM8が一体化したLSI(Large-Scale Integration)や超LSIを備えていてもよい。
The program for data interpretation may be stored and provided in a computer-readable storage medium such as RAM 6 or ROM 8, or provided from the external server 24 via the external network 20 connected by the communication unit 12. May be done. It is preferable that the CAD data and the object based on the CAD data are provided from the external server 24 or the like via the external network 20 connected by the communication unit 12. In the data interpretation device 2, various functions such as the acquisition unit 5a and the interpretation unit 5b are realized by the control unit 4 executing the program for data interpretation. It should be noted that these physical configurations are examples and do not necessarily have to be independent configurations. For example, the data interpretation device 2 may include an LSI (Large-Scale Integration) or a super LSI in which a CPU and a RAM 6 or a ROM 8 are integrated.
制御部4にはプラットフォーム(ここでは、データ処理プラットフォーム)5が設けられる。当該プラットフォーム5は、獲得部5aと、解釈部5bとを含む、機能ブロックを、備える。
The control unit 4 is provided with a platform (here, a data processing platform) 5. The platform 5 includes a functional block that includes an acquisition unit 5a and an interpretation unit 5b.
獲得部5aは、入力データをオブジェクトとして獲得する。入力データは、構造化データであってもよく、非構造化データであってもよい。
The acquisition unit 5a acquires the input data as an object. The input data may be structured data or unstructured data.
解釈部5bは、獲得部5aが獲得したオブジェクトに対して初期木構造を作成する。更に、解釈部5bは、初期木構造から木構造を自動成長させた結果を入力データの解釈とする。解釈部5bは、この解釈において、木構造の各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行する。
The interpretation unit 5b creates an initial tree structure for the object acquired by the acquisition unit 5a. Further, the interpretation unit 5b interprets the input data as the result of automatically growing the tree structure from the initial tree structure. In this interpretation, the interpretation unit 5b appropriately performs type conversion of the object associated with each node of the tree structure to the extension side or the inclusion side.
4.2.データ解釈装置の動作
図4は、橋脚構造を示す橋脚構造一般図の例であり、CADデータにより構成されている。CADデータである橋脚構造一般図のデータは、線分や曲線、文字列等を構成要素として含み、構成要素の集まりは、平面図や正面図などの「図」と、各種表などの「表」とに解釈され得る。 4.2. Operation of the data interpreting device FIG. 4 is an example of a general view of the pier structure showing the pier structure, and is composed of CAD data. The data of the general drawing of the pier structure, which is CAD data, includes line segments, curves, character strings, etc. as components, and the collection of components is a "figure" such as a plan view or a front view, and a "table" such as various tables. Can be interpreted as.
図4は、橋脚構造を示す橋脚構造一般図の例であり、CADデータにより構成されている。CADデータである橋脚構造一般図のデータは、線分や曲線、文字列等を構成要素として含み、構成要素の集まりは、平面図や正面図などの「図」と、各種表などの「表」とに解釈され得る。 4.2. Operation of the data interpreting device FIG. 4 is an example of a general view of the pier structure showing the pier structure, and is composed of CAD data. The data of the general drawing of the pier structure, which is CAD data, includes line segments, curves, character strings, etc. as components, and the collection of components is a "figure" such as a plan view or a front view, and a "table" such as various tables. Can be interpreted as.
4.2.1.データを解釈する過程
設計図面オブジェクトを入力として、図面の要素を表すオブジェクトがノードに関連付けられた木構造を生成する過程であり、生成された木構造を図面の解釈結果とする。図18に示すように、図面に含まれる線分や文字列、円などの要素をすべて同一の階層に配した木構造を初期木構造とし、木構造を順次成長させる。ただし、図面データ中の要素が最初から構造化されている場合にはその構造を反映した木構造を初期木構造としてもよい。一例として図19に、引出線付きテキストバルーンを認識する過程を、木構造の成長の例として示す。図19では、図面内において円が文字列を包含している場合(上段)に、二つをまとめてテキストバルーンと解釈し(中段)、さらに、バルーンに折れ線が連結している場合にはその折れ線を引き出し線とみなしている(下段)。つまり、円要素と文字列要素の包含関係からテキストバルーンを認識し、テキストバルーンと線分要素の接続から引き出し線を認識する。引出線付きテキストバルーンの一部分となった線分要素に「引出線」という役割が割り当てられるように、木構造の親子関係は、図面の要素の使われ方を明示したコンテキストを表している。 4.2.1. Process of interpreting data This is the process of generating a tree structure associated with a node by an object representing an element of the drawing by inputting a design drawing object, and the generated tree structure is used as the interpretation result of the drawing. As shown in FIG. 18, a tree structure in which elements such as line segments, character strings, and circles included in the drawing are all arranged in the same hierarchy is used as the initial tree structure, and the tree structure is sequentially grown. However, if the elements in the drawing data are structured from the beginning, a tree structure that reflects the structure may be used as the initial tree structure. As an example, FIG. 19 shows the process of recognizing a text balloon with a leader as an example of the growth of a tree structure. In FIG. 19, when a circle contains a character string in the drawing (upper row), the two are collectively interpreted as a text balloon (middle row), and when a polygonal line is connected to the balloon, that is the case. The polygonal line is regarded as a leader line (lower). That is, the text balloon is recognized from the inclusion relationship between the circle element and the character string element, and the leader line is recognized from the connection between the text balloon and the line segment element. The parent-child relationship of the tree structure represents a context that specifies how the elements of the drawing are used, so that the line element that is part of the text balloon with a leader is assigned the role of "leader".
設計図面オブジェクトを入力として、図面の要素を表すオブジェクトがノードに関連付けられた木構造を生成する過程であり、生成された木構造を図面の解釈結果とする。図18に示すように、図面に含まれる線分や文字列、円などの要素をすべて同一の階層に配した木構造を初期木構造とし、木構造を順次成長させる。ただし、図面データ中の要素が最初から構造化されている場合にはその構造を反映した木構造を初期木構造としてもよい。一例として図19に、引出線付きテキストバルーンを認識する過程を、木構造の成長の例として示す。図19では、図面内において円が文字列を包含している場合(上段)に、二つをまとめてテキストバルーンと解釈し(中段)、さらに、バルーンに折れ線が連結している場合にはその折れ線を引き出し線とみなしている(下段)。つまり、円要素と文字列要素の包含関係からテキストバルーンを認識し、テキストバルーンと線分要素の接続から引き出し線を認識する。引出線付きテキストバルーンの一部分となった線分要素に「引出線」という役割が割り当てられるように、木構造の親子関係は、図面の要素の使われ方を明示したコンテキストを表している。 4.2.1. Process of interpreting data This is the process of generating a tree structure associated with a node by an object representing an element of the drawing by inputting a design drawing object, and the generated tree structure is used as the interpretation result of the drawing. As shown in FIG. 18, a tree structure in which elements such as line segments, character strings, and circles included in the drawing are all arranged in the same hierarchy is used as the initial tree structure, and the tree structure is sequentially grown. However, if the elements in the drawing data are structured from the beginning, a tree structure that reflects the structure may be used as the initial tree structure. As an example, FIG. 19 shows the process of recognizing a text balloon with a leader as an example of the growth of a tree structure. In FIG. 19, when a circle contains a character string in the drawing (upper row), the two are collectively interpreted as a text balloon (middle row), and when a polygonal line is connected to the balloon, that is the case. The polygonal line is regarded as a leader line (lower). That is, the text balloon is recognized from the inclusion relationship between the circle element and the character string element, and the leader line is recognized from the connection between the text balloon and the line segment element. The parent-child relationship of the tree structure represents a context that specifies how the elements of the drawing are used, so that the line element that is part of the text balloon with a leader is assigned the role of "leader".
4.2.2.表である「表題欄」を解釈する動作
図4に示す橋脚構造一般図において、図5に示す「表題欄」を解釈する手順を説明する。「表題欄」は、CAD製図基準(国土交通省)において橋脚構造一般図の右下隅に記載することが規定されている。図4に示す橋脚構造一般図の例においても、右下隅に設けられている。更に、「表題欄」は、CADデータでは線と文字列から構成される。 4.2.2. Operation for Interpreting the "Title Column" in the Table In the general diagram of the pier structure shown in FIG. 4, the procedure for interpreting the "Title Column" shown in FIG. 5 will be described. The CAD drafting standard (Ministry of Land, Infrastructure, Transport and Tourism) stipulates that the "title column" should be entered in the lower right corner of the general pier structure drawing. Also in the example of the general view of the pier structure shown in FIG. 4, it is provided in the lower right corner. Further, the "title column" is composed of a line and a character string in CAD data.
図4に示す橋脚構造一般図において、図5に示す「表題欄」を解釈する手順を説明する。「表題欄」は、CAD製図基準(国土交通省)において橋脚構造一般図の右下隅に記載することが規定されている。図4に示す橋脚構造一般図の例においても、右下隅に設けられている。更に、「表題欄」は、CADデータでは線と文字列から構成される。 4.2.2. Operation for Interpreting the "Title Column" in the Table In the general diagram of the pier structure shown in FIG. 4, the procedure for interpreting the "Title Column" shown in FIG. 5 will be described. The CAD drafting standard (Ministry of Land, Infrastructure, Transport and Tourism) stipulates that the "title column" should be entered in the lower right corner of the general pier structure drawing. Also in the example of the general view of the pier structure shown in FIG. 4, it is provided in the lower right corner. Further, the "title column" is composed of a line and a character string in CAD data.
まず、CADデータ「橋脚構造一般図」において、線の集まりであるデータが、オブジェクト化される(クラス名は、例えば、「LineBuf2D」とされる)。図6は、「橋脚構造一般図」において線で構成されるオブジェクト(クラス名「LineBuf2D」)を示す図である。オブジェクトとして、「A」から「P」まで、16個のものが示されている。
First, in the CAD data "Pier structure general diagram", the data that is a collection of lines is converted into an object (the class name is, for example, "LineBuf2D"). FIG. 6 is a diagram showing an object (class name “LineBuf2D”) composed of lines in the “general view of pier structure”. As objects, 16 objects from "A" to "P" are shown.
次に、図6に示すように、線の集まりのオブジェクト(クラス名「LineBuf2D」)から、セルの集合と解釈できないものが「表題欄」の候補から除外される。ここで、セルの集合については「CellSet」というクラスが定義されており、よって、線の集まりのオブジェクト(クラス名「LineBuf2D」)から、サブクラス「CellSet」へのダウンキャストが自動実行される。図7は、線の集まりのオブジェクト(クラス名「LineBuf2D」)がサブクラス「CellSet」にダウンキャストされ、「表題欄」の候補が残りの8個のオブジェクトであることを示す図である。「A」、「B」、「C」、「D」、「E」、「F」、「K」、及び「L」のオブジェクトが、「表題欄」の候補である。
Next, as shown in Fig. 6, from the objects of a set of lines (class name "LineBuf2D"), those that cannot be interpreted as a set of cells are excluded from the candidates for the "title column". Here, a class called "CellSet" is defined for the set of cells, so that the downcast from the object of the set of lines (class name "LineBuf2D") to the subclass "CellSet" is automatically executed. FIG. 7 is a diagram showing that an object of a group of lines (class name “LineBuf2D”) is downcast to the subclass “CellSet”, and the candidates for the “title block” are the remaining eight objects. Objects "A", "B", "C", "D", "E", "F", "K", and "L" are candidates for the "title block".
なお、線の集まりのオブジェクト(クラス名「LineBuf2D」)から、セルの集合と解釈できないものを除外するに当たっては、サブクラス「CellSet」に対してクラス「LineBuf2D」からダウンキャストするための関数をあらかじめ定義しておく。ここで、スーパークラスからサブクラスへダウンキャストするためにあらかじめ定義しておく関数を、input関数と称することとする。ダウンキャストが失敗したものが「表題欄」の候補から外れることになる。ここでのサブクラス「CellSet」とクラス「LineBuf2D」の継承関係は、セルの集合「CellSet」と解釈されたならば線の集まり「LineBuf2D」とも解釈されなければならないという外延・内包関係に拠る(前述(条件2)参照)。
In addition, when excluding those that cannot be interpreted as a set of cells from the object of a set of lines (class name "LineBuf2D"), a function for downcasting from the class "LineBuf2D" to the subclass "CellSet" is defined in advance. I will do it. Here, a function defined in advance for downcasting from a superclass to a subclass is referred to as an input function. Those that fail to downcast will be excluded from the "title block" candidates. The inheritance relationship between the subclass "CellSet" and the class "LineBuf2D" here depends on the extension / inclusion relationship that if it is interpreted as a set of cells "CellSet", it must also be interpreted as a set of lines "LineBuf2D" (described above). (See condition 2).
更に、線の集まりのオブジェクト(クラス名「LineBuf2D」)から、セルの集合と解釈できないものを除外するに当たっては、スーパークラスからサブクラスへのダウンキャストがどの程度確からしいかを示す値(例えば、セルの集合と解釈されたオブジェクトが何%の確率で実際にセルの集合であるかを示す値)、確度をサブクラスへの変換時(input関数実行時)にオブジェクトに与えることができる。確度の計算の際に、スーパークラスに付与されている確度を参照することも可能である。
In addition, a value that indicates how likely it is to downcast from a superclass to a subclass in excluding an object of a collection of lines (class name "LineBuf2D") that cannot be interpreted as a set of cells (eg, cells). A value that indicates the percentage of probability that an object interpreted as a set of cells is actually a set of cells), and accuracy can be given to the object when converting to a subclass (when executing an input function). It is also possible to refer to the accuracy given to the superclass when calculating the accuracy.
次に、図8Aに示すように、クラス「CellSet」のオブジェクトに対してサブクラス「Table」へのダウンキャストが試行される。この場合のinput関数に対しては、スーパークラス「CellSet」のオブジェクトとともに、CADデータの要素(線や文字列等)が入力され、セルの集合の各セルに含まれる要素が抽出される。クラス「CellSet」のオブジェクトに対して、一定数の文字列等が入力された場合に、ダウンキャスト成功とするようにinput関数を定義することが可能であり、「Table」のクラスにダウンキャストされたオブジェクトは、「Table」と解釈されることになる。
Next, as shown in FIG. 8A, downcasting to the subclass "Table" is attempted for the object of the class "CellSet". For the input function in this case, CAD data elements (lines, character strings, etc.) are input together with the objects of the superclass "CellSet", and the elements included in each cell of the cell set are extracted. It is possible to define an input function so that downcast is successful when a certain number of character strings etc. are input to the object of class "CellSet", and it is downcast to the class of "Table". The object will be interpreted as "Table".
次に、図8Bに示すように、クラス「Table」のオブジェクトにおいて、所定の項目、ここでは「図面名」の項目が存在するか調べる。存在すればクラス「表題欄」のオブジェクトにダウンキャストされ、「表題欄」であると解釈されることになる。このとき、ダウンキャストは、input関数によらず、クラスにあらかじめ定義されたダウンキャスト可能かをクラスの内部データから判別する関数(is関数と称する)と実際のダウンキャストを実行する関数(cast関数と称する)に基づいて実行される。ここで、is関数とcast関数によるダウンキャストを分析・分類によるダウンキャストと称する。以上のようにして「表題欄」が解釈される。
Next, as shown in FIG. 8B, it is checked whether a predetermined item, here, an item of "drawing name" exists in the object of the class "Table". If it exists, it will be downcast to an object of class "title block" and will be interpreted as "title block". At this time, the downcast is a function that determines from the internal data of the class whether it is possible to downcast in advance in the class (called is function) and a function that executes the actual downcast (cast function) regardless of the input function. Is executed based on. Here, the downcast by the is function and the cast function is called the downcast by analysis / classification. The "title block" is interpreted as described above.
ここでは、表である「表題欄」を解釈する動作について、木構造を成長させる観点から簡単に説明する。図21は、CAD製図基準(国土交通省)で定義されている「表題欄」を認識する過程を示している。「表題欄」の認識のため、まず、図21(1)のように、接続された線分の集まりが抽出され、線分の配置状況から「表の枠組み」であるかどうかが判定される。図21(2)のように、「表の枠組み」と判定された場合には、それを表現するオブジェクトに表の各セルの情報が記録されている。このセル情報を使って、さらに図面からセル内に文字列が配置されているかを調べ、文字列が配置されている場合には「表」であると判定し(図21(3))、セルの情報として文字列を格納する。CAD製図基準に従う図面の表に対して、セルの項目として"工事名"がある等の条件を満たせば、図21(4)のように、「表」は「表題欄」であると認識することができる。
Here, the operation of interpreting the "title column", which is a table, will be briefly explained from the viewpoint of growing the tree structure. FIG. 21 shows the process of recognizing the “title column” defined in the CAD drafting standard (Ministry of Land, Infrastructure, Transport and Tourism). In order to recognize the "title column", first, as shown in FIG. 21 (1), a group of connected line segments is extracted, and it is determined from the arrangement status of the line segments whether or not it is a "table framework". .. As shown in FIG. 21 (2), when the "table framework" is determined, the information of each cell of the table is recorded in the object expressing it. Using this cell information, it is further investigated from the drawing whether a character string is arranged in the cell, and if the character string is arranged, it is determined to be a "table" (FIG. 21 (3)), and the cell is determined. Stores a character string as information of. As shown in Fig. 21 (4), the "table" is recognized as the "title column" if the conditions such as "construction name" as a cell item are satisfied for the table of the drawing according to the CAD drafting standard. be able to.
4.2.3.図である「橋脚正面図」を解釈する動作
続いて、図4に示す橋脚構造一般図において、図である「橋脚正面図」を解釈する手順を説明する。なお、図4では、中央上部に「橋脚正面図」が設けられている。 4.2.2. Operation for Interpreting the "Pier Front View" in FIG. 4 Next, in the bridge pier structure general diagram shown in FIG. 4, a procedure for interpreting the "pier front view" in the figure will be described. In FIG. 4, a “front view of the pier” is provided at the upper center.
続いて、図4に示す橋脚構造一般図において、図である「橋脚正面図」を解釈する手順を説明する。なお、図4では、中央上部に「橋脚正面図」が設けられている。 4.2.2. Operation for Interpreting the "Pier Front View" in FIG. 4 Next, in the bridge pier structure general diagram shown in FIG. 4, a procedure for interpreting the "pier front view" in the figure will be described. In FIG. 4, a “front view of the pier” is provided at the upper center.
まず、CADデータ「橋脚構造一般図」において、線の集まりであるデータが、オブジェクト化される(クラス名「LineBuf2D」)。図6は、「橋脚構造一般図」において線で構成されるオブジェクトを示す図である。オブジェクトとして、「A」から「P」まで、16個のものが示されている。
First, in the CAD data "Pier structure general diagram", the data that is a collection of lines is converted into an object (class name "LineBuf2D"). FIG. 6 is a diagram showing an object composed of lines in the “general view of pier structure”. As objects, 16 objects from "A" to "P" are shown.
次に、線の集まりのオブジェクト(クラス名「LineBuf2D」)から、寸法値が付いている図「View」と解釈できないものを除外するに当たっては、サブクラス「View」に対してクラス「LineBuf2D」からダウンキャストするための関数をあらかじめ定義しておく。ダウンキャストが失敗したものが「View」と解釈される候補から外れることになる。ここでのサブクラス「View」とクラス「LineBuf2D」の継承関係は、寸法値がついている図「View」と解釈されたならば線の集まり「LineBuf2D」とも解釈されなければならないという外延・内包関係に拠る(前述(条件2)参照)。図9は、線の集まりのオブジェクト(クラス名「LineBuf2D」)からサブクラス「View」でないものが除外され、残りの8個のセルを示す図である。「G」、「H」、「I」、「J」、「M」、「N」、「O」及び「P」のセルが、残されている。
Next, in excluding those that cannot be interpreted as the figure "View" with dimension values from the object of a collection of lines (class name "LineBuf2D"), down from the class "LineBuf2D" for the subclass "View". Define the function to cast in advance. Those that fail to downcast will be excluded from the candidates that will be interpreted as "View". The inheritance relationship between the subclass "View" and the class "LineBuf2D" here is an extension / inclusion relationship that must be interpreted as a group of lines "LineBuf2D" if it is interpreted as a figure "View" with dimension values. (See (Condition 2) above). FIG. 9 is a diagram showing the remaining eight cells after excluding those that are not the subclass “View” from the object of a group of lines (class name “LineBuf2D”). The cells "G", "H", "I", "J", "M", "N", "O" and "P" are left.
なお、線の集まりのオブジェクト(クラス名「LineBuf2D」)から、寸法値が付いている図「View」へのダウンキャストに当たっては、スーパークラスからサブクラスへのダウンキャストがどの程度確からしいかを示す値(例えば、寸法値の付いた図と解釈されたオブジェクトが何%の確率で実際に寸法値の付いた図であるかを示す値)、確度をサブクラスへの変換時にオブジェクトに与えることができる。
In addition, when downcasting from an object of a collection of lines (class name "LineBuf2D") to the figure "View" with dimension values, a value that indicates how probable the downcast from the superclass to the subclass is. (For example, a value that indicates what percentage of the probability that an object interpreted as a figure with dimensional values is actually a figure with dimensional values), accuracy can be given to the object when converting to a subclass.
オブジェクトが「橋脚正面図」であるかを調べるため、オブジェクトの内部データの所定の項目、ここではレイヤを参照し、主構造物(D-STR)レイヤに属しているオブジェクトの子要素があるか分析及び分類する。オブジェクトのすべての要素が主構造物(D-STR)レイヤに属していないとすれば、そのオブジェクトは「橋脚正面図」の候補から除外される。図10において、図9に示す8個のクラス名Viewのオブジェクトのうち、主構造物(D-STR)レイヤに属していないものが除外されて、「H」、「I」、「J」、「M」、「N」、「O」及び「P」を付して、7個が示されている。
To find out if an object is a "pier front view", refer to a given item in the object's internal data, here the layer, and see if there are any child elements of the object that belong to the main structure (D-STR) layer. Analyze and classify. If not all elements of an object belong to the main structure (D-STR) layer, the object is excluded from the "Pier front view" candidates. In FIG. 10, among the eight objects of the class name View shown in FIG. 9, those that do not belong to the main structure (D-STR) layer are excluded, and “H”, “I”, “J”, Seven are shown with "M", "N", "O" and "P".
input関数を用いたダウンキャスト(情報の入力によるダウンキャストと称する)では、オブジェクトが個々にもつ固有の内部データに加えて追加の情報を用いてダウンキャスト可能か否かを判断することができる。図11に示すように、クラス「View」のオブジェクトに対して、CADデータから表題となる文字列が入力され、「橋脚正面図」であると解釈される。以上のようにして、図面である「橋脚正面図」が解釈される。
In downcasting using the input function (called downcasting by inputting information), it is possible to judge whether or not downcasting is possible by using additional information in addition to the unique internal data that each object has. As shown in FIG. 11, a character string as a title is input from CAD data to an object of the class "View", and it is interpreted as a "pier front view". As described above, the drawing "front view of the pier" is interpreted.
4.2.4.図面を解釈する動作のまとめ
本実施の形態に係るデータ解釈装置及びデータ解釈方法では、2D-CAD図面の意味及び内容を段階的に認識する。 4.2.4. Summary of operation for interpreting drawings In the data interpretation device and data interpretation method according to this embodiment, the meaning and contents of 2D-CAD drawings are recognized step by step.
本実施の形態に係るデータ解釈装置及びデータ解釈方法では、2D-CAD図面の意味及び内容を段階的に認識する。 4.2.4. Summary of operation for interpreting drawings In the data interpretation device and data interpretation method according to this embodiment, the meaning and contents of 2D-CAD drawings are recognized step by step.
正面図や平面図などの各種の図に対しては、図13(1)及び図13(2)に示すように、線に着目する。即ち、線の集まりであるデータについてオブジェクト化(クラス名「LineBuf2D」)が行われる。次に、図13(2)、図13(3)及び図13(4)に示すように、寸法値などを図面から入力した上で、クラス名「View」のオブジェクトであると解釈し、更にクラス名「橋脚正面図」のオブジェクトであると解釈する。さらに、寸法値と「View」がもつ内部データの投影面から、橋脚の柱の高さが11mという情報が得られている。
For various views such as front views and plan views, pay attention to the lines as shown in FIGS. 13 (1) and 13 (2). That is, the data that is a collection of lines is made into an object (class name "LineBuf2D"). Next, as shown in FIGS. 13 (2), 13 (3), and 13 (4), after inputting dimensional values and the like from the drawing, it is interpreted as an object with the class name "View", and further. Interpret as an object with the class name "front view of pier". Furthermore, information that the height of the pillar of the pier is 11 m is obtained from the projection surface of the dimensional value and the internal data of "View".
各種の表に対しては、図14(1)及び図14(2)に示すように、線に着目する。即ち、線の集まりであるデータについてオブジェクト化(クラス名「LineBuf2D」)が行われる。次に、図14(2)及び図14(3)に示すように、クラス名「CellSet」のオブジェクトであると解釈する。次に、図14(3)及び図14(4)に示すように、文字列などのセルの内容を図面から入力した上で、クラス名「Table」のオブジェクトであると解釈し、更に、クラス名「下部工座標」のオブジェクトであると解釈する。
For various tables, pay attention to the lines as shown in FIGS. 14 (1) and 14 (2). That is, the data that is a collection of lines is made into an object (class name "LineBuf2D"). Next, as shown in FIGS. 14 (2) and 14 (3), it is interpreted as an object having the class name “CellSet”. Next, as shown in FIGS. 14 (3) and 14 (4), after inputting the cell contents such as a character string from the drawing, it is interpreted as an object of the class name "Table", and further, the class Interpreted as an object with the name "substructure coordinates".
図15に示すように、各種の表において、線の集まりのオブジェクト(クラス名「LineBuf2D」)は、セルの集合のオブジェクト(クラス名「CellSet」)として解釈され、更に、複数のセルに内容が充填されているオブジェクト(クラス名「Table」)や一つのセルのみを含むオブジェクト(クラス名「Cell」)として解釈される。同じように、図15に示すように、各種の図において、線の集まりのオブジェクト(クラス名「LineBuf2D」)は、寸法値が付いている図であるオブジェクト(クラス名「View」)として解釈され、更に、「橋脚正面図」特有の項目を持つオブジェクト(クラス名「橋脚正面図」)や「橋脚側面図」特有の項目を持つオブジェクト(クラス名「橋脚側面図」)として解釈される。
As shown in FIG. 15, in various tables, an object of a set of lines (class name "LineBuf2D") is interpreted as an object of a set of cells (class name "CellSet"), and the contents are further contained in a plurality of cells. It is interpreted as a filled object (class name "Table") or an object containing only one cell (class name "Cell"). Similarly, as shown in FIG. 15, in various figures, an object of a collection of lines (class name "LineBuf2D") is interpreted as an object (class name "View") that is a diagram with dimension values. Furthermore, it is interpreted as an object having an item peculiar to the "front view of the bridge pier" (class name "front view of the bridge pier") and an object having an item peculiar to the "side view of the pier" (class name "side view of the pier").
図16に示すように、2D-CAD図面の認識手法として、本実施の形態では、二通り設定されている。(1)「情報の入力」と、(2)「分析・解釈」である。
As shown in FIG. 16, as a recognition method for 2D-CAD drawings, two methods are set in this embodiment. (1) "input of information" and (2) "analysis / interpretation".
図16(1)に例として示しているように、セルの集合のオブジェクト(クラス名「CellSet」)に対して、入力データからの追加の情報として、図面上の情報が入力されることで、クラス名「Table」のオブジェクトとして解釈され得ることとなる。
As shown in FIG. 16 (1) as an example, the information on the drawing is input as additional information from the input data to the object (class name "CellSet") of the set of cells. It can be interpreted as an object with the class name "Table".
また、図16(2)に例として示しているように、クラス名「Table」のオブジェクトおいて、項目等を分析・分類してダウンキャストすることで、クラス名「表題欄」のオブジェクト、クラス名「構造高表」のオブジェクト、及び、クラス名「座標Table」のオブジェクト、が解釈され得ることとなる。
Further, as shown in FIG. 16 (2) as an example, in the object of the class name "Table", by analyzing and classifying the items etc. and downcasting, the object and the class of the class name "title column" An object with the name "Structural Height Table" and an object with the class name "Coordinate Table" can be interpreted.
なお、図27は、2D-CAD図面「006_P2橋脚構造一般図.dxf」を解釈するためのスクリプトの例である。このスクリプトは、本開示に係るデータ処理プラットフォームに理解される言語の一例である。当然ながら、本開示のデータ処理プラットフォームは、これまでに述べた要件を満たす限り、本発明者の創作したインタプリタ以外の別のインタプリタであっても全く構わない。スクリプトも、当該別のインタプリタによって理解される言語であって構わない。
Note that FIG. 27 is an example of a script for interpreting the 2D-CAD drawing "006_P2 pier structure general diagram.dxf". This script is an example of a language understood by the data processing platform according to the present disclosure. Of course, the data processing platform of the present disclosure may be an interpreter other than the interpreter created by the present inventor as long as the requirements described above are satisfied. The script may also be in a language understood by the other interpreter.
5.[実施の形態2]
本実施の形態に係るデータ統合装置2'は、複数のデータに分散している断片的な情報を統合してデータの表現対象の模型を作成する。 5. [Embodiment 2]
The data integration device 2'according to the present embodiment integrates fragmentary information distributed in a plurality of data to create a model of data expression target.
本実施の形態に係るデータ統合装置2'は、複数のデータに分散している断片的な情報を統合してデータの表現対象の模型を作成する。 5. [Embodiment 2]
The data integration device 2'according to the present embodiment integrates fragmentary information distributed in a plurality of data to create a model of data expression target.
図22を参照して、実施の形態2に係るデータ統合装置を説明する。
The data integration device according to the second embodiment will be described with reference to FIG.
5.1.データ統合装置の構成
5.1. Data integration device configuration
図22は、本実施の形態に係るデータ統合装置2'の物理的な構成を示す図である。データ統合装置2'は、ハードウェアプロセッサに相当する制御部4と、メモリに相当するRAM(Random Access Memory)6と、メモリに相当するROM(Read Only Memory)8と、通信部12と、入力部14と、出力部16とを有する。これら各構成は、バス10を介して相互にデータ送受信可能に接続される。通信部12は、データ統合装置2'を外部ネットワーク20に接続する通信インタフェースであり、データ統合装置2'は、通信部12により接続される外部ネットワーク20を介して外部サーバ24とも接続する。これらの、RAM6、ROM8、通信部12、入力部14、出力部16、及び、バス10は、図1に示す実施の形態1に係るものと、同様のものである。
FIG. 22 is a diagram showing a physical configuration of the data integration device 2'according to the present embodiment. The data integration device 2'is input to a control unit 4 corresponding to a hardware processor, a RAM (RandomAccessMemory) 6 corresponding to a memory, a ROM (ReadOnlyMemory) 8 corresponding to a memory, and a communication unit 12. It has a unit 14 and an output unit 16. Each of these configurations is connected to each other via the bus 10 so that data can be transmitted and received. The communication unit 12 is a communication interface for connecting the data integration device 2'to the external network 20, and the data integration device 2'also connects to the external server 24 via the external network 20 connected by the communication unit 12. The RAM 6, ROM 8, communication unit 12, input unit 14, output unit 16, and bus 10 are the same as those according to the first embodiment shown in FIG.
制御部4にはプラットフォーム(ここでは、データ処理プラットフォーム)5が設けられる。当該プラットフォーム5は、獲得部5aと、解釈部5bと、及び統合部5cとを含む、機能ブロックを備える。
The control unit 4 is provided with a platform (here, a data processing platform) 5. The platform 5 includes a functional block that includes an acquisition unit 5a, an interpretation unit 5b, and an integration unit 5c.
獲得部5aは、入力データをオブジェクトとして獲得する。入力データは、構造化データであってもよく、非構造化データであってもよい。
The acquisition unit 5a acquires the input data as an object. The input data may be structured data or unstructured data.
解釈部5bは、オブジェクトに対して初期木構造を作成する。更に、解釈部5bは、初期木構造から木構造を自動成長させた結果を入力データの解釈とする。解釈部5bは、この解釈において、木構造の各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行する。
Interpretation unit 5b creates an initial tree structure for the object. Further, the interpretation unit 5b interprets the input data as the result of automatically growing the tree structure from the initial tree structure. In this interpretation, the interpretation unit 5b appropriately performs type conversion of the object associated with each node of the tree structure to the extension side or the inclusion side.
統合部5cは、獲得部5aが獲得したオブジェクトの表現対象ごとに、初期木構造を作成する。また、統合部5cは、獲得部5aが獲得したオブジェクトに対して、適宜、解釈部5bの解釈を実行させて表現対象の断片的な情報を読み取る。更に、統合部5cは、初期木構造に対して、1又は複数の断片的な情報を追加の情報として与えて、初期木構造から木構造を自動成長させた結果を統合データとして構築する。統合データは、表現対象の模型である。統合部5cは、統合データの構築において、木構造の各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行する。
The integration unit 5c creates an initial tree structure for each representation target of the object acquired by the acquisition unit 5a. In addition, the integration unit 5c causes the object acquired by the acquisition unit 5a to interpret the interpretation unit 5b as appropriate, and reads the fragmentary information to be expressed. Further, the integration unit 5c gives one or a plurality of fragmentary information to the initial tree structure as additional information, and constructs the result of automatically growing the tree structure from the initial tree structure as integrated data. The integrated data is a model to be represented. In the construction of the integrated data, the integration unit 5c appropriately performs type conversion of the object associated with each node of the tree structure to the extension side or the inclusion side.
以上の構成により、本実施の形態に係るデータ統合装置2'は、材料となる複数のデータから抽出した複数の断片的な情報を統合して所望のデータを構築する。
With the above configuration, the data integration device 2'according to the present embodiment integrates a plurality of fragmentary information extracted from a plurality of data as materials to construct desired data.
また、本実施の形態に係るデータ統合装置2'は、表現形式が異なるオブジェクトのデータ構造を自動でデータ変換するものであり、型変換の経路を自動探索し、更に統合データを自動構成する。
Further, the data integration device 2'according to the present embodiment automatically converts the data structure of objects having different representation formats, automatically searches for the type conversion route, and automatically configures the integrated data.
5.2.データ統合装置の動作
本開示に係るデジタル橋梁自動構築手法の流れは図17に示される。入力データ群は個別に解釈され、その解釈結果から複数の情報が抽出される。情報がその表現対象ごとにまとめられ統合されることで、デジタル橋梁が構築される。デジタル橋梁自動構築の過程は、次の三つからなる。
(1)データを解釈する過程
(2)情報抽出過程
(3)同定・統合過程
なお、実施の形態1は(1)(2)を含む実施例であり、実施の形態2では、(1)~(3)までを含む。 5.2. Operation of data integration device The flow of the digital bridge automatic construction method according to the present disclosure is shown in FIG. The input data group is interpreted individually, and a plurality of information is extracted from the interpretation result. A digital bridge is constructed by grouping and integrating information for each object of expression. The process of automatic construction of digital bridges consists of the following three.
(1) Process of interpreting data (2) Information extraction process (3) Identification / integration process Note that the first embodiment is an example including (1) and (2), and the second embodiment is (1). Including up to (3).
本開示に係るデジタル橋梁自動構築手法の流れは図17に示される。入力データ群は個別に解釈され、その解釈結果から複数の情報が抽出される。情報がその表現対象ごとにまとめられ統合されることで、デジタル橋梁が構築される。デジタル橋梁自動構築の過程は、次の三つからなる。
(1)データを解釈する過程
(2)情報抽出過程
(3)同定・統合過程
なお、実施の形態1は(1)(2)を含む実施例であり、実施の形態2では、(1)~(3)までを含む。 5.2. Operation of data integration device The flow of the digital bridge automatic construction method according to the present disclosure is shown in FIG. The input data group is interpreted individually, and a plurality of information is extracted from the interpretation result. A digital bridge is constructed by grouping and integrating information for each object of expression. The process of automatic construction of digital bridges consists of the following three.
(1) Process of interpreting data (2) Information extraction process (3) Identification / integration process Note that the first embodiment is an example including (1) and (2), and the second embodiment is (1). Including up to (3).
5.2.1.(1)データを解釈する過程
データを解釈する過程は、「4.2.0.データを解釈する過程」で説明している。 5.2.1. (1) Process of interpreting data The process of interpreting data is explained in "4.2.0. Process of interpreting data".
データを解釈する過程は、「4.2.0.データを解釈する過程」で説明している。 5.2.1. (1) Process of interpreting data The process of interpreting data is explained in "4.2.0. Process of interpreting data".
5.2.2.(2)情報抽出過程
図面の解釈結果から図面で表現している現実の対象を洗い出し、その対象に関する表現の集合として情報をまとめる。ここでは、この過程を簡略化し、対象を特定するためのオブジェクトとして、「P1橋脚」「A2橋台」など、その対象の名称を採用する。 5.2.2. (2) Information extraction process The actual object expressed in the drawing is identified from the interpretation result of the drawing, and the information is summarized as a set of expressions related to the object. Here, this process is simplified and the names of the objects such as "P1 pier" and "A2 pier" are adopted as the objects to identify the object.
図面の解釈結果から図面で表現している現実の対象を洗い出し、その対象に関する表現の集合として情報をまとめる。ここでは、この過程を簡略化し、対象を特定するためのオブジェクトとして、「P1橋脚」「A2橋台」など、その対象の名称を採用する。 5.2.2. (2) Information extraction process The actual object expressed in the drawing is identified from the interpretation result of the drawing, and the information is summarized as a set of expressions related to the object. Here, this process is simplified and the names of the objects such as "P1 pier" and "A2 pier" are adopted as the objects to identify the object.
5.2.3.(3)同定・統合過程
情報抽出過程で得られた複数の情報の統合は、複数の情報から一つのグラフを作成することで行う。このグラフは、情報から洗い出された表現対象(例えば、「P1橋脚」、「A2橋台」)をグラフの一部として含み、各表現対象に関する情報もグラフの一部として集約され統合されている。この統合の過程で図面の解釈時と同様に木構造の成長による自動構造化を実施する。自動構造化の対象となる木構造はグラフの一部であり、木構造の親子関係はノード間の全体と部分の関係(例えば、橋脚とその基礎の関係)とすることができる。初期木構造は、表現対象を抽象的に表現した単一のノード(例えば、橋脚であることだけがわかっている場合のオブジェクトがノードに関連付けられたもの)であってもよい。木構造の成長は、オブジェクト間の外延・内包関係に従い、より詳細な外延側のオブジェクトを内包側のオブジェクトから作成することにより行う。これは、オブジェクト指向プログラミングにおけるダウンキャストに相当し、オブジェクトの内部データしか考慮しない通常のダウンキャストでは、情報が足りないために適切に実行できない。しかし、この過程においては、図面から抽出した情報を反映したグラフの一部を参照することにより適切に実行可能な場合がある。この場合に作成されたより詳細なオブジェクトは、グラフとして表現された情報を統合したものとみなすことができる。また、作成されたオブジェクトに応じて木構造(と、それを含むグラフ)が成長するため、その成長ごとにその時点でのグラフに応じたダウンキャストが試行される。なお、3次元モデルのオブジェクトを作成するためには、図面から抽出した情報だけでは不十分な場合がある。この場合には、例えば、工学知や何等かの推定技術によりグラフを修正すればよい。 5.2.2. (3) Identification / integration process The integration of multiple pieces of information obtained in the information extraction process is performed by creating one graph from multiple pieces of information. This graph includes the expression objects (for example, "P1 pier" and "A2 pier") identified from the information as a part of the graph, and the information about each expression object is also aggregated and integrated as a part of the graph. .. In the process of this integration, automatic structuring is carried out by growing the tree structure as in the interpretation of the drawing. The tree structure that is the target of automatic structuring is a part of the graph, and the parent-child relationship of the tree structure can be the relationship between all and parts of the nodes (for example, the relationship between the pier and its foundation). The initial tree structure may be a single node that abstractly represents the object of representation (eg, an object associated with a node if only known to be a pier). The growth of the tree structure is performed by creating more detailed objects on the extension side from the objects on the inclusion side according to the extension / inclusion relationship between the objects. This is equivalent to a downcast in object-oriented programming, and a normal downcast that considers only the internal data of the object cannot be executed properly due to lack of information. However, in this process, it may be appropriately executed by referring to a part of the graph reflecting the information extracted from the drawing. The more detailed object created in this case can be regarded as an integration of the information represented as a graph. In addition, since the tree structure (and the graph including it) grows according to the created object, downcasting according to the graph at that time is tried for each growth. In addition, in order to create a 3D model object, the information extracted from the drawing may not be enough. In this case, for example, the graph may be modified by engineering knowledge or some estimation technique.
情報抽出過程で得られた複数の情報の統合は、複数の情報から一つのグラフを作成することで行う。このグラフは、情報から洗い出された表現対象(例えば、「P1橋脚」、「A2橋台」)をグラフの一部として含み、各表現対象に関する情報もグラフの一部として集約され統合されている。この統合の過程で図面の解釈時と同様に木構造の成長による自動構造化を実施する。自動構造化の対象となる木構造はグラフの一部であり、木構造の親子関係はノード間の全体と部分の関係(例えば、橋脚とその基礎の関係)とすることができる。初期木構造は、表現対象を抽象的に表現した単一のノード(例えば、橋脚であることだけがわかっている場合のオブジェクトがノードに関連付けられたもの)であってもよい。木構造の成長は、オブジェクト間の外延・内包関係に従い、より詳細な外延側のオブジェクトを内包側のオブジェクトから作成することにより行う。これは、オブジェクト指向プログラミングにおけるダウンキャストに相当し、オブジェクトの内部データしか考慮しない通常のダウンキャストでは、情報が足りないために適切に実行できない。しかし、この過程においては、図面から抽出した情報を反映したグラフの一部を参照することにより適切に実行可能な場合がある。この場合に作成されたより詳細なオブジェクトは、グラフとして表現された情報を統合したものとみなすことができる。また、作成されたオブジェクトに応じて木構造(と、それを含むグラフ)が成長するため、その成長ごとにその時点でのグラフに応じたダウンキャストが試行される。なお、3次元モデルのオブジェクトを作成するためには、図面から抽出した情報だけでは不十分な場合がある。この場合には、例えば、工学知や何等かの推定技術によりグラフを修正すればよい。 5.2.2. (3) Identification / integration process The integration of multiple pieces of information obtained in the information extraction process is performed by creating one graph from multiple pieces of information. This graph includes the expression objects (for example, "P1 pier" and "A2 pier") identified from the information as a part of the graph, and the information about each expression object is also aggregated and integrated as a part of the graph. .. In the process of this integration, automatic structuring is carried out by growing the tree structure as in the interpretation of the drawing. The tree structure that is the target of automatic structuring is a part of the graph, and the parent-child relationship of the tree structure can be the relationship between all and parts of the nodes (for example, the relationship between the pier and its foundation). The initial tree structure may be a single node that abstractly represents the object of representation (eg, an object associated with a node if only known to be a pier). The growth of the tree structure is performed by creating more detailed objects on the extension side from the objects on the inclusion side according to the extension / inclusion relationship between the objects. This is equivalent to a downcast in object-oriented programming, and a normal downcast that considers only the internal data of the object cannot be executed properly due to lack of information. However, in this process, it may be appropriately executed by referring to a part of the graph reflecting the information extracted from the drawing. The more detailed object created in this case can be regarded as an integration of the information represented as a graph. In addition, since the tree structure (and the graph including it) grows according to the created object, downcasting according to the graph at that time is tried for each growth. In addition, in order to create a 3D model object, the information extracted from the drawing may not be enough. In this case, for example, the graph may be modified by engineering knowledge or some estimation technique.
情報抽出過程では、情報を「名前が:"P1":である橋脚の高さが:Q("10m"):である;」のような自然言語風の文の集まりとして得る。複数の文の内容を統合するためには、各文をそれぞれグラフで表現し、各グラフのノードを同定して1つのグラフに統合する。ただし、文の中には、グラフで表現せず、統合されたグラフを修正するルールを記したものがあってもよく、このルールを適用してグラフを適宜修正してもよい。
In the information extraction process, information is obtained as a collection of natural language-style sentences such as "The height of the pier with the name:" P1 ": is: Q (" 10m ") :;". In order to integrate the contents of a plurality of sentences, each sentence is represented by a graph, the nodes of each graph are identified, and the contents are integrated into one graph. However, some sentences may describe a rule for modifying the integrated graph without being represented by a graph, and the graph may be modified as appropriate by applying this rule.
5.2.4.2次元CAD図面への適用
本開示に係るデジタル橋梁自動構築手法の検討のため、線分や文字列等の図面の要素がベクター形式で記録されている2次元CAD(DXF形式)の図面を対象として自動解釈と表現対象の自動構築を試行した。図20は、試行により橋脚の3次元モデルが自動構築された例を示している。図面の解釈結果として、「橋脚正面図」、「橋脚平面図」、及び「橋脚側面図」が解釈される。それら「橋脚正面図」、「橋脚平面図」、及び「橋脚側面図」から、構造物の投影面が自動作成されて、更に構造物の投影面から3次元モデルが自動作成される。図12Aは、正面図、平面図、及び側面図から、構造物の投影面が自動作成される様子を示す図であり、図12Bは、構造物の投影面から3次元モデルが自動作成される様子を示す図である。 5.24.4 Application to 2D CAD drawings 2D CAD (DXF) in which drawing elements such as line segments and character strings are recorded in vector format for the purpose of examining the digital bridge automatic construction method according to the present disclosure. We tried automatic interpretation and automatic construction of the expression target for the drawing of the format). FIG. 20 shows an example in which a three-dimensional model of a pier was automatically constructed by trial. As a result of interpretation of the drawings, "front view of pier", "plan view of pier", and "side view of pier" are interpreted. The projection plane of the structure is automatically created from the "front view of the pier", the "plan view of the pier", and the "side view of the pier", and a three-dimensional model is automatically created from the projection plane of the structure. FIG. 12A is a view showing how the projection plane of the structure is automatically created from the front view, the plan view, and the side view, and FIG. 12B is a view in which a three-dimensional model is automatically created from the projection plane of the structure. It is a figure which shows the state.
本開示に係るデジタル橋梁自動構築手法の検討のため、線分や文字列等の図面の要素がベクター形式で記録されている2次元CAD(DXF形式)の図面を対象として自動解釈と表現対象の自動構築を試行した。図20は、試行により橋脚の3次元モデルが自動構築された例を示している。図面の解釈結果として、「橋脚正面図」、「橋脚平面図」、及び「橋脚側面図」が解釈される。それら「橋脚正面図」、「橋脚平面図」、及び「橋脚側面図」から、構造物の投影面が自動作成されて、更に構造物の投影面から3次元モデルが自動作成される。図12Aは、正面図、平面図、及び側面図から、構造物の投影面が自動作成される様子を示す図であり、図12Bは、構造物の投影面から3次元モデルが自動作成される様子を示す図である。 5.24.4 Application to 2D CAD drawings 2D CAD (DXF) in which drawing elements such as line segments and character strings are recorded in vector format for the purpose of examining the digital bridge automatic construction method according to the present disclosure. We tried automatic interpretation and automatic construction of the expression target for the drawing of the format). FIG. 20 shows an example in which a three-dimensional model of a pier was automatically constructed by trial. As a result of interpretation of the drawings, "front view of pier", "plan view of pier", and "side view of pier" are interpreted. The projection plane of the structure is automatically created from the "front view of the pier", the "plan view of the pier", and the "side view of the pier", and a three-dimensional model is automatically created from the projection plane of the structure. FIG. 12A is a view showing how the projection plane of the structure is automatically created from the front view, the plan view, and the side view, and FIG. 12B is a view in which a three-dimensional model is automatically created from the projection plane of the structure. It is a figure which shows the state.
6.他の実施の形態
以上のように、本出願において開示する技術の例示として、実施の形態1及び2を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。 6. Other Embodiments As described above, Embodiments 1 and 2 have been described as examples of the techniques disclosed in the present application. However, the technique in the present disclosure is not limited to this, and can be applied to embodiments in which changes, replacements, additions, omissions, etc. are made as appropriate.
以上のように、本出願において開示する技術の例示として、実施の形態1及び2を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。 6. Other Embodiments As described above,
また、実施の形態を説明するために、添付図面および詳細な説明を提供した。したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
In addition, an attached drawing and a detailed explanation were provided to explain the embodiment. Therefore, among the components described in the attached drawings and the detailed description, not only the components essential for solving the problem but also the components not essential for solving the problem in order to exemplify the above technology. Can also be included. Therefore, the fact that these non-essential components are described in the accompanying drawings or detailed description should not immediately determine that those non-essential components are essential.
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
Further, since the above-described embodiment is for exemplifying the technology in the present disclosure, various changes, replacements, additions, omissions, etc. can be made within the scope of claims or the equivalent thereof.
本願は、日本国に2019年7月29日に出願された基礎出願2019-139150号に基づくものであり、その全内容はここに参照をもって援用される。
This application is based on Basic Application No. 2019-139150 filed in Japan on July 29, 2019, the entire contents of which are incorporated herein by reference.
2・・・データ解釈装置、2'・・・データ統合装置、4・・・制御部、5・・・プラットフォーム、5a・・・獲得部、5b・・・解釈部、5c・・・統合部、6・・・RAM、8・・・ROM、10・・・バス、12・・・通信部、14・・・入力部、16・・・出力部、20・・・外部ネットワーク、24・・・外部サーバ。
2 ... Data interpretation device, 2'... Data integration device, 4 ... Control unit, 5 ... Platform, 5a ... Acquisition unit, 5b ... Interpretation unit, 5c ... Integration unit , 6 ... RAM, 8 ... ROM, 10 ... Bus, 12 ... Communication section, 14 ... Input section, 16 ... Output section, 20 ... External network, 24 ... -External server.
Claims (8)
- オブジェクトの型変換を自動実行するプラットフォームを備えたデータ解釈装置であって、
前記プラットフォームは、前記データ解釈装置の制御部に設けられ、獲得部及び解釈部を有しており、
前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得し;
前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行う;
ように、制御部を動作させる、データ解釈装置。 A data interpreter with a platform that automatically performs type conversion of objects.
The platform is provided in the control unit of the data interpretation device, and has an acquisition unit and an interpretation unit.
The acquisition unit acquires the input data as an object of the platform;
The interpreting unit creates an initial graph for the object and automatically grows the graph from the initial graph while appropriately performing type conversion of the object associated with each node of the graph to the extension side or the inclusion side. Interpret by
A data interpreter that operates the control unit. - 前記解釈部は、
前記オブジェクト間の外延・内包関係に基づいて前記オブジェクトの外延側への型変換であるダウンキャストを実行し、前記ダウンキャスト後のオブジェクトに関連付けられるノードを前記グラフに追加させることで、前記グラフを自動成長させる、請求項1に記載のデータ解釈装置。 The interpretation unit
The graph is added by executing downcasting, which is a type conversion of the object to the extension side based on the extension / inclusion relationship between the objects, and adding a node associated with the object after the downcast to the graph. The data interpretation device according to claim 1, which is automatically grown. - オブジェクトの型変換を自動実行するプラットフォームを用いたデータ解釈方法であって、
前記プラットフォームは、コンピュータの制御部に設けられ、獲得部及び解釈部を有しており、
前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;
前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行うステップ;
を実行する、データ解釈方法。 It is a data interpretation method using a platform that automatically executes type conversion of objects.
The platform is provided in the control unit of the computer and has an acquisition unit and an interpretation unit.
The step in which the acquisition unit acquires the input data as an object of the platform;
The interpreting unit creates an initial graph for the object and automatically grows the graph from the initial graph while appropriately performing type conversion of the object associated with each node of the graph to the extension side or the inclusion side. Steps to interpret by
How to interpret the data. - コンピュータが実行するプログラムであって、
当該コンピュータの制御部に備えられ、獲得部及び解釈部を有し、オブジェクトの型変換を自動実行するプラットフォームにおいて、
前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;
前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行うステップ;
を行うように、制御部を動作させる、プログラム。 A program that a computer runs
In a platform that is provided in the control unit of the computer, has an acquisition unit and an interpretation unit, and automatically executes type conversion of objects.
The step in which the acquisition unit acquires the input data as an object of the platform;
The interpreting unit creates an initial graph for the object and automatically grows the graph from the initial graph while appropriately performing type conversion of the object associated with each node of the graph to the extension side or the inclusion side. Steps to interpret by
A program that operates the control unit to do so. - オブジェクトの型変換を自動実行するプラットフォームを備えたデータ統合装置であって、
当該プラットフォームは制御部に設けられ、獲得部及び解釈部を有しており、
前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得し;
前記解釈部が、前記オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行い、1以上の前記オブジェクトを統合した統合データを構築する;
ように、制御部を動作させる、データ統合装置。 A data integration device with a platform that automatically executes type conversion of objects.
The platform is provided in the control unit and has an acquisition unit and an interpretation unit.
The acquisition unit acquires the input data as an object of the platform;
The interpreter creates an initial graph for the object and automatically grows the graph from the initial graph while appropriately performing type conversion of the object associated with each node of the graph to the extension side or the inclusion side. To construct integrated data that integrates one or more of the above objects;
A data integration device that operates the control unit. - オブジェクトの型変換を自動実行するプラットフォームを用いたデータ統合方法であって、
前記プラットフォームはコンピュータの制御部に設けられ、獲得部及び解釈部を有しており、
前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;
前記解釈部が、オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行い、1以上の前記オブジェクトを統合した統合データを構築するステップ;
を実行する、データ統合方法。 It is a data integration method using a platform that automatically executes type conversion of objects.
The platform is provided in the control unit of the computer and has an acquisition unit and an interpretation unit.
The step in which the acquisition unit acquires the input data as an object of the platform;
The interpreter creates an initial graph for an object and automatically grows the graph from the initial graph while appropriately performing type conversion of the object associated with each node of the graph to the extension side or the inclusion side. To construct integrated data that integrates one or more of the above objects;
How to integrate data. - コンピュータが実行するプログラムであって、
当該コンピュータの制御部に備えられ、獲得部及び解釈部を有し、オブジェクトの型変換を自動実行するプラットフォームにおいて、
前記獲得部が、入力データを前記プラットフォームのオブジェクトとして獲得するステップ;
前記解釈部が、オブジェクトに対して初期グラフを作成し、グラフの各ノードに関連付けられたオブジェクトの外延側または内包側への型変換を適宜実行しながら、前記初期グラフからグラフを自動成長させることで解釈を行い、1以上の前記オブジェクトを統合した統合データを構築するステップ;
を行うように、コンピュータの制御部を動作させる、プログラム。 A program that a computer runs
In a platform that is provided in the control unit of the computer, has an acquisition unit and an interpretation unit, and automatically executes type conversion of objects.
The step in which the acquisition unit acquires the input data as an object of the platform;
The interpreter creates an initial graph for an object and automatically grows the graph from the initial graph while appropriately performing type conversion of the object associated with each node of the graph to the extension side or the inclusion side. To construct integrated data that integrates one or more of the above objects;
A program that operates the controls of a computer to do so. - データの表現形式を自動変換するプラットフォームであって、
所定の要素プログラムを有し、任意の表現形式の入力及び出力をもつ複数のプログラムが、表現形式の自動変換によってデータを介して疎結合されており、統合データの表現対象が都市又は構造物である、デジタル都市構築プラットフォーム。 A platform that automatically converts the data representation format
A plurality of programs having a predetermined element program and having inputs and outputs of arbitrary expression formats are loosely coupled via data by automatic conversion of the expression format, and the expression target of the integrated data is a city or a structure. There is a digital city building platform.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20847785.1A EP4006765A4 (en) | 2019-07-29 | 2020-07-27 | DATA INTERPRETATION DEVICE, METHOD AND PROGRAM, DATA INTEGRATION DEVICE, METHOD AND PROGRAM, AND DIGITAL URBAN PLANNING SYSTEM |
CN202080054996.8A CN114207620B (en) | 2019-07-29 | 2020-07-27 | Data interpretation device, method and storage medium, data integration device, method and storage medium, and digital city construction system |
JP2021535335A JP7042545B2 (en) | 2019-07-29 | 2020-07-27 | Data interpreters, methods and programs, data integration devices, methods and programs, and digital city building systems |
US17/631,095 US11669541B2 (en) | 2019-07-29 | 2020-07-27 | Data interpretation apparatus, method, and program, data integration apparatus, method, and program, and digital city establishing system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-139150 | 2019-07-29 | ||
JP2019139150 | 2019-07-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021020356A1 true WO2021020356A1 (en) | 2021-02-04 |
Family
ID=74230696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/028751 WO2021020356A1 (en) | 2019-07-29 | 2020-07-27 | Data interpretation device, method and program, data integration device, method and program, and digital city construction system |
Country Status (5)
Country | Link |
---|---|
US (1) | US11669541B2 (en) |
EP (1) | EP4006765A4 (en) |
JP (1) | JP7042545B2 (en) |
CN (1) | CN114207620B (en) |
WO (1) | WO2021020356A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20250036819A1 (en) * | 2021-02-03 | 2025-01-30 | Riken | Data integration apparatus, data integration method and program, and digital city creation system |
CN116127556B (en) * | 2022-11-29 | 2023-08-22 | 安徽省交通规划设计研究总院股份有限公司 | Digital drawing method of simply supported T-beam bridge based on standard drawing |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06149907A (en) * | 1992-11-16 | 1994-05-31 | Hitachi Ltd | System for exchanging data between different type cad systems |
JPH07114464A (en) * | 1993-10-20 | 1995-05-02 | Fujitsu Ltd | Object-oriented data processing system |
JP2001028016A (en) * | 1999-05-24 | 2001-01-30 | Parametric Technology Corp | How to parametrically exchange data between a modeling system and an external application program |
US20070220022A1 (en) * | 2001-03-26 | 2007-09-20 | Risto Lankinen | Declarative data transformation engine |
JP2007534068A (en) * | 2004-04-21 | 2007-11-22 | 株式会社エヌ・ティ・ティ・ドコモ | Environmental condition analysis |
JP2011123644A (en) | 2009-12-10 | 2011-06-23 | Nec Corp | Data processing apparatus, data processing method and data processing program |
JP2018109977A (en) | 2016-12-29 | 2018-07-12 | アトス・インテグレーション | Method for promoting source data to interconnected semantic data and platform |
JP2019139150A (en) | 2018-02-14 | 2019-08-22 | 京セラドキュメントソリューションズ株式会社 | Image processing apparatus |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5278946A (en) | 1989-12-04 | 1994-01-11 | Hitachi, Ltd. | Method of presenting multimedia data in a desired form by comparing and replacing a user template model with analogous portions of a system |
JPH0430265A (en) | 1990-05-28 | 1992-02-03 | Hitachi Ltd | How to create a digest |
JPH04275684A (en) | 1991-03-01 | 1992-10-01 | Fuji Xerox Co Ltd | Graphic information data base constructing emthod and device applying the method |
JPH04312142A (en) | 1991-04-11 | 1992-11-04 | Mitsubishi Electric Corp | Object information management method |
US5970490A (en) * | 1996-11-05 | 1999-10-19 | Xerox Corporation | Integration platform for heterogeneous databases |
AU2001290646A1 (en) * | 2000-09-08 | 2002-03-22 | The Regents Of The University Of California | Data source integration system and method |
US6826568B2 (en) * | 2001-12-20 | 2004-11-30 | Microsoft Corporation | Methods and system for model matching |
US7373612B2 (en) * | 2002-10-21 | 2008-05-13 | Battelle Memorial Institute | Multidimensional structured data visualization method and apparatus, text visualization method and apparatus, method and apparatus for visualizing and graphically navigating the world wide web, method and apparatus for visualizing hierarchies |
CN102592005B (en) * | 2011-12-29 | 2013-11-13 | 北京煜邦电力技术有限公司 | Method and device for generating single line drawing |
CN102862395B (en) * | 2012-08-03 | 2015-03-04 | 中科英华湖州工程技术研究中心有限公司 | System and method for automatically generating three-dimensional model |
IN2013MU02617A (en) * | 2013-08-08 | 2015-06-12 | Subramanian JAYAKUMAR | |
US10095689B2 (en) * | 2014-12-29 | 2018-10-09 | International Business Machines Corporation | Automated ontology building |
CN109448794B (en) * | 2018-10-31 | 2021-04-30 | 华中农业大学 | Genetic taboo and Bayesian network-based epistatic site mining method |
-
2020
- 2020-07-27 WO PCT/JP2020/028751 patent/WO2021020356A1/en unknown
- 2020-07-27 JP JP2021535335A patent/JP7042545B2/en active Active
- 2020-07-27 EP EP20847785.1A patent/EP4006765A4/en not_active Withdrawn
- 2020-07-27 US US17/631,095 patent/US11669541B2/en active Active
- 2020-07-27 CN CN202080054996.8A patent/CN114207620B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06149907A (en) * | 1992-11-16 | 1994-05-31 | Hitachi Ltd | System for exchanging data between different type cad systems |
JPH07114464A (en) * | 1993-10-20 | 1995-05-02 | Fujitsu Ltd | Object-oriented data processing system |
JP2001028016A (en) * | 1999-05-24 | 2001-01-30 | Parametric Technology Corp | How to parametrically exchange data between a modeling system and an external application program |
US20070220022A1 (en) * | 2001-03-26 | 2007-09-20 | Risto Lankinen | Declarative data transformation engine |
JP2007534068A (en) * | 2004-04-21 | 2007-11-22 | 株式会社エヌ・ティ・ティ・ドコモ | Environmental condition analysis |
JP2011123644A (en) | 2009-12-10 | 2011-06-23 | Nec Corp | Data processing apparatus, data processing method and data processing program |
JP2018109977A (en) | 2016-12-29 | 2018-07-12 | アトス・インテグレーション | Method for promoting source data to interconnected semantic data and platform |
JP2019139150A (en) | 2018-02-14 | 2019-08-22 | 京セラドキュメントソリューションズ株式会社 | Image processing apparatus |
Non-Patent Citations (5)
Title |
---|
"Automatic Combination of the 3D Shapes and the Attributes of Buildings in Different GIS Data", JOURNAL OF JAPAN SOCIETY OF CIVIL ENGINEERS A2 (APPLIED MECHANICS, vol. 70, no. 2, 2014 |
"Automatic Recognition System of Mechanical Engineering Drawings", JOURNAL OF THE JAPAN SOCIETY OF PRECISION ENGINEERING, vol. 60, no. 4, 1994, pages 524 - 529 |
"Development of Floor Shape Interpretation Method for Robust Automatic Structuring of Seismic Response Analysis Model", JOURNAL OF JAPAN SOCIETY OF CIVIL ENGINEERS A1 (STRUCTURAL ENGINEERING & EARTHQUAKE ENGINEERING, vol. 70, no. 4, 2014 |
"Image Understanding", JOURNAL OF THE ELECTRICAL SOCIETY, vol. 105, no. 5, 1985, pages 409 - 411 |
"Recognition and Understanding of Images and Videos until Today and in the Future", INFORMATION PROCESSING, vol. 56, no. 7, July 2015 (2015-07-01), pages 628 - 633 |
Also Published As
Publication number | Publication date |
---|---|
EP4006765A4 (en) | 2023-03-22 |
JPWO2021020356A1 (en) | 2021-02-04 |
EP4006765A1 (en) | 2022-06-01 |
CN114207620B (en) | 2023-08-15 |
CN114207620A (en) | 2022-03-18 |
US20220188326A1 (en) | 2022-06-16 |
JP7042545B2 (en) | 2022-03-28 |
US11669541B2 (en) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115544264B (en) | Knowledge-driven bridge construction digital twin scene intelligent construction method and system | |
US20220036232A1 (en) | Technology for optimizing artificial intelligence pipelines | |
Han et al. | A framework for semi-automatically identifying fully occluded objects in 3D models: Towards comprehensive construction design review in virtual reality | |
JP7042545B2 (en) | Data interpreters, methods and programs, data integration devices, methods and programs, and digital city building systems | |
Dobesova | Visual programming language in geographic information systems | |
WO2024049796A1 (en) | Systems and methods for legacy mbse diagram data importation using element specific ml models and schema templates | |
CN115510563A (en) | A model-based product development process design method and device | |
Parente et al. | Integration of convolutional and adversarial networks into building design: A review | |
US20230186117A1 (en) | Automated cloud data and technology solution delivery using dynamic minibot squad engine machine learning and artificial intelligence modeling | |
Kosicki et al. | Big Data and Cloud Computing for the Built Environment | |
US20250036819A1 (en) | Data integration apparatus, data integration method and program, and digital city creation system | |
CN102722570A (en) | Artificial immunity intelligent optimization system facing geographical space optimization | |
Shen et al. | Knowledge-based semantic web technologies in the AEC sector | |
Neun | Data enrichment for adaptive map generalization using web services | |
Visconti et al. | Model-driven design of city spaces via bidirectional transformations | |
Rinker et al. | A multi-model reviewing approach for production systems engineering models | |
Pan et al. | Sequential design command prediction using BIM event logs | |
Dang | Hands-On Computer Vision with Detectron2: Develop object detection and segmentation models with a code and visualization approach | |
Câmara et al. | Geographical information engineering in the 21st century | |
CN107886107B (en) | Big data fusion method, system and device | |
Ahmadi et al. | Design and implementation of an expert interface system for integration of photogrammetric and Geographic Information Systems for intelligent preparation and structuring of spatial data | |
Moreira et al. | Curio: A Dataflow-Based Framework for Collaborative Urban Visual Analytics | |
Chen et al. | Automatic Generation of Semantic 3D City Models from Conceptual Massing Models | |
Galindo González | Leveraging spatial data to enrich analytics systems | |
La Russa | Exploiting Advantages of VPL in City Information Modelling for Rapid Digital Urban Surveying and Structural Analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20847785 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021535335 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2020847785 Country of ref document: EP Effective date: 20220228 |