KR20010103604A - Apparatus and method for building modeling tools - Google Patents

Apparatus and method for building modeling tools Download PDF

Info

Publication number
KR20010103604A
KR20010103604A KR1020017004771A KR20017004771A KR20010103604A KR 20010103604 A KR20010103604 A KR 20010103604A KR 1020017004771 A KR1020017004771 A KR 1020017004771A KR 20017004771 A KR20017004771 A KR 20017004771A KR 20010103604 A KR20010103604 A KR 20010103604A
Authority
KR
South Korea
Prior art keywords
property
interface
semantics
model
metamodel
Prior art date
Application number
KR1020017004771A
Other languages
Korean (ko)
Inventor
디플러테드에이
Original Assignee
엘그레시 도론
컴퓨터 어소시에이츠 싱크, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘그레시 도론, 컴퓨터 어소시에이츠 싱크, 인코포레이티드 filed Critical 엘그레시 도론
Publication of KR20010103604A publication Critical patent/KR20010103604A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
  • Numerical Control (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Measuring Fluid Pressure (AREA)
  • Perforating, Stamping-Out Or Severing By Means Other Than Cutting (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A method and system for an extensible macro language is provided. The system for providing the extensible macro language includes a parser and a macro handler for processing macro commands not previously defined in the macro language. The parser analyzes keywords in a macro language expression and recognizes one or more keywords representing macro commands that were not previously defined in the macro language. The macro handler receives the keywords in the macro expression and retrieves from a registry of keywords, an executable code or procedure associated with the keyword. The executable code is run to process the macro command represented by the keyword. The template language registry may be augmented to include any keywords and associated codes for extending the macro language.

Description

모델링 도구 제작 장치 및 방법{APPARATUS AND METHOD FOR BUILDING MODELING TOOLS}Apparatus and method for making modeling tools {APPARATUS AND METHOD FOR BUILDING MODELING TOOLS}

부록에 대한 참조Reference to the appendix

본 출원은 본 명세서에 인용되고 있는 본 발명의 예시적인 실시예에 대한 예시적인 서비스 및 기능을 설명하고 있는 별첨의 부록을 포함하고 있다. 본 출원의 공개 부분은 저작권 보호를 받는 저작물을 포함하고 있다. 본 저작권자는 특허 상표청의 특허 파일 또는 레코드에 나타나 있는 바와 같은 특허 공개 자료를 본 발명의 공동 발명자 중 한 사람이 팩시밀리 복제하는 것에 이의를 달지 않는다. 그러나, 그 밖의 경우에는 누구든지 저작권을 유보한다.This application contains annex appendix that describes exemplary services and functions for the exemplary embodiments of the invention that are cited herein. The public portions of this application contain copyrighted works. The Copyright Holder does not challenge the facsimile copying of one of the co-inventors of the present invention with a patent publication as indicated in the Patent and Trademark Office patent file or record. However, anyone else reserves the copyright.

발명의 배경Background of the Invention

본 발명은 모델링 엔진, 특히 모델링 도구 제작 장치 및 방법에 관한 것이다.The present invention relates to a modeling engine, and in particular to an apparatus and method for manufacturing a modeling tool.

배경 정보Background Information

모델링 두구는 과거부터 있었다. 이러한 모델링 도구를 구성하는 일반적인 방법은 특수 모델링 방법을 이용하는 특수 모델링 도구를 기록하는 것이다. 이 방법은 일반적으로 받아들여 왔지만, 이러한 방법은 몇 가지 단점이 있다. 예컨대, 종래의 모델링 도구는, 주어진 도구 내의 많은 기능이 이전의 도구들과 동일하지는 않지만 유사함에도 불구하고, 신형의 모델링 도구가 생길 때마다 새로운 구성을 필요로 한다.Modeling tools have been around since the past. A common way of constructing these modeling tools is to record special modeling tools that use special modeling methods. This method has been generally accepted, but this method has some disadvantages. For example, conventional modeling tools require a new configuration each time a new modeling tool is created, although many of the functions within a given tool are not the same but similar.

따라서, 복수 개의 전혀 다른 모델링 방법을 발생시키는 것을 지원하도록 구성된 단일 구조를 이용하여 모델링 도구를 제작하는 방법 및 장치가 필요하다. 이 새로운 모델링 도구 제작 장치 및 방법은 새로운 모델링 도구를 구성하는 데 필요한 노력과 시간을 절감할 것이다.Accordingly, there is a need for a method and apparatus for fabricating a modeling tool using a single structure configured to support generating a plurality of entirely different modeling methods. This new modeling tool builder and methodology will save the effort and time required to construct a new modeling tool.

본 출원은, 출원일이 1998년 10월 16일이고, 발명의 명칭이 「모델링 도구 시스템 및 방법」인 미국 특허 가출원 번호 제60/104,682호의 이점에 관한 것으로서, 상기 미국 특허는 본 명세서에 인용되어 있다.This application is related to the advantages of US Patent Provisional Application No. 60 / 104,682, filed October 16, 1998, entitled "Modeling Tool Systems and Methods," which is incorporated herein by reference. .

본 출원은, 동일자로 동시 출원되고, 발명의 명칭이 「모델의 충격 분석을 위한 방법」인 미국 특허 가출원 번호 제60/104,682호(대리인 문서 번호 #22074661-25532)에 관한 것으로서, 상기 미국 특허는 본 명세서에 인용되어 있다.This application is related to US Patent Provisional Application No. 60 / 104,682 (Representative Document No. # 22074661-25532), filed concurrently with the same applicant, and entitled "Method for Impact Analysis of Models." It is cited herein.

본 출원은, 동일자로 동시 출원되고, 발명의 명칭이 「2 또는 그 이상의 모델 간의 차를 판별하는 방법」인 미국 특허 가출원 번호 제60/104,682호(대리인 문서 번호 #22074661-25531)에 관한 것으로서, 상기 미국 특허는 본 명세서에 인용되어 있다.This application is related to US Patent Provisional Application No. 60 / 104,682 (Attorney Docket No. # 22074661-25531), filed concurrently with the same application, and entitled "Method for Determining Differences Between Two or More Models". This US patent is incorporated herein.

본 출원은, 동일자로 동시 출원되고, 발명의 명칭이 「확장 가능한 마크로 언어를 위한 방법 및 시스템」인 미국 특허 가출원 번호 제60/104,682호(대리인 문서 번호 #22074661-25533)에 관한 것으로서, 상기 미국 특허는 본 명세서에 인용되어 있다.This application is related to US Patent Provisional Application No. 60 / 104,682 (Representative Document No. # 22074661-25533), filed simultaneously on the same date and entitled "Method and System for Extensible Macro Language". Patents are cited herein.

본 출원은, 동일자로 동시 출원되고, 발명의 명칭이 「SQL 입력을 통해 계층데이터 기억부에 액세스하는 방법 및 장치」인 미국 특허 가출원 번호 제60/104,682호(대리인 문서 번호 #22074661-25534)에 관한 것으로서, 상기 미국 특허는 본 명세서에 인용되어 있다.This application is filed concurrently under the same application and is disclosed in U.S. Patent Provisional Application No. 60 / 104,682 (Representative Document No. # 22074661-25534) entitled "Method and Apparatus for Accessing Hierarchical Data Storage via SQL Input". As related, such US patents are incorporated herein.

도 1은 종래의 컴퓨터 시스템의 기능 블럭도를 도시하고 있다.1 shows a functional block diagram of a conventional computer system.

도 2는 본 발명의 예시적인 실시예에 관한 기능 블럭도를 도시하고 있다.2 illustrates a functional block diagram of an exemplary embodiment of the present invention.

도 3은 본 발명의 메타 모델에 관한 예시적인 실시예의 데이터 모델을 도시하고 있다.3 illustrates a data model of an exemplary embodiment of the metamodel of the present invention.

도 4는 본 발명의 객체 의미론을 실시하는 방법에 관한 예시적인 실시예의 흐름도를 도시하고 있다.4 shows a flowchart of an exemplary embodiment of a method of implementing object semantics of the present invention.

도 5는 본 발명의 특성 의미론을 실시하는 방법에 관한 예시적인 실시예의 흐름도를 도시하고 있다.5 shows a flowchart of an exemplary embodiment of a method of implementing the characteristic semantics of the present invention.

도 6은 본 발명의 모델링 도구를 작성하는 방법에 관한 예시적인 실시예의 흐름도를 도시하고 있다.6 shows a flowchart of an exemplary embodiment of a method of creating a modeling tool of the present invention.

도 7은 본 발명의 예시적인 기능을 실행하는 예시적인 실시예의 흐름도를 도시하고 있다.7 shows a flowchart of an example embodiment for carrying out the example functions of the present invention.

본 발명의 한 가지 특징은 의미론 및, 객체와 특성을 갖는 모델을 포함하는 방법 및 장치를 제공하는 것이다. 의미론은 상기 모델에 포함되어 있을 수 있는 객체와 특성을 변경하는 트랜잭션 시에 공급된다. 개별 의미론을 위반하는, 트랜잭션에 의한 객체 및 특성에 대한 어떠한 변경도 실행되지 않는다. 또한, 개발자는 상기 의미론을 확장시킬 수 있다.One feature of the present invention is to provide a method and apparatus that includes semantics and models with objects and properties. Semantics are supplied at the time of transactional modification of objects and properties that may be included in the model. No change is made to objects and properties by transactions that violate individual semantics. In addition, the developer can extend the semantics.

본 발명의 다른 특징은 모델링 도구를 제작하기 위한 장치를 제공한다. 이 장치는, 예컨대 의미론 등록부 및 메타 데이터 관리자를 갖는 메타 모델, 객체/특성 인터페이스 및 객체/특성 작성기 등록부를 포함하고 있다. 객체/특성 작성기 등록부는 상기 메타 모델과 상기 객체/특성 인터페이스에 결합되어 있다. 또한, 상기 장치는 객체/특성 인터페이스에 결합된 객체/특성 모델을 포함하고 있다.Another feature of the invention provides an apparatus for manufacturing a modeling tool. The apparatus includes, for example, a metamodel with a semantic register and a metadata manager, an object / property interface and an object / property builder register. An object / property builder register is coupled to the metamodel and the object / property interface. The device also includes an object / property model coupled to the object / property interface.

본 발명의 또 다른 특징은 모델링 도구를 제작하는 방법을 제공한다. 이 방법은 제1 세트의 클래스를 정의함으로써 객체/특성 모델을 구성하는 것과 제2 세트의 클래스를 정의함으로써 메타 모델의 구성하는 것을 포함하고 있다. 또한, 상기 방법은 유형 코드를 제1 세트의 클래스 및 제2 세트의 클래스와 연결짓는 것과 미리 정의된 세트의 의미론을 메타 모델에 공급하는 것을 포함하고 있다. 또한, 상기 방법은 의미론 세트 중 적어도 하나의 의미론이 복수 개의 독립된 작업의 각각의 발생시에 호출될 때, 상기 복수 개의 독립된 작업을 인식하는 것을 포함하고 있다. 또한, 상기 방법은 개발자가 객체/특성 모델을 엑세스하는 것을 제한하기 위한 객체/특성 인터페이스를 제공하는 것을 포함하고 있다.Another feature of the invention provides a method of making a modeling tool. The method involves constructing an object / characteristic model by defining a first set of classes and constructing a metamodel by defining a second set of classes. The method also includes associating a type code with a first set of classes and a second set of classes and supplying a metaset with a predefined set of semantics. The method also includes recognizing the plurality of independent tasks when the semantics of at least one of the semantic sets are invoked upon each occurrence of the plurality of independent tasks. The method also includes providing an object / property interface for restricting the developer from accessing the object / property model.

도 1은 본 발명이 동작하는 종래의 컴퓨터 시스템(101)을 도시하고 있다. 예시적인 실시예에서, 본 발명은, 예컨대 SUN MICROSYSTEMS(등록 상표)가 제조한 SUN(등록 상표) 워크스테이션 상에서 실시된다. 다른 실시예들은, 예컨대 IBM 코포레이션이 제조한 IBM(등록 상표) 개인용 컴퓨터 또는 APPLE(등록 상표) 컴퓨터가 제조한 MACINTOSH(등록 상표) 컴퓨터 상에서 실시될 수도 있다. 당해 기술 분야의 숙련자에게는 다른 컴퓨터 시스템 아키텍쳐가 사용될 수도 있음이 명백할 것이다. 일반적으로, 도 1에 도시한 이러한 컴퓨터 시스템은 정보를 교신하기 위한 버스(102), 상기 버스(102)에 결합하여 정보를 처리하기 위한 중앙 처리 장치와 같은 프로세서(103), 및 상기 버스(102)에 결합하여 상기 프로세서(103)에 대한 정보와 명령을 기억하기 위한 주메모리(104)를 포함하고 있다. 판독 전용 메모리(105)는 버스(102)에 결합되어 프로세서(103)에 대한 정적 정보와 명령을 기억한다. 버스(102)에 결합된 디스플레이 장치(106)는, 예컨대 개발자를 위해 정보를 디스플레이한다.1 shows a conventional computer system 101 in which the present invention operates. In an exemplary embodiment, the present invention is practiced, for example, on a SUN workstation manufactured by SUN MICROSYSTEMS. Other embodiments may be implemented, for example, on a IBM (registered trademark) personal computer manufactured by IBM Corporation or a MACINTOSH (registered trademark) computer manufactured by APPLE (registered trademark) computer. It will be apparent to one skilled in the art that other computer system architectures may be used. In general, such a computer system shown in FIG. 1 includes a bus 102 for communicating information, a processor 103 such as a central processing unit coupled to the bus 102 for processing information, and the bus 102 And a main memory 104 for storing information and instructions for the processor 103. Read-only memory 105 is coupled to bus 102 to store static information and instructions for processor 103. Display device 106 coupled to bus 102 displays information, for example, for the developer.

키보드와 같은 문자·숫자 입력 장치(107)는 버스(102)에 결합되어, 정보 선택과 커맨드 선택을 프로세서(103)와 교신한다. 모뎀(110)은 버스(102)에 결합되어, 예컨대 다른 컴퓨터 시스템 또는 데이터베이스와, 자기 디스크와 같은 대량 기억 매체(108) 및, 버스(102)에 결합되어 정보와 명령을 기억하기 위한 관련 디스크 드라이브와 교신한다. 디지털 정보를 싣고 있는 데이터 기억 매체(109)는, 예컨대 대량 기억 매체(108)와 연동하도록 구성되어, 프로세서(103)가 버스(102)를 거쳐서 데이터 기억 매체(109) 상의 디지털 정보를 액세스할 수 있게 한다. 또한, 디스플레이 장치(106)에 디스플레이하기 위해, 고해상도 이미지를 기억하기 위한 CD-ROM드라이브(도시되지 않음)가 사용될 수도 있다.An alphanumeric input device 107 such as a keyboard is coupled to the bus 102 to communicate information selection and command selection with the processor 103. Modem 110 is coupled to bus 102, for example, another computer system or database, a mass storage medium 108, such as a magnetic disk, and an associated disk drive coupled to bus 102 for storing information and instructions. Communicate with The data storage medium 109 carrying digital information is configured to interlock with the mass storage medium 108, for example, so that the processor 103 can access the digital information on the data storage medium 109 via the bus 102. To be. Also, a CD-ROM drive (not shown) for storing high resolution images may be used for display on the display device 106.

본 발명의 일 실시예는, 예컨대 종래의 방식으로 컴퓨터 시스템(101)과 같은 컴퓨터 시스템에서 실행될 수 있는 C++ 프로그래밍 언어로 작성된 소프트웨어 모듈로서 실시될 수 있다. 공지된 기술을 이용하여, 애플리케이션 소프트웨어는 데이터 기억 매체(109) 상에 기억되고, 이어서 컴퓨터 시스템(101) 내에 적재되어 실행될 수 있다. 일단 개시되면, 양호한 실시예의 소프트웨어는, 예컨대 후술하는 방식으로 동작한다. 범용 모델링 아키텍쳐(UMA)는 데이터 구동식 모델링 엔진이며, 이 엔진은, 개발자가 제공하고 UMA 기반의 제품을 제공하도록 확장될 수 있는 메타 모델의 외부 정의를 기초로 하여 다양한 문제 영역에서 작업을 행할 수 있다. 메타 모델의 외부 정의란, 예컨대 문제 영역에서 나타날 수 있는 객체들의 유형 및, 이들 각 객체와 관련된 특성에 관한 일련의 설명이다. 이 설명은 이용예가 나타낸 기능 세트를 호출하고, 그 설명 정보를 기능 매개 변수를 거쳐서 통과시킴으로써 공급될 수 있다. 예시적인 문제 영역에는, 데이터 테이블, 칼럼 및 색인과 같은 데이터 모델링, 활동(activity) 및 흐름(arrow)과 같은 처리 모델링, 데이터 조작 언어 스테이트먼트 및 파일과 같은 액세스 모델링, 및 인터페이스, 적용예 및 종속성과 같은 구성 요소 모델링이 있다.One embodiment of the invention may be implemented as a software module written in the C ++ programming language, which may be executed, for example, in a computer system such as computer system 101 in a conventional manner. Using known techniques, the application software can be stored on the data storage medium 109 and then loaded and executed in the computer system 101. Once disclosed, the software of the preferred embodiment operates, for example, in the manner described below. The Universal Modeling Architecture (UMA) is a data-driven modeling engine that can work in a variety of problem areas based on external definitions of metamodels that developers can provide and can be extended to provide UMA-based products. have. An external definition of a metamodel is a series of descriptions of the types of objects that may appear in a problem area, for example, and the characteristics associated with each of those objects. This description can be supplied by invoking the function set indicated by the usage example and passing the description information via the function parameters. Exemplary problem areas include data modeling such as data tables, columns and indexes, processing modeling such as activities and flows, access modeling such as data manipulation language statements and files, and interfaces, applications and dependencies; There is the same component modeling.

본 발명의 예시적인 실시예에서, UMA 기반의 산물(産物)은 모델링 도구이다. UMA 기반의 산물은 UMA를 포함하는 사용자 인터페이스와 같은 UMA 기반의 애플리케이션일 수 있다. 또한, UMA 기반의 산물은, 예컨대 개발자가 공급한 메타 모델의 외부 정의를 기초로 한 객체/특성 모델의 예를 포함할 수 있다.In an exemplary embodiment of the invention, the UMA-based product is a modeling tool. The UMA-based product may be a UMA-based application, such as a user interface that includes the UMA. In addition, a UMA-based product may include an example of an object / characteristic model based on, for example, an external definition of a metamodel supplied by a developer.

본 발명의 예시적인 실시예에서, 도 2에 도시한 바와 같이, UMA(200)는 메타 모델(210), 객체 및 특성 작성기 등록부(260), 객체/특성 인터페이스(280), 트랜잭션 관리자(285), 로그 파일(295), 및 객체/특성 모델(290)을 포함하고 있다. 메타 모델(210)은, 복수 개의 세트의 의미론부(230)를 포함하고 있는 의미론 등록부(220)와, 객체/특성 설명부(250)를 포함하고 있는 메타 데이터 관리자(240)를 포함할 수 있다. 객체/특성 설명부(250)는 객체 또는 특성의 특징을 설명하는 정보의 세트이다. 객체의 경우, 이것은 그의 명칭, 설명 텍스트 중 인간이 판독할 수 있는 부분, 일반화 정보, 다른 유형의 객체들이 그 안에 포함되어도 되는지에 관한 정보를 포함할 수 있다. 예컨대, 일반화 정보는 동의어 정보와 같은 세부 구분/서브타이핑을 설명한다.In an exemplary embodiment of the present invention, as shown in FIG. 2, the UMA 200 includes a metamodel 210, an object and property builder register 260, an object / property interface 280, a transaction manager 285. , Log file 295, and object / property model 290. The metamodel 210 may include a semantic registration unit 220 that includes a plurality of sets of semantic units 230, and a metadata manager 240 that includes an object / characteristic description unit 250. . The object / property descriptor 250 is a set of information that describes the characteristics of an object or property. In the case of an object, this may include its name, human readable portion of the descriptive text, generalization information, and information about whether other types of objects may be included therein. For example, generalization information describes subdivision / subtyping such as synonym information.

객체/특성 설명부는 외부에서 정의한 메타 모델로서 개발자 또는 사용자가 제공할 수 있다. 메타 모델(210)은 해결되어야 할 문제 영역의 객체 및 특성과, 객체 및 특성에 대한 변경이 요구될 때 이러한 객체 및 특성을 변경하도록 각각 호출되어야 할 복수 개의 세트의 의미론부(230)의 설명부이다.The object / property description is an externally defined metamodel that can be provided by the developer or user. The metamodel 210 describes the objects and properties of the problem area to be solved, and the description of a plurality of sets of semantics 230 that must each be called to change these objects and properties when a change to the objects and properties is required. to be.

도 3은 본 발명의 메타 모델(210)의 예시적인 실시예를 도시하고 있다. 도 3에 도시한 바와 같이, 메타 모델(210)은 객체, 특성 및 의미론과 같은 복수 개의 클래스를 포함하고 있고, 객체, 특성 및 의미론 간의 관계를 정립하고 있다. 유형(310)은 유형 코드 키, 명칭 속성 및 정의 속성과 관련되어 있다. 유형(310)은, 예컨대 범주(330) 또는 항목(320)일 수 있다. 범주(330)는 유형 코드 키와 관련되어 있고, 복수 개의 항목을 포함하고 있다. 범주 자격(340)은 범주키 및 구성원키와 관련되어 있다. 항목(320)은 유형 코드 키와 관련되어 있고, 특성 또는 객체일 수 있다.3 illustrates an exemplary embodiment of the metamodel 210 of the present invention. As shown in FIG. 3, the metamodel 210 includes a plurality of classes such as objects, properties, and semantics, and establishes relationships between objects, properties, and semantics. Type 310 is associated with a type code key, a name attribute, and a definition attribute. Type 310 may be, for example, category 330 or item 320. Category 330 is associated with a type code key and includes a plurality of items. Category qualification 340 is associated with a category key and a member key. Item 320 is associated with a type code key and may be a property or an object.

특성(350)은 유형 코드키, 기본값 속성 및 데이터 유형 속성과 관련되어 있다. 또한, 특성(350)은 특성 용도(375)와 관련되어 있다. 객체(360)는 유형 코드키, 객체 구현 속성 및 슈퍼타입 속성과 관련되어 있다. 슈퍼타입 속성은 더 특별한 내용을 객체(360)에 공급한다. 객체(360)는 다른 객체를 소유하거나(예컨대, 구성 요소로서 포함함) 소유될 수 있다. 객체 소유권(370)은 소유권 양도자(owner)키 및 소유권 양수자(ownee)키와 관련되어 있다. 특성 용도(375)는 특성키 및 객체키와 관련되어 있다.Property 350 is associated with a type code key, a default value attribute, and a data type attribute. In addition, feature 350 is associated with feature use 375. Object 360 is associated with a type code key, an object implementation attribute, and a supertype attribute. Supertype attributes provide more special content to the object 360. Object 360 may own or include other objects (eg, include as components). Object ownership 370 is associated with an ownership assigner key and an ownership assignee key. Property use 375 is associated with a property key and an object key.

또한, 특성 용도(375)는 특성(350)을 객체(360)와 관련짓는다. 객체 의미론 용도(390)는 유형 코드키 및 인식(ID)키와 관련되어 있다. 객체 의미론 용도(390)는 객체(360)를 객체 의미론(395)과 관련짓는다. 특성 의미론 용도(380)는 ID키, 특성키 및 객체키와 관련되어 있다. 특성 의미론 용도(390)는 특성 의미론(385)을 특성 용도(375)와 관련짓는다. 특성 의미론(385)은 ID키와 관련되어 있다.Property usage 375 also associates property 350 with object 360. Object semantics uses 390 are associated with type code keys and identification (ID) keys. Object Semantics Use 390 associates object 360 with object semantics 395. Feature semantics Use 380 is associated with an ID key, a feature key, and an object key. Feature semantics use 390 associates feature semantics 385 with feature use 375. Feature semantics 385 are associated with ID keys.

도 2에 도시한 바와 같이, 메타 모델(210)의 메타 데이터 관리자(240)는 메타 데이터(예컨대, 객체 및 특성의 설명)를, 예컨대 개발자로부터 UMA 기반의 애플리케이션(225)을 거쳐 수신한다. 메타 데이터는 개발자의 문제 영역을 해결하기 위해 개발자가 공급한 객체 및 특성이다. 메타 데이터 관리자(240)는 객체 및 특성 작성기 등록부(260)로부터 정당성 생성 요구를 수신한다.As shown in FIG. 2, meta data manager 240 of meta model 210 receives meta data (eg, description of objects and properties), eg, from a developer via UMA based application 225. Metadata is objects and properties supplied by developers to solve their problem areas. Metadata manager 240 receives a justification generation request from object and property builder register 260.

도 2에 도시한 바와 같이, 메타 모델(230)의 의미론 등록부(220)는 복수 개의 세트의 의미론부(230)를 포함하고 있고, 그들 세트의 의미론부는,예컨대 UMA 기반의 애플리케이션을 통해서 개발자가 공급한 미리 정의된 세트와 부가 세트들을 포함할 수 있다. 의미론부(230)는, 순수 가상 클래스와 같은 인터페이스를 나타내고 상기 의미론부(230)의 세부로부터 모델링 엔진을 은닉시키는 의미론 객체 내에 캡슐화된 모델링 규칙이다. 미리 정의된 세트의 의미론부는 기본 모델링 엔진을 보전시키는 규칙을 제공하고, 본 발명의 양호한 실시예에서, 개발자는 미리 정의된 세트의 의미론부를 변경시킬 수 없다. 개발자가 공급한 부가적인 세트의 의미론부는 개발자가 변형시킬 수 있다. 의미론의 일 예에는, 예컨대 「하나의 데이터 베이스 테이블 안에서 두 개의 칼럼이 동일한 명칭을 사용할 수 없다」는 규칙을 시행하는 것이 있을 수 있다.As shown in FIG. 2, the semantics register 220 of the metamodel 230 includes a plurality of sets of semantics 230, the semantics of which set being supplied by a developer through, for example, a UMA based application. It can include one predefined set and additional sets. The semantic unit 230 is a modeling rule encapsulated within a semantic object that represents an interface like a pure virtual class and hides the modeling engine from the details of the semantic unit 230. The predefined set of semantics provides the rules for preserving the basic modeling engine, and in a preferred embodiment of the present invention, the developer cannot change the semantics of the predefined set. An additional set of semantics provided by the developer can be modified by the developer. An example of semantics may be to enforce the rule, for example, that two columns in a database table cannot use the same name.

의미론부(230)는 객체/특성 인터페이스(280)를 거쳐서 객체/특성 모델(290)을 액세스한다. 의미론 등록부(220)는, 특수한 세트의 객체 의미론부가 있는 지를 판별하고, 만일 있다면, 개별 세트의 객체 의미론부들을 찾는 객체 의미론 등록부를 포함할 수 있다. 또한, 의미론 등록부(220)는 특수한 세트의 객체 의미론부가 있는 지를 판별하고, 만일 있다면, 개별 세트의 특성 의미론부를 찾기 위한 특성 의미론 등록부를 포함할 수도 있다. 의미론 등록부(220)는, 예컨대 객체/특성 인터페이스(280)에 의해 요구되는 개별 세트의 의미론부를 찾는다. 의미론 등록부(220)는 호출된 의미론에 따라서 개별 객체 및 특성에 대한 변경을 행하고, 그 변경된 객체 및 특성을 객체/특성 인터페이스(280)에 공급한다. 또한, 의미론 등록부(220)는 트랜잭션 행위의 상태도 객체/특성 인터페이스(280)에 공급한다. 예컨대, 소정의 행위를 위해 호출된 의미론들 중 하나가 규정을 위반하여 그 행위가 실패했음을 나타낼 수도 있다.The semantic unit 230 accesses the object / characteristic model 290 via the object / characteristic interface 280. The semantics register 220 may include an object semantics register to determine if there is a special set of object semantics and, if so, to find individual sets of object semantics. Further, the semantic register 220 may include a characteristic semantic register for determining if there is a special set of object semantics and, if any, to find the characteristic semantics of the individual set. The semantics register 220 finds a separate set of semantics, for example required by the object / characteristic interface 280. The semantics register 220 makes changes to individual objects and properties in accordance with the called semantics, and supplies the changed objects and properties to the object / characteristic interface 280. In addition, the semantic register 220 also supplies the state of transaction behavior to the object / characteristic interface 280. For example, one of the semantics called for a given action may indicate that the action failed because it violated the rule.

객체 및 특성 작성기 등록부(260)는 객체 작성기 및 특성 작성기와 같은 작성기(270)를 각각 포함할 수 있다. 객체 및 특성 작성기 등록부(260)는 객체 및 특성의 생성을 위한 요구를, 예컨대 UMA 기반의 애플리케이션(225)을 거쳐서 개발자로부터 수신한다. 작성기(270)는 객체 및 특성을 생성한다. 객체 및 특성 작성기 등록부(260)는 특수한 작성기가 있는 지를 판별하고, 만일 있다면, 그 개별 작성기를 찾아서, 요구되고 있는 개별 객체 또는 특성을 생성한다. 또한, 객체 및 특성 작성기 등록부(260)는 정당성 생성 요구를 메타 데이터 관리자(240)에 공급한다. 그 정당성은, 예컨대 요구된 객체 또는 특성의 생성이 성공적이었는 지의 여부를 포함할 수 있다. 객체 및 특성 작성기 등록부(260)는 객체 및 특성을 각각 실증하고, 이러한 객체 및 특성을 객체/특성 인터페이스(280)에 공급한다.The object and property builder register 260 may include a builder 270 such as an object builder and a property builder, respectively. The object and property builder register 260 receives a request for the creation of objects and properties from a developer, for example via a UMA based application 225. Builder 270 creates objects and properties. The object and property builder register 260 determines if there is a special builder, and if so, finds that individual builder and creates the individual objects or properties that are required. In addition, the object and property builder register 260 supplies the justification generation request to the metadata manager 240. The justification can include, for example, whether the creation of the required object or property was successful. The object and property builder register 260 demonstrates objects and properties, respectively, and supplies these objects and properties to the object / property interface 280.

도 2에 도시한 바와 같이, 객체/특성 인터페이스(280)는, 예컨대 개발자에 의한 객체 및 특성의 변형 및 삭제에 대한 요구를 UMA 기반의 애플리케이션(225)을 거쳐서 수신한다. 이러한 요구는 메타 모델(210)의 의미론 등록부(220)로부터 객체/특성 인터페이스(280)에 공급되는 객체 및 특성에 대한 변경으로 될 수 있는 메타 모델(210) 내의 개별 의미론을 호출한다. 객체/특성 인터페이스(280)는 복수 개의 독립된 작업(discrete event) 중 소정의 독립된 작업을, 예컨대 표 1에 나타낸 바와 같이 인식하고, 소정의 의미론부 또는 세트의 의미론부가 호출되어야 하는 지를 판별할 수 있다. 독립된 작업은 객체/특성 모델(290)이 변형될 수 있는 발생을 나타낸다. 본 발명의 예시적인 실시예에서, UMA의 저작자는 복수 개의 독립된 작업을 제공할 수 있다.As shown in FIG. 2, object / property interface 280 receives, via a UMA-based application 225, a request for modification and deletion of objects and properties, for example, by a developer. This request calls for individual semantics in metamodel 210 which may be a change to the objects and properties supplied to object / property interface 280 from semantics register 220 of metamodel 210. The object / property interface 280 may recognize any independent task among a plurality of discrete events, for example, as shown in Table 1, and determine whether a given semantic portion or set of semantic portions should be called. . Independent work represents an occurrence in which the object / property model 290 can be modified. In an exemplary embodiment of the invention, the author of the UMA may provide a plurality of independent work.

상수a constant 설명Explanation PostCreationPostCreation 객체가 생성되고 있다The object is being created PreDestructionPreDestruction 객체가 파괴되고 있다Object is destroyed PreEditPreEdit 특성이 생성 및/또는 변형되려 하고 있다The property is about to be created and / or modified PostEditPostEdit 특성이 생성 및/또는 변형을 마쳤다The property has been created and / or modified PreNullPreNull 특성이 파괴되려 하고 있다Talent is about to be destroyed PreOwnerDestructionPreOwnerDestruction 특성을 소유하는 객체가 파괴되려 하고 있다The object owning the property is about to be destroyed

객체/특성 인터페이스(280)에는 호출된 개별 세트의 의미론부의 결과를 기초로 하여 의미론 등록부(220)에 의해 트랜잭션의 행위의 상태가 공급된다. 예컨대, 만일 어떤 행위로 인해, 호출된 세트의 의미론부 중 어느 하나가 규정에 위반된다면, 의미론 등록부(220)는 그 행위가 실패했다는 표시를 제공할 수 있다. 그러나, 만일 그 행위가 세트의 의미론부 중 어느 것도 규정을 위반하지 않았다면, 의미론 등록부(220)는 그 행위가 성공적이었다는 표시를 공급할 수 있다. 객체/특성 인터페이스(280)는 객체 및 특성 변경을 트랜잭션 관리자(285)에 공급하고, 만일 객체/특성 인터페이스(280)가 「어떤 행위가 실패했다」고 판별한다면, 그것은 그 행위가 실패했다는 표시를 트랜잭션 관리자(285)에 공급할 수 있다. 또한, 객체/특성 인터페이스(280)는 객체 및 특성을 객체/특성 모델(290)에도 공급한다. 또한, 객체/특성 인터페이스(280)는 객체/특성 모델(290)로부터 객체 및 특성을 수신하여, 예컨대, 요구받는다면, 이러한 객체 및 특성을 UMA 기반의 애플리케이션(225)에 공급한다.The object / property interface 280 is supplied with the status of the transaction's behavior by the semantic register 220 based on the results of the individual sets of semantics called. For example, if a certain action violates the provision of any of the semantic parts of the called set, the semantic register 220 may provide an indication that the action failed. However, if the action did not violate any of the semantics of the set, the semantics register 220 may provide an indication that the action was successful. The object / property interface 280 supplies the object and property changes to the transaction manager 285, and if the object / property interface 280 determines that "an action failed", it displays an indication that the action failed. May be supplied to transaction manager 285. Object / property interface 280 also supplies objects and properties to object / property model 290. The object / property interface 280 also receives objects and properties from the object / property model 290 and, for example, supplies these objects and properties to the UMA-based application 225 if required.

도 4는 객체 의미론을 실시하는 객체/특성 인터페이스(280)의 예시적인 방법에 관한 흐름도를 도시하고 있다. 410에서, 객체/특성 인터페이스(280)는 트랜잭션 관리자(285)와의 트랜잭션을 연다. 트랜잭션은 모델에 대한 각 변경마다, 그 변경이 무효라고 인지되면 삭제될 수 있게 열린다. 415에서, 객체/특성 인터페이스(280)는 객체 그 자신과 교신한다. 모든 객체는 자신들의 유형을 알고 있어, 그 객체 유형을 판별할 수 있다. 420에서, 객체/특성 인터페이스(280)는 객체/특성 인터페이스(280)는, 예컨대 위아래순으로, 메타 모델(210)로부터 각 객체에 대해 완성된 슈퍼타입 경로를 얻는다. 425에서, 제1 객체 유형(최상의 슈퍼타입)은 메타 모델로부터 객체/특성 인터페이스(280)에 의해 얻는다. 430에서, 객체/특성 인터페이스(280)는 객체 의미론 등록부(220)로부터 객체 유형에 대한 의미론 리스트를 얻는다. 435에서, 객체/특성 인터페이스(280)는 의미론 등록부(220)와 교신하여, 그 리스트 안에 보다 많은 의미론이 있는 지를 판별한다. 만일 그렇다면, 객체/특성 인터페이스(280)는 다음 의미론을, 455에서 얻고 460에서 실시한다. 465에서, 객체/특성 인터페이스(280)는 그 의미론이 실패했는 지를 판별한다. 만일 그렇다면, 470에서, 그 트랜잭션은 객체/특성 인터페이스(280)의 요구에 따라 트랜잭션 관리자(285)에 의해 롤백된다. 그러나, 그 의미론이 실패하지 않았다면, 435에서, 객체/특성 인터페이스(280)는 다시, 그 리스트 안에 보다 많은 의미론이 있는 지의 여부를 판별할 것이다.4 shows a flow diagram of an exemplary method of object / characteristic interface 280 for implementing object semantics. At 410, object / property interface 280 opens a transaction with transaction manager 285. For each change to the model, the transaction is opened for deletion if the change is considered invalid. At 415, object / characteristic interface 280 communicates with the object itself. Every object knows its type, so it can determine its type. At 420, object / property interface 280 obtains completed supertype path for each object from metamodel 210, for example in order of up and down. At 425, a first object type (best supertype) is obtained by object / property interface 280 from the metamodel. At 430, the object / characteristic interface 280 obtains a semantic list for the object type from the object semantics register 220. At 435, object / characteristic interface 280 communicates with semantic register 220 to determine if there are more semantics in the list. If so, the object / characteristic interface 280 obtains the following semantics at 455 and implements at 460. At 465, object / property interface 280 determines whether its semantics failed. If so, at 470, the transaction is rolled back by transaction manager 285 upon the request of object / characteristic interface 280. However, if the semantics did not fail, at 435, object / characteristic interface 280 will again determine whether there are more semantics in the list.

440에서, 그 리스트 안에 더 이상의 의미론이 없다면, 객체/특성 인터페이스(280)는 메타 모델과 교신하고, 상위 경로에 보다 많은 객체 유형이 있는 지의 여부를 판별할 것이다. 없다면, 450에서, 트랜잭션은 닫힌다. 만일 상위경로에 보다 많은 객체 유형이 있다면, 445에서, 다음 객체 유형을 얻고, 객체/특성 인터페이스(280)는 다시, 객체 의미론 등록부로부터 객체 유형에 대한 의미론 리스트를 얻는 경우에 430으로 진행한다.At 440, if there are no more semantics in the list, the object / characteristic interface 280 will communicate with the metamodel and determine whether there are more object types in the parent path. If not, at 450, the transaction is closed. If there are more object types in the higher path, then at 445 the next object type is obtained, and the object / property interface 280 again proceeds to 430 if a semantic list for the object type is obtained from the object semantics register.

도 5는 특성 의미론을 실시하는 객체/특성 인터페이스(280)의 예시적인 방법에 관한 흐름도를 도시하고 있다. 510에서, 객체/특성 인터페이스(280)는 트랜잭션 관리자(285)와의 트랜잭션을 연다. 515에서, 객체/특성 인터페이스(280)는 객체와 교신하여, 객체 유형을 판별한다. 520에서, 객체/특성 인터페이스(280)는, 예컨대 위아래순으로, 메타 모델(210)로부터 각 객체에 대해 완성된 슈퍼타입 경로를 얻는다. 525에서, 제1 객체 유형(최상의 슈퍼타입)은 메타 모델로부터 객체/특성 인터페이스(280)에 의해 얻는다. 527에서, 객체/특성 인터페이스(280)는 객체 유형과 특성 유형에 대해 객체/특성쌍을 구성한다. 530에서, 객체/특성 인터페이스(280)는 특성 의미론 등록부(530)로부터 객체/특성상 유형에 대한 의미론 리스트를 얻는다.5 shows a flowchart of an exemplary method of object / characteristic interface 280 that implements characteristic semantics. At 510, object / property interface 280 opens a transaction with transaction manager 285. At 515, object / property interface 280 communicates with the object to determine the object type. At 520, object / property interface 280 obtains the completed supertype path for each object from metamodel 210, for example, in order of up and down. At 525, the first object type (best supertype) is obtained by the object / property interface 280 from the metamodel. At 527, object / property interface 280 constructs an object / property pair for the object type and the property type. At 530, object / property interface 280 obtains a semantic list for the object / characteristic type from property semantic register 530.

535에서, 객체/특성 인터페이스(280)는 그 리스트 안에 보다 많은 의미론이 있는 지를 판별한다. 만일 그렇다면, 객체/특성 인터페이스(280)는 560에서 다음 의미론을 얻고, 상기 다음 의미론을 560에서 실시한다. 565에서, 객체/특성 인터페이스(280)는 그 의미론이 실패했는 지를 판별하고, 570에서, 그 트랜잭션은 롤백된다. 그러나, 그 의미론이 실패하지 않았다면, 435에서, 객체/특성 인터페이스(280)는 535로 복귀하여, 그 리스트 안에 보다 많은 의미론이 있는 지의 여부를 판별할 것이다.At 535, object / property interface 280 determines if there is more semantics in the list. If so, the object / characteristic interface 280 obtains the next semantics at 560 and implements the next semantics at 560. At 565, object / property interface 280 determines whether the semantics failed, and at 570, the transaction is rolled back. However, if the semantics did not fail, at 435, object / characteristic interface 280 will return to 535 to determine whether there are more semantics in the list.

540에서, 그 리스트 안에 더 이상의 의미론이 없다면, 객체/특성인터페이스(280)는 메타 모델과 교신하고, 상위 경로에 보다 많은 객체 유형이 있는 지의 여부를 판별할 것이다. 없다면, 550에서, 트랜잭션은 닫힌다. 만일 상위 경로에 보다 많은 객체 유형이 있다면, 545에서, 다음 객체 유형을 얻고, 객체/특성 인터페이스(280)는 다시, 객체 유형과 특성 유형에 대한 객체/특성쌍을 구성하는 경우에 527로 진행한다.At 540, if there are no more semantics in the list, the object / characteristic interface 280 will communicate with the metamodel and determine whether there are more object types in the parent path. If not, at 550, the transaction is closed. If there are more object types in the parent path, then at 545, the next object type is obtained, and the object / property interface 280 again proceeds to 527 when constructing an object / property pair for the object type and the property type. .

본 발명의 예시적인 실시예에서, 객체/특성 모델(290)은 소정의 세트의 미리 정의된 객체 및 특성을 포함하고 있다. 미리 정의된 세트의 객체 및 특성은, 예컨대 제품 개발자에게 필요한 작업량을 줄이기 위해 UMA 개발자에 의해 공급될 수 있다. 또한, 객체/특성 모델(290)은 객체/특성 인터페이스(280)로부터 객체 및 특성을 수신한다. 객체/특성 인터페이스로부터 수신된 객체 및 특성은 개발자가 공급한 메타 데이터의 외부 정의를 기초로 한다. 객체/특성 모델(290)에 포함되는 것은, 생성 및 변형되도록 개발자가 요구한 객체 및 특성이다. 또한, 객체/특성 모델(290)은 객체/특성 인터페이스(280)를 통해서 트랜잭션 관리자(285)에 대한 모델 변경을 로그(log)한다. 그러나, 본 발명의 예시적인 실시예에서, 실패한 행위의 결과인 객체/특성 모델(290)의 객체 및 특성은 객체/특성 모델(290)로부터 제거된다.In an exemplary embodiment of the invention, the object / property model 290 includes a predetermined set of predefined objects and properties. The predefined set of objects and properties can be supplied by the UMA developer, for example, to reduce the amount of work required by the product developer. The object / property model 290 also receives objects and properties from the object / property interface 280. Objects and properties received from the object / property interface are based on the external definition of metadata supplied by the developer. Included in the object / property model 290 are the objects and properties required by the developer to be created and modified. The object / property model 290 also logs model changes to the transaction manager 285 via the object / property interface 280. However, in the exemplary embodiment of the present invention, the objects and properties of the object / property model 290 that are the result of the failed action are removed from the object / property model 290.

따라서, 본 발명의 예시적인 실시예에서, 개발자가 공급하고 객체/특성 모델(290) 내에 남아 있는 객체 및 특성은 성공한 행위로부터 얻은 객체 및 특성이다. 따라서, 개발자는 객체/특성 모델(290)을, 직접 액세스하지 못하고 직접 변경할 수도 없다. 결국, 모델의 변경은 모델링 엔진에 의해 인지되고, 언제든지 일관되고 유효한 상태가 보장될 수 있다. 만일 개발자가 기본 데이터 구조를 직접 액세스했다면, 부적절한 변경이 행해질 수 있고, 따라서 무효의 상태가 생성될 수 있다.Thus, in an exemplary embodiment of the present invention, the objects and properties supplied by the developer and remaining within the object / property model 290 are the objects and properties obtained from the successful act. Thus, the developer may not directly access or change the object / property model 290. As a result, changes in the model are recognized by the modeling engine, and a consistent and valid state can be guaranteed at any time. If the developer has accessed the underlying data structure directly, improper changes can be made and thus an invalid state can be generated.

트랜잭션 관리자(285)는 개별 객체 및 특성을, 그들 개별 객체 및 특성이 실패한 행위에 의해 변경되기 이전에 있었던 상태로 놓는다. 예컨대, 트랜잭션 관리자(285)는 객체/특성 인터페이스(280)가 소정의 행위를 실패했다는 표시를 공급받는다. 실패하는 모든 행위는 수행되지 않거나 소거된다. 트랜잭션 관리자(285)는, 예컨대 객체/특성 모델(290)에 대한 변경을 로그 파일(295)에 로그시키고, 그 로그 파일(295)로부터 비실행 데이터를 얻으며, 객체/특성 인터페이스(280)에 의해 판별된 트랜잭션 내에서 행위의 성공 또는 실패를 기초로 하여 비실행 동작을 수행함으로써, 이것을 달성할 수 있다. 따라서, 객체/특성 모델(285)은 유효 상태로 유지된다. 또한, 본 발명의 예시적인 실시예에서, 트랜잭션 관리자(285)는 UMA 기반의 애플리케이션(225)으로부터의 행위를 비실행 또는 재실행하기 위해 소정의 요구를 수신할 수 있다. 만일 소정의 재실행이 요구된다면, 트랜잭션 관리자(285)는 로그 파일(295)로부터 재실행 정보를 요구하고, 공지의 방식으로 그 재실행 동작을 수행할 수 있다.Transaction manager 285 puts the individual objects and properties into the state they were in before they were changed by the failed action. For example, transaction manager 285 is supplied with an indication that object / characteristic interface 280 has failed certain actions. All failing actions are not performed or erased. Transaction manager 285, for example, logs changes to object / property model 290 to log file 295, obtains non-executive data from log file 295, and is used by object / property interface 280. This can be accomplished by performing a non-executive action based on the success or failure of the action within the determined transaction. Thus, object / property model 285 remains valid. In addition, in an exemplary embodiment of the invention, transaction manager 285 may receive certain requests to undo or redo actions from UMA-based application 225. If some redo is required, transaction manager 285 may request redo information from log file 295 and perform the redo operation in a known manner.

본 발명의 예시적인 실시예에서, UMA(200)는 내부 서비스 구성 요소와 외부 서비스 구성 요소를 더 포함할 수 있다. 내부 서비스 구성 요소는, 예컨대 개발자의 문제 영역을 해결하기 위해 개발자에게 노출되어 모델의 생성과 조작시에 지원할 수 있는 서비스 또는 기능을 포함할 수 있다. 본 발명의 예시적인 실시예에서,내부 서비스는 본 명세서에 첨부된 부록 1에 나타낸 그들 서비스 또는 기능을 포함할 수 있다.In an exemplary embodiment of the present invention, the UMA 200 may further include an internal service component and an external service component. The internal service component may include a service or a function that can be exposed to the developer to support a problem in the generation and manipulation of the model, for example, to solve the problem area of the developer. In an exemplary embodiment of the present invention, internal services may include those services or functions shown in Appendix 1 attached herein.

외부 서비스 인터페이스는 외부 서비스가 UMA(200)와 교신할 수 있게 하는 인터페이스이다. 외부 서비스 인터페이스는, 예컨대 제3자 모듈이 도구의 모델링 능력을 확장할 수 있게 하는 애드 인(add-in) 애플리케이션 프로그램 인터페이스를 연결하고 실장하는 객체일 수 있으며, 따라서 자동으로 사용자 정의되는 것과 같은 기능을 포함하기 위해 모델링 환경과 모델링 규칙을 확장할 수 있다. 따라서, 개발자는 UMA(200) 내부의 서비스를 벗어난 서비스를 액세스할 수 있다. 외부 서비스는, 예컨대 사용자가 입력한 모든 명칭에 관한 통합 명명법 기준을 만들기 위한 모듈일 수 있다. 또한, UMA(200)는 UMA 기반의 애플리케이션(225)과 같은 사용자 인터페이스가 의미론부(230)로부터 분리됨에 따라서 축소 확대가 가능하다.The external service interface is an interface that allows an external service to communicate with the UMA 200. The external service interface can be, for example, an object that connects and implements an add-in application program interface that allows a third party module to extend the modeling capabilities of the tool, and thus functions such as being automatically customized. You can extend the modeling environment and modeling rules to include. Accordingly, the developer may access a service outside the service inside the UMA 200. The external service may be, for example, a module for creating an integrated nomenclature criteria for all names entered by the user. In addition, the UMA 200 may be reduced and enlarged as a user interface such as the UMA-based application 225 is separated from the semantic unit 230.

도 6에는 본 발명의 모델링 도구를 제작하기 위한 방법의 예시적인 실시예를 도시하고 있다. 610에서, 객체/특성 모델(290)은 메타 데이터로서 개발자가 공급한 객체 및 특성에 대한 제1 세트의 클래스를 정의함으로써 구성된다. 본 발명의 예시적인 실시예에서, 객체/특성 모델(290)은 미리 정의된 세트의 하나 또는 그 이상의 객체 및 특성을 포함할 수 있다. 객체는 특성에 대한 기억 메카니즘을 제공하고, 그 특성은 그 기억 메카니즘에 적용된다. 본 발명의 예시적인 실시예에서, 객체에 대한 인터페이스 클래스는, 예컨대 UMEObjectI일 수 있다. 특성은 프로그래머가 서브클래스 세분(subclassing)을 할 필요가 있는 기본 클래스로서 구성될 수 있다. 본 발명의 예시적인 실시예에서, 그 기본 클래스는 데이터 기억부 없이도 행정 서비스를 제공할 수 있다. 본 발명의 예시적인 실시예에서, 개발자는 데이터 엘리먼트를 선언하는 서브클래스와, 액세스를 생성하기 위한 방법을 제공할 수 있다.6 illustrates an exemplary embodiment of a method for manufacturing the modeling tool of the present invention. At 610, the object / property model 290 is constructed by defining a first set of classes for objects and properties supplied by the developer as metadata. In an exemplary embodiment of the invention, the object / property model 290 may include a predefined set of one or more objects and features. An object provides a storage mechanism for a property, which property applies to that storage mechanism. In an exemplary embodiment of the invention, the interface class for the object may be, for example, UMEObjectI. The property can be configured as a base class that the programmer needs to subclass. In an exemplary embodiment of the invention, the base class can provide administrative services without data storage. In an exemplary embodiment of the invention, a developer may provide a subclass that declares a data element and a method for creating access.

620에서, 메타 모델(210)은, 예컨대 제2 세트의 클래스를 정의함으로서 구성된다. 그 제2 세트의 클래스는 특성, 객체 및 의미론의 설명을 유지하도록 지정된다. 예컨대, 본 발명의 예시적인 실시예에서, 2 개의 의미론 인터페이스 클래스가 지정된다. 제1 의미론 인터페이스 클래스, 예컨대 UMEObjectSemanticI는 소정의 객채의 생성 또는 파괴에 영향을 미치는 임의의 의미론에 대한 인터페이스이다. 또한, 제2 의미론 인터페이스 클래스, 예컨대 UMEPropertySemanticI는 소정의 특성의 생성, 파괴 또는 변형에 영향을 미치는 임의의 의미론에 대한 인터페이스이다. 본 발명의 예시적인 실시예에서, 메타 모델(210)의 표현의 실시는 메타 데이터와 의미론을 등록하기 위한 정적 방법을 노출시키는 독자적인 객체를 포함하고 있다.At 620, the metamodel 210 is configured by, for example, defining a second set of classes. The second set of classes is designated to maintain descriptions of properties, objects, and semantics. For example, in an exemplary embodiment of the present invention, two semantic interface classes are specified. The first semantic interface class, such as UMEObjectSemanticI, is an interface to any semantics that affects the creation or destruction of a given object. Further, the second semantic interface class, such as UMEPropertySemanticI, is an interface to any semantics that affects the creation, destruction or modification of certain properties. In an exemplary embodiment of the invention, the implementation of the representation of the metamodel 210 includes a proprietary object that exposes a static method for registering metadata and semantics.

모델링 규칙, 예컨대 의미론부(230)는 메타 모델(210)의 의미론 등록부(220) 내에 640에서의 미리 정의된 세트의 의미론부로서 및/또는 예컨대 스타트업시에 또는 그후의 임의의 시간에 개발자가 공급한 부가의 세트의 의미론부로서 통합될 수 있다. 소정의 객체에 대해서 모델링 규칙을 메타 모델(210) 내에 통합하기 위해서, 개발자는 적절한 호(乎·call)들을, 예컨대 소정의 객체에 대한 모델링 규칙용 UMEObjectSemanticI과 소정의 특성에 대한 모델링 규칙용 UMEPropertySemanticI를 서브클래스로 세분한다. 또한, 개발자는, 원하는 동작을 수행하고 객체/특성 모델(290)을 점검하기 위해 첫번째 방법을 실시할 수 있다. 그 동작이 성공했는 지의 여부를 나타내는 값은 복귀될 것이다. 예컨대, 복귀값이 TRUE이면 그 동작이 성공했음을 나타내고, 복귀값이 FALSE이면 그 동작이 성공적으로 수행되지 않았거나 그 모델이 무효 상태에 있었음을 나타낼 것이다. 또한, 의미론부(230)를 호출하기 위해, 메타 모델(210) 내에는 액세스 점(예컨대, 객체/특성 모델 변형점)이 포함될 수 있다. 다양한 모델 변형점들(예컨대, CreatObject)이 적절한 점의 개별 의미론을 호출할 것이다. 하나 또는 그 이상의 의미론이 성공적으로 완수하는 데 실패한 의미론들을 실시하는 것 중에서 소정의 표시, 예컨대 FALSE가 수신된다면, 그 동작은 결국 중지될 수 있다.Modeling rules, such as semantics 230, are supplied by the developer as a predefined set of semantics at 640 in the semantics register 220 of metamodel 210 and / or at startup or at any time thereafter, for example. It can be integrated as an additional set of semantics. In order to integrate modeling rules into the metamodel 210 for a given object, the developer may call appropriate calls, e.g., UMEObjectSemanticI for modeling rules for a given object and UMEPropertySemanticI for modeling rules for a given property. Subclass into subclasses. In addition, the developer can implement the first method to perform the desired action and to check the object / property model 290. A value indicating whether the operation was successful will be returned. For example, a return value of TRUE indicates that the operation was successful, and a return value of FALSE would indicate that the operation was not successful or the model was in an invalid state. In addition, to call the semantic unit 230, the metamodel 210 may include an access point (eg, an object / characteristic model transformation point). Various model transformation points (eg, CreatObject) will call the individual semantics of the appropriate points. If a certain indication, such as FALSE, is received among those implementing one or more semantics that failed to successfully complete, the operation may eventually stop.

630에서, 유형 코드는 제1 세트의 클래스 및 제2 세트의 클래스와 관련되어 있다. 유형 코드는 메타 데이터의 어느 유형이 표현되고 있는 지를 지정하는 특유의 인식자이다. 메타 모델에 지시된 각 항목, 즉 객체 및 특성 모두는 특유의 유형 코드를 구비할 것이다. 본 발명의 예시적인 실시예에서, UMA(200)는 변수 유형, 즉 TypeCode_t를 포함하고 있고, 그것은 유형 코드를 유지하도록 선언된다. 미리 정의된 세트의 의미론부는 640에서 메타 모델(210)의 의미론 등록부(220)에 공급된다.At 630, the type code is associated with a first set of classes and a second set of classes. The type code is a unique identifier that specifies which type of metadata is being represented. Each item indicated in the metamodel, i.e., both the object and the property, will have a unique type code. In an exemplary embodiment of the invention, UMA 200 includes a variable type, TypeCode_t, which is declared to maintain a type code. The predefined set of semantics is supplied to the semantics register 220 of the metamodel 210 at 640.

650에서, 예컨대 표 1에 도시한 바와 같은 복수 개의 독립된 작업이 인식된다. 그 독립된 작업들은 객체/특성 모델(290)이 변형될 수 있는 발생을 나타낸다. 본 발명의 예시적인 실시예에서, 각 독립된 작업에는 그것을 나타내는 상수가 배정되고, 변수 유형, 예컨대 Event_t가 작업 상수(event constant)들을 유지하도록 선언된다.At 650, a plurality of independent jobs, for example as shown in Table 1, are recognized. The separate tasks represent occurrences in which the object / characteristic model 290 can be modified. In an exemplary embodiment of the invention, each independent task is assigned a constant that represents it, and a variable type, such as Event_t, is declared to hold the event constants.

660에서, 객체/특성 인터페이스(280)가 실행된다. 객체/특성 인터페이스(280)는, 예컨대 개발자가 객체/특성 모델(290)을 직접 액세스하지 못하게 하고, 개발자가 객체/특성 모델(290)을 변형시킬 수 있는 코드 경로의 수를 제한하는 것을 포함하고 있다. 예컨대, 만일 개발자가 객체/특성 모델(290) 내의 소정의 객체를 파괴하고 싶어한다면, 부록 1의 리스트에 있는 UMEObjectI:DestroyObject와 같은 객체/특성 인터페이스(280)에 대해 소정의 요구가 행해져야 할 것이다.At 660, object / property interface 280 is executed. The object / property interface 280 includes, for example, preventing a developer from directly accessing the object / property model 290 and limiting the number of code paths for which the developer can transform the object / property model 290; have. For example, if a developer wishes to destroy a given object in the object / property model 290, a request must be made to the object / property interface 280, such as UMEObjectI: DestroyObject in the list in Appendix 1. .

도 7은 DestroyObject 요구를 실행하는 객체/특성 인터페이스(280)의 예시적인 실시예를 도시하고 있다. 도 7에 도시한 바와 같이, 객체/특성 모델(290)에 대한 액세스는 DestroyObject 요구를 취급하는 객체/특성 인터페이스(280)에 의해 제한된다. 예컨대, 710에서, 객체/특성 인터페이스(280)는 트랜잭션 관리자(285)와 교신하여, 요구를 수신할 때 트랜잭션을 열어서, 객체를 파괴한다(예컨대, DestroyObject 기능). 715에서, 객체/특성 인터페이스(280)는 객체/특성 모델(290)과 교신하여, 파괴되도록 요구받은 객체를 찾는다. 720에서, 객체/특성 인터페이스(280)는 그 객체를 찾았는 지의 여부를 판별한다. 못찾았다면, 725에서, 트랜잭션 관리자(285)는 객체/특성 인터페이스(280)에 의한 요구에 따라서 트랜잭션을 롤백하고, 730에서 트랜잭션 관리자는 실패 코드를 호(calling) 모듈, 예컨대 사용자 인터페이스로 되돌려 보낸다. 그러나, 객체를 찾으면, 735에서, 객체/특성 인터페이스(280)는 트랜잭션 관리자(285)에게 객체 파괴 정보를 공급하고, 트랜잭션 관리자(285)는 그 객체 파괴를 트랜잭션 로그(295) 내에 로그시킨다.7 illustrates an example embodiment of an object / characteristic interface 280 that executes a DestroyObject request. As shown in FIG. 7, access to the object / property model 290 is limited by the object / property interface 280 that handles DestroyObject requests. For example, at 710, object / property interface 280 communicates with transaction manager 285 to open a transaction when receiving a request, destroying the object (eg, the DestroyObject function). At 715, object / property interface 280 communicates with object / property model 290 to find the object that is required to be destroyed. At 720, object / characteristic interface 280 determines whether the object was found. If not found, at 725, transaction manager 285 rolls back the transaction in response to a request by object / characteristic interface 280, and at 730, the transaction manager sends a failure code back to the calling module, such as the user interface. . However, if an object is found, at 735, object / property interface 280 supplies object destruction information to transaction manager 285, and transaction manager 285 logs the object destruction in transaction log 295.

740에서, 객체/특성 인터페이스(280)는 개별 객체의 모든 특성에 관한 PreOwnerDestruction Semantics를 실시한다. 745에서, 객체/특성 인터페이스(280)는 모든 의미론이 성공했는 지의 여부를 판별한다. 그렇지 않다면, 725에서, 트랜잭션 관리자(285)는 객체/특성 인터페이스(280)에 의한 요구에 따라서 트랜잭션을 롤백하고, 트랜잭션 관리자(285)는 실패 코드를 호 모듈로 돌려 보낸다.At 740, object / property interface 280 implements PreOwnerDestruction Semantics for all properties of an individual object. At 745, the object / characteristic interface 280 determines whether all semantics succeeded. Otherwise, at 725, transaction manager 285 rolls back the transaction in response to a request by object / characteristic interface 280, and transaction manager 285 returns a failure code to the call module.

모든 PreOwner Destruction Semantics가 성공했다면, 750에서, 객체/특성 인터페이스(280)는 PreDestruction Semantics를 실시한다. 755에서, 객체/특성 인터페이스(280)는 모든 PreDestruction Semantics가 성공했는 지의 여부를 판별한다. 성공했다면, 760에서, 그 객체는 파괴되고, 765에서, 객체/특성 인터페이스(280)는 트랜잭션 관리자(285)와 교신하여 트랜잭션을 종료시키며, 770, 730에서, 트랜잭션 관리자(285)는 성공 코드를 호 모듈로 돌려 보낸다. 그러나, PreDestruction Semantics가 실패했다면, 725에서, 트랜잭션 관리자(285)는 객체/특성 인터페이스(280 및 730)로부터의 요구에 따라서 트랜잭션을 롤백하고, 트랜잭션 관리자(285)는 실패 코드를 호 모듈로 돌려 보낸다.If all PreOwner Destruction Semantics succeeded, then at 750, object / property interface 280 implements PreDestruction Semantics. At 755, object / property interface 280 determines whether all PreDestruction Semantics have succeeded. If successful, the object is destroyed at 760, and at 765, the object / property interface 280 contacts transaction manager 285 to terminate the transaction, and at 770, 730, transaction manager 285 returns a success code. Send it back to the call module. However, if PreDestruction Semantics failed, then at 725, transaction manager 285 rolls back the transaction in response to a request from object / property interfaces 280 and 730, and transaction manager 285 returns the failure code to the call module. .

객체의 구성과 파괴를 제한하기 위해, 예컨대, 객체 구성기와 객체 파괴기는 개발자가 객체를 직접 실증하거나 파괴하지 못하도록 보호된다. 특성의 생성, 파괴 및 변형을 제한하기 위해, 예컨대, 특성의 데이터 구성원들은 개별적으로 행해진다. 본 발명의 예시적인 실시예에서, UMA(200)는 인터페이스 클래스, 예컨대 UMEAccessorI를 포함하는 액세서라고 하는 클래스를 포함하고 있다. 액세서 인터페이스 클래스은 특성에 대한 동급의 클래스이고, 데이터 구성원에게 액세스가 부여되는 것은 바로 액세서를 통해서 이다. 엑세서에는 데이터값과 명령(예컨대, 「그 값을 설정」 또는 「특성을 삭제」)이 공급되고, 액세서는 특성들에 주입된다. 액세서들은 그들의 행위를 수행하고, 성공 또는 실패를 표시하는 코드를 돌려 보낸다. 액세서는 특성에 하나를 공급해달라고 요청함으로써 구성된다. 이에 의해, 특성은 그 특성의 데이터 유형을 취급할 수 있는 액세서를 구성할 수 있게 된다. 특성에 관한 모든 동작은 액세서를 통해서 구성되고, 따라서 의미론이 필요로 하는 모든 코드는 제공되는 액세서 기본 클래스 내에 있을 수 있다. 개발자 세부 클래스 클래스 액세서는 데이터 엘리먼트와, 그것을 판독하고 기록하는 방법을 간단히 공급할 것이다. 방법은, 특성에 대한 결합을 허용할 수 있는 액세서 기본 클래스에 관해 공급된다.To limit the construction and destruction of objects, for example, object constructors and object destroyers are protected so that developers cannot demonstrate or destroy objects directly. In order to limit the creation, destruction and modification of a characteristic, for example, the data members of the characteristic are done individually. In an exemplary embodiment of the invention, UMA 200 includes a class called an accessor that includes an interface class, such as UMEAccessorI. The accessor interface class is the equivalent class for the property, and it is through the accessor that access is granted to data members. The accessor is supplied with a data value and a command (eg, "set that value" or "delete the characteristic"), and the accessor is injected into the characteristics. Accessors perform their actions and return code indicating success or failure. An accessor is constructed by requesting one to be supplied to a characteristic. This makes it possible to construct an accessor capable of handling the data type of the characteristic. All operations on properties are configured through accessors, so any code required by semantics can be in the provided accessor base class. The developer subclass class accessor will simply supply a data element and a way to read and write it. The method is supplied with respect to an accessor base class that can allow binding to properties.

도 6에 도시한 바와 같이, 670에서, 트랜잭션 관리자(285)가 수행된다. 트랜잭션 관리자(285)는 트랜잭션의 행위들을 관리하고, 그들 행위가 실패한다면, 그들 행위는 비실행 또는 소거된다. 모델 조작의 개시부에서 트랜잭션을 시작하고 나서 다양한 의미론의 오류 상태를 감시함으로써, 트랜잭션 관리자(285)는 객체/특성 모델(290)을 유효 상태로 유지한다. 본 발명의 예시적인 실시예에서, 트랜잭션 관리자(285)는 행위에 기초하여 변경을 구현하기 이전에 객체/특성 모델(290)의 정확한 이미지를 기록한다. 그 행위가 성공한다면, 그 개별 변경은 바뀌지 않게 된다. 실패가 발생하면, 트랜잭션 관리자(285)는 과거의 이미지를 재기억시킨다. 트랜잭션 관리자(285)는 모델이 변경함에 따라 이미지를 증가적으로 보존할 수 있다.As shown in FIG. 6, at 670, a transaction manager 285 is performed. The transaction manager 285 manages the actions of the transaction, and if those actions fail, those actions are inactivated or erased. By starting the transaction at the beginning of the model manipulation and then monitoring the error state of various semantics, transaction manager 285 keeps object / characteristic model 290 valid. In an exemplary embodiment of the invention, transaction manager 285 records an accurate image of object / property model 290 prior to implementing the change based on the behavior. If the action succeeds, the individual change is not changed. If a failure occurs, transaction manager 285 re-memorizes the past image. Transaction manager 285 may incrementally preserve the image as the model changes.

일 예로서, 단일의 트랜잭션 내에서 사용자는 객체를 생성하고 그의 명칭을 설정해 나간다. 객체의 성공적 생성시에, 객체가 생성된 사실과 그 객체에 대한 취급은 트랜잭션 로그(295) 내에 기억된다. 이어서, 사용자가 「Customer」에 대한객체의 명칭을 설정하면, 특성의 생성은 재기록되고 과거값(없음)이 로그에 저장된다. 이어서, 사용자가 다시 「Cust」에 명칭을 설정하면, 과거값(「Customer」)이 로그에 저장된다. 모두 성공하면, 「Cust」라는 명칭의 객체가 남는다. 그러나, 실패시에, 트랜잭션 관리자(285)는 롤백을 시작할 것이다. 즉, 첫째로, 명칭을 「Cust」에서 「Customer」로 변경하고, 둘째로, 명칭 특성의 존재를 모두 삭제하며, 마지막으로, 객체를 삭제한다. 이로써, 객체/특성 모델(290)은 그 실패한 트랜잭션의 수행 이전에 있었던 상태로 재기억된다.As an example, in a single transaction the user creates an object and sets its name. Upon successful creation of an object, the fact that the object was created and the handling for that object are stored in transaction log 295. Then, if the user sets the name of the object for "Customer", the generation of the property is rewritten and the past value (none) is stored in the log. Subsequently, when the user sets the name to "Cust" again, the past value ("Customer") is stored in the log. If all succeeds, an object named "Cust" remains. However, upon failure, transaction manager 285 will begin rollback. That is, firstly, the name is changed from "Cust" to "Customer", secondly, all the existence of the name property is deleted, and finally, the object is deleted. As such, the object / property model 290 is re-memorized to the state it was in before the execution of the failed transaction.

본 발명의 예시적인 실시예에서, 행위의 결과로서 변경된 객체 및 특성은 객체/특성 인터페이스(280)에 의해 객체/특성 모델(290)에 공급된다. 그 행위가 관계된 의미론이 실패하면, 객체/특성 인터페이스(280)는 트랜잭션 관리자(285)에게 그 행위를 실행하지 말라고 통보한다. 그 결과, 객체/특성 모델(290)은 실패한 행위의 결과로서 객체/특성 인터페이스(280)로부터 객체/특성 모델(290)에 공급되고 있는 변경된 객체 및 특성 이전의 상태로 다시 있게 된다.In an exemplary embodiment of the invention, the objects and properties that changed as a result of the action are supplied to the object / property model 290 by the object / property interface 280. If the semantics associated with the action fail, the object / property interface 280 notifies the transaction manager 285 not to execute the action. As a result, the object / property model 290 is again in a state prior to the changed objects and properties that are being supplied from the object / property interface 280 to the object / property model 290 as a result of the failed behavior.

전술한 실시예들은 본 발명의 설명예이므로, 본 발명을 이들 특정 실시예에 한정해서 해석해서는 안된다. 당해 기술 분야의 숙련자에게는 특허 청구의 범위에 정의한 본 발명의 사상 또는 범위를 벗어나지 않고서도 다양한 변경과 변형이 실현될 수 있다.Since the above-described embodiments are illustrative examples of the present invention, the present invention should not be construed as being limited to these specific embodiments. Various modifications and variations can be made to those skilled in the art without departing from the spirit or scope of the invention as defined in the claims.

부록Appendix

Claims (16)

의미론 등록부와 메타 데이터 관리자를 포함하는 메타 모델과,A metamodel including a semantic registry and a metadata manager, 객체/특성 인터페이스와,Object / property interface, 상기 메타 모델 및 상기 객체/특성 인터페이스에 결합된 객체/특성 작성기 등록부와,An object / property builder register coupled to the metamodel and the object / property interface; 상기 객체/특성 인터페이스에 결합된 객체/특성 모델을 포함하는 것인 모델링 도구 제작 장치.And an object / property model coupled to the object / property interface. 제1항에 있어서, 상기 객체/특성 모델을 무효 상태로 하는 행위를 실행시키기 않기 위해 상기 객체/특성 인터페이스에 결합된 트랜잭션 관리자를 더 포함하는 것인 모델링 도구 제작 장치.10. The apparatus of claim 1, further comprising a transaction manager coupled to the object / property interface to disable the act of invalidating the object / property model. 제1항에 있어서, 상기 메타 모델의 상기 의미론 등록부는 적어도 미리 정의된 세트의 의미론을 포함하는 것인 모델링 도구 제작 장치.The apparatus of claim 1, wherein the semantic register of the metamodel includes at least a predefined set of semantics. 제1항에 있어서, 상기 메타 모델의 상기 의미론 등록부는 개발자가 공급한 적어도 한 세트의 의미론을 포함하는 것인 모델링 도구 제작 장치.The apparatus of claim 1, wherein the semantic register of the metamodel includes at least one set of semantics supplied by a developer. 제1항에 있어서, 상기 메타 모델의 상기 객체/특성 작성기 등록부는 객체의일 예를 생성하기 위한 적어도 하나의 객체 작성기와, 특성의 일 예를 생성하기 위한 하나의 특성 작성기를 포함하는 것인 모델링 도구 제작 장치.The modeling of claim 1, wherein the object / property builder register of the metamodel includes at least one object builder for generating an example of an object and one property builder for generating an example of a property. Tool making device. 제1항에 있어서, 상기 객체/특성 모델은 복수 개의 객체와 복수 개의 특성 중 적어도 하나의 미리 정의된 세트를 포함하는 것인 모델링 도구 제작 장치.The apparatus of claim 1, wherein the object / property model comprises a predefined set of at least one of a plurality of objects and a plurality of properties. 제1항에 있어서, 상기 객체/특성 모델은 상기 메타 모델의 외부 정의를 기초로 하여 객체 및 특성의 예들을 포함하는 것인 모델링 도구 제작 장치.The apparatus of claim 1, wherein the object / property model includes examples of objects and properties based on an external definition of the metamodel. 제2항에 있어서, 상기 트랜잭션 관리자 객체/특성 인터페이스에 결합된 로그 파일을 더 포함하는 것인 모델링 도구 제작 장치.3. The apparatus of claim 2, further comprising a log file coupled to the transaction manager object / property interface. 제1항에 있어서, 상기 객체/특성 인터페이스는 상기 객체/특성 모델에 대한 액세스를 제한하는 것인 모델링 도구 제작 장치.The apparatus of claim 1, wherein the object / property interface restricts access to the object / property model. 제1 세트의 클래스를 정의함으로써 객체/특성 모델을 구성하는 단계와,Constructing an object / property model by defining a first set of classes, 제2 세트의 클래스를 정의함으로써 메타 모델을 구성하는 단계와,Constructing a metamodel by defining a second set of classes, 유형 코드를 상기 제1 세트의 클래스 및 상기 제2 세트의 클래스와 연결짓는 단계와,Associating a type code with the first set of classes and the second set of classes; 미리 정의된 세트의 의미론을 상기 메타 모델에 공급하는 단계와,Supplying a predefined set of semantics to the metamodel, 상기 세트의 의미론 중 적어도 하나의 의미론이 복수 개의 독립된 작업의 각 발생시에 호출될 때, 상기 복수 개의 독립된 작업을 인식하는 단계와,Recognizing the plurality of independent tasks when at least one of the semantics of the set is called at each occurrence of the plurality of independent tasks; 상기 객체/특성 모델에 대한 엑세스를 제한하기 위한 객체/특성 인터페이스를 공급하는 단계를 포함하는 것인 모델링 도구 제작 방법.Supplying an object / characteristic interface for restricting access to the object / characteristic model. 제10항에 있어서, 상기 객체/특성 모델을 무효 상태로 하는 행위를 실행시키지 않기 위해 트랜잭션 관리자를 공급하는 단계를 더 포함하는 것인 모델링 도구 제작 방법.11. The method of claim 10, further comprising providing a transaction manager to not execute the act of invalidating the object / property model. 제10항에 있어서, 상기 객체/특성 모델은 상기 복수 개의 객체와 상기 복수 개의 특성 중 적어도 하나의 미리 정의된 세트를 포함하는 것인 모델링 도구 제작 방법.The method of claim 10 wherein the object / property model comprises a predefined set of at least one of the plurality of objects and the plurality of properties. 제10항에 있어서, 상기 객체/특성 모델은 상기 개발자가 공급한 상기 메타 모델의 외부 정의를 기초로 하여 객체와 특성의 예들을 포함하는 것인 모델링 도구 제작 방법.The method of claim 10 wherein the object / property model includes examples of objects and properties based on an external definition of the metamodel supplied by the developer. 제10항에 있어서, 상기 메타 모델은 상기 개발자가 공급한 적어도 한 세트의 의미론을 포함하는 것인 모델링 도구 제작 방법.The method of claim 10, wherein the metamodel includes at least one set of semantics supplied by the developer. 등록부와 데이터 관리자를 포함하는 제1 모델과,A first model comprising a register and a data manager, 인터페이스와,Interface, 상기 제1 모델과 상기 인터페이스에 결합된 작성기 등록부와,A builder register coupled to the first model and the interface; 상기 인터페이스에 결합된 제2 모델을 포함하고,A second model coupled to the interface, 상기 등록부는 의미론을 포함하는 것인 모델링 도구 제작 장치.And the register includes semantics. 제1 세트의 클래스를 정의함으로써 제1 모델을 구성하는 단계와,Constructing a first model by defining a first set of classes, 제2 세트의 클래스를 정의함으로써 제2 모델을 구성하는 단계와,Constructing a second model by defining a second set of classes, 유형 코드를 상기 제1 세트의 클래스 및 제2 세트의 클래스에 연결짓는 단계와,Associating a type code with the first set of classes and the second set of classes; 미리 정의된 세트의 의미론을 상기 제1 모델에 공급하는 단계와,Supplying a first set of semantics to the first model, 상기 세트의 의미론 중 적어도 하나의 의미론이 복수 개의 독립된 작업의 각각의 발생시에 호출될 때, 상기 복수 개의 독립된 작업을 인식하는 단계와,Recognizing the plurality of independent tasks when at least one of the semantics of the set is called at each occurrence of the plurality of independent tasks; 상기 제1 모델에 대한 액세스를 제한하기 위한 인터페이스를 공급하는 단계를 포함하는 것인 모델링 도구 제작 방법.Supplying an interface for restricting access to the first model.
KR1020017004771A 1998-10-16 1999-10-15 Apparatus and method for building modeling tools KR20010103604A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10468298P 1998-10-16 1998-10-16
US60/104,682 1998-10-16
PCT/US1999/024118 WO2000023883A1 (en) 1998-10-16 1999-10-15 Apparatus and method for building modeling tools

Publications (1)

Publication Number Publication Date
KR20010103604A true KR20010103604A (en) 2001-11-23

Family

ID=22301805

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020017004770A KR20010103603A (en) 1998-10-16 1999-10-15 Impact analysis of a model
KR1020017004595A KR20010093777A (en) 1998-10-16 1999-10-15 Accessing a hierarchical data store through an sql input
KR1020017004771A KR20010103604A (en) 1998-10-16 1999-10-15 Apparatus and method for building modeling tools
KR1020017004671A KR20010106514A (en) 1998-10-16 1999-10-15 Method and system for an extensible macro language
KR1020017004801A KR20010089309A (en) 1998-10-16 1999-10-15 Method for determining differences between two or more models

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020017004770A KR20010103603A (en) 1998-10-16 1999-10-15 Impact analysis of a model
KR1020017004595A KR20010093777A (en) 1998-10-16 1999-10-15 Accessing a hierarchical data store through an sql input

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020017004671A KR20010106514A (en) 1998-10-16 1999-10-15 Method and system for an extensible macro language
KR1020017004801A KR20010089309A (en) 1998-10-16 1999-10-15 Method for determining differences between two or more models

Country Status (13)

Country Link
US (3) US6385610B1 (en)
EP (5) EP1121654A4 (en)
JP (6) JP2002528788A (en)
KR (5) KR20010103603A (en)
CN (5) CN1361891A (en)
AT (1) ATE333125T1 (en)
AU (5) AU6518099A (en)
BR (5) BR9914553A (en)
CA (5) CA2347467A1 (en)
DE (1) DE69932344T2 (en)
HK (4) HK1040552A1 (en)
IL (10) IL142564A0 (en)
WO (5) WO2000023882A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100611098B1 (en) * 2003-12-12 2006-08-09 한국전자통신연구원 Satellite simulation modeling system using Interface Model

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6518099A (en) * 1998-10-16 2000-05-08 Computer Associates Think, Inc. Method for determining differences between two or more models
US20050160401A1 (en) * 1999-10-16 2005-07-21 Computer Associates Think, Inc. System and method for adding user-defined objects to a modeling tool
US7734457B2 (en) * 1999-10-16 2010-06-08 Computer Associates Think, Inc. Method and system for generating dynamic comparison models
US7194405B2 (en) * 2000-04-12 2007-03-20 Activepoint Ltd. Method for presenting a natural language comparison of items
US6480970B1 (en) * 2000-05-17 2002-11-12 Lsi Logic Corporation Method of verifying data consistency between local and remote mirrored data storage systems
US6853997B2 (en) * 2000-06-29 2005-02-08 Infoglide Corporation System and method for sharing, mapping, transforming data between relational and hierarchical databases
US7089256B2 (en) * 2000-07-11 2006-08-08 Knowledge Dynamics, Inc. Universal data editor
US7421587B2 (en) * 2001-07-26 2008-09-02 Mcafee, Inc. Detecting computer programs within packed computer files
US7069547B2 (en) 2001-10-30 2006-06-27 International Business Machines Corporation Method, system, and program for utilizing impact analysis metadata of program statements in a development environment
US7194475B2 (en) 2001-10-30 2007-03-20 International Business Machines Corporation Method, system, and program for performing an impact analysis of program statements in at least one source code file
US7069263B1 (en) * 2002-02-19 2006-06-27 Oracle International Corporation Automatic trend analysis data capture
CH698890B1 (en) * 2003-03-19 2009-11-30 Roland Pulfer Modeling a complex system.
CH703081B1 (en) * 2003-03-19 2011-11-15 Roland Pulfer Analysis of a model of a complex system.
CH703073B1 (en) * 2003-03-19 2011-11-15 Roland Pulfer Comparing models a complex system.
CA2429335A1 (en) * 2003-05-22 2004-11-22 Cognos Incorporated System and method of determining impact of reports based on metadata model changes
CN1910576B (en) * 2003-10-22 2010-11-03 英特尔公司 Device for structured data transformation
US8793602B2 (en) * 2004-01-15 2014-07-29 The Mathworks, Inc. System and method for scheduling the execution of model components using model events
US7484212B2 (en) * 2004-02-27 2009-01-27 International Business Machines Corporation Methods and arrangements for automated change plan construction and impact analysis
US7555531B2 (en) * 2004-04-15 2009-06-30 Microsoft Corporation Efficient algorithm and protocol for remote differential compression
US20060074980A1 (en) * 2004-09-29 2006-04-06 Sarkar Pte. Ltd. System for semantically disambiguating text information
GB2419700B (en) * 2004-10-29 2010-03-31 Hewlett Packard Development Co Methods for indexing data, systems, software and apparatus relng thereto
US20060168577A1 (en) * 2005-01-21 2006-07-27 Melo Antonio A V Software development system and method
EP1684170A3 (en) * 2005-01-21 2007-01-24 Outsystems, software em redes, S. A. Software development system and method
US7735062B2 (en) 2005-01-21 2010-06-08 Outsystems—Software Em Rede, S.A. Software development system and method
US20060168555A1 (en) * 2005-01-21 2006-07-27 Represas Ferrao Lucio E Software development system and method
JP4755427B2 (en) 2005-02-23 2011-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Database access system and database access method
US20060259781A1 (en) * 2005-04-29 2006-11-16 Sony Corporation/Sony Electronics Inc. Method and apparatus for detecting the falsification of metadata
US20070006130A1 (en) * 2005-06-02 2007-01-04 Arnold Stamler Model oriented method of automatically detecting alterations in the design of a software system
CN100432999C (en) * 2005-06-06 2008-11-12 上海宝信软件股份有限公司 Method for data access for complete record by using list architecture under ORACLE
US20070250927A1 (en) * 2006-04-21 2007-10-25 Wintutis, Inc. Application protection
US9626161B2 (en) * 2006-12-12 2017-04-18 Ca, Inc. Computer readable medium and methods for filtering a dynamic comparison model
US8156147B1 (en) * 2007-02-06 2012-04-10 The Mathworks, Inc. Sharing of instructions across model boundaries
US8334995B2 (en) * 2007-09-19 2012-12-18 Sharp Laboratories Of America, Inc. Method and system for adaptive control of imaging node
US20090094616A1 (en) * 2007-10-04 2009-04-09 Delima Roberto Comparing Middleware Configurations
US20090138846A1 (en) * 2007-11-23 2009-05-28 Microsoft Corporation Extended macro recording
US7962457B2 (en) * 2008-02-12 2011-06-14 Computer Associates Think, Inc. System and method for conflict resolution
US8321407B2 (en) * 2008-02-24 2012-11-27 Panaya Ltd. Methods for calculating a combined impact analysis repository
US8170988B2 (en) * 2008-04-17 2012-05-01 The Boeing Company System and method for synchronizing databases
KR100956921B1 (en) * 2008-04-28 2010-05-11 권순용 database access method
US20100088686A1 (en) * 2008-10-06 2010-04-08 Microsoft Corporation Programming language with extensible syntax
CN101587492B (en) * 2009-05-11 2011-05-11 金蝶软件(中国)有限公司 Method and system for positioning processed object
KR100921255B1 (en) * 2009-05-14 2009-10-13 주식회사 신시웨이 Sql masking apparatus and method thereof
US20110313736A1 (en) * 2010-06-18 2011-12-22 Bioproduction Group, a California Corporation Method and Algorithm for Modeling and Simulating A Discrete-Event Dynamic System
US8316314B2 (en) * 2010-06-30 2012-11-20 Thermo Electron Scientific Instruments Llc Intelligent multi-functional macros language for analytical measurements
US8706744B2 (en) 2011-05-31 2014-04-22 Ca, Inc. Determining dependencies during macro expansion
US20130139113A1 (en) * 2011-11-30 2013-05-30 Microsoft Corporation Quick action for performing frequent tasks on a mobile device
US8990187B2 (en) 2012-05-21 2015-03-24 Google Inc. Efficient top-down hierarchical join on a hierarchically clustered data stream
KR102270791B1 (en) 2014-12-10 2021-06-29 삼성전자주식회사 Method and apparatus for processing macro instruction
CN107408113B (en) * 2015-03-31 2020-03-31 华为技术有限公司 Analysis engine and method for analyzing pre-generated data reports
US10585648B2 (en) 2016-06-01 2020-03-10 The Mathworks, Inc. Systems and methods for aggregating implicit and explicit event code of executable models
KR102195838B1 (en) 2019-04-10 2020-12-28 주식회사 티맥스 소프트 Method for managing database
US11769489B2 (en) 2021-01-28 2023-09-26 Samsung Electronics Co., Ltd. Electronic device and method for performing shortcut command in electronic device

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3656178A (en) * 1969-09-15 1972-04-11 Research Corp Data compression and decompression system
US4667290A (en) * 1984-09-10 1987-05-19 501 Philon, Inc. Compilers using a universal intermediate language
US4787035A (en) * 1985-10-17 1988-11-22 Westinghouse Electric Corp. Meta-interpreter
JPS63181033A (en) * 1987-01-23 1988-07-26 Hitachi Ltd Automatic program generating system
US5070534A (en) * 1988-10-17 1991-12-03 International Business Machines Corporation Simplified cad parametric macroinstruction capability including variational geometrics feature
US4931928A (en) * 1988-11-09 1990-06-05 Greenfeld Norton R Apparatus for analyzing source code
GB2227339A (en) * 1989-01-21 1990-07-25 Kashinath Narayan Dandeker Complex expression generator
JPH0363581A (en) * 1989-04-28 1991-03-19 Internatl Business Mach Corp <Ibm> Method of testing electronic circuit
US5276880A (en) * 1989-12-15 1994-01-04 Siemens Corporate Research, Inc. Method for parsing and representing multi-versioned computer programs, for simultaneous and synchronous processing of the plural parses
US5257363A (en) 1990-04-09 1993-10-26 Meta Software Corporation Computer-aided generation of programs modelling complex systems using colored petri nets
US5699310A (en) * 1990-06-29 1997-12-16 Dynasty Technologies, Inc. Method and apparatus for a fully inherited object-oriented computer system for generating source code from user-entered specifications
FR2667711B1 (en) * 1990-10-09 1992-11-27 Thomson Csf METHOD FOR RECOGNIZING OBJECTS IN IMAGES AND ITS APPLICATION TO TRACKING OBJECTS IN IMAGE SEQUENCES.
US5295256A (en) * 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
US5507030A (en) * 1991-03-07 1996-04-09 Digitial Equipment Corporation Successive translation, execution and interpretation of computer program having code at unknown locations due to execution transfer instructions having computed destination addresses
US5596746A (en) 1991-10-21 1997-01-21 General Electric Company Method for transforming relational data base schemas into object models using ideal table meta models
US5421016A (en) 1991-12-12 1995-05-30 International Business Machines Corporation System and method for dynamically invoking object methods from an application designed for static method invocation
FR2688611A1 (en) * 1992-03-12 1993-09-17 Bull Sa USE OF A LANGUAGE WHICH TYPES RELATES TO THE CONTENT OF THE VARIABLES AND ALLOWS TO HANDLE COMPLEX CONSTRUCTIONS.
US5664181A (en) * 1992-03-17 1997-09-02 International Business Machines Corporation Computer program product and program storage device for a data transmission dictionary for encoding, storing, and retrieving hierarchical data processing information for a computer system
US5517641A (en) 1992-05-27 1996-05-14 Cdb Software, Inc. Restartable method to reorganize DB2 tablespace records by determining new physical positions for the records prior to moving using a non sorting technic
FR2694105B1 (en) 1992-07-22 1994-11-25 Bull Sa Use of an on-board interpreter language for the creation of an interactive user interface definition tool.
US5295059A (en) * 1992-09-09 1994-03-15 Allen-Bradley Company, Inc. Programmable controller with ladder diagram macro instructions
US5794229A (en) * 1993-04-16 1998-08-11 Sybase, Inc. Database system with methodology for storing a database table by vertically partitioning all columns of the table
JPH06332710A (en) * 1993-05-21 1994-12-02 Fujitsu Ltd Object directional data processing system
US5550971A (en) 1993-06-30 1996-08-27 U S West Technologies, Inc. Method and system for generating a user interface adaptable to various database management systems
JPH07244605A (en) * 1994-03-03 1995-09-19 Fujitsu Ltd Data base system and its update method
US5724425A (en) 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5742828A (en) * 1994-08-03 1998-04-21 Microsoft Corporation Compiler and method for evaluation of foreign syntax expressions in source code
US5694539A (en) * 1994-08-10 1997-12-02 Intrinsa Corporation Computer process resource modelling method and apparatus
US5495613A (en) * 1994-08-18 1996-02-27 Unisys Corporation Method and apparatus for extending the capability of a system editor using high-level language transforms
US5692195A (en) 1994-08-31 1997-11-25 International Business Machines Corporation Parent class shadowing
US5768564A (en) * 1994-10-07 1998-06-16 Tandem Computers Incorporated Method and apparatus for translating source code from one high-level computer language to another
US5732192A (en) 1994-11-30 1998-03-24 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Global qualitative flow-path modeling for local state determination in simulation and analysis
US5721915A (en) 1994-12-30 1998-02-24 International Business Machines Corporation Interaction between application of a log and maintenance of a table that maps record identifiers during online reorganization of a database
US5768586A (en) * 1995-01-10 1998-06-16 Peoplesoft, Inc. Net change management for object-oriented modeling
US5513314A (en) 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
US5644764A (en) * 1995-01-31 1997-07-01 Unisys Corporation Method for supporting object modeling in a repository
US5548754A (en) 1995-02-07 1996-08-20 International Business Machines Corporation Optimization of SQL queries using early-out join transformations
US5701487A (en) * 1995-03-27 1997-12-23 Sun Microsystems, Inc. Method and apparatus for displaying locations of errors detected inside software macro calls
EP0823092A1 (en) 1995-04-24 1998-02-11 Aspect Development, Inc. Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US5737592A (en) * 1995-06-19 1998-04-07 International Business Machines Corporation Accessing a relational database over the Internet using macro language files
US5717924A (en) * 1995-07-07 1998-02-10 Wall Data Incorporated Method and apparatus for modifying existing relational database schemas to reflect changes made in a corresponding object model
US5790861A (en) * 1995-07-07 1998-08-04 Sun Microsystems, Inc. Method and apparatus for generating executable code from object-oriented C++ source code
US5638381A (en) * 1995-07-21 1997-06-10 Motorola, Inc. Apparatus and method for deriving correspondence between storage elements of a first circuit model and storage elements of a second circuit model
JPH09511859A (en) 1995-08-23 1997-11-25 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Method and computer system for generating a process management computer program from a process model
US5721929A (en) * 1995-10-06 1998-02-24 Electronic Data Systems Corporation Method for extending a fourth generation programming language
US5855014A (en) * 1995-11-03 1998-12-29 Application Partners, Inc. Getfield function for a relational workgroup platform using keyword and workflow databases
US6003037A (en) 1995-11-14 1999-12-14 Progress Software Corporation Smart objects for development of object oriented software
US5721925A (en) * 1995-12-01 1998-02-24 Unisys Corporation Method for generically invoking operation in an object oriented repository
US5802511A (en) * 1996-01-02 1998-09-01 Timeline, Inc. Data retrieval method and apparatus with multiple source capability
US5815415A (en) * 1996-01-19 1998-09-29 Bentley Systems, Incorporated Computer system for portable persistent modeling
US6091895A (en) 1996-03-27 2000-07-18 International Business Machines Corporation Object oriented central maintenance for programs and scripts
US5715453A (en) * 1996-05-31 1998-02-03 International Business Machines Corporation Web server mechanism for processing function calls for dynamic data queries in a web page
US5987123A (en) * 1996-07-03 1999-11-16 Sun Microsystems, Incorporated Secure file system
US5819305A (en) * 1996-08-23 1998-10-06 Motorola, Inc. Method and apparatus for configuring operating modes in a memory
US5974201A (en) * 1996-10-01 1999-10-26 Siemens Corporate Research, Inc. Smart image system
US6112024A (en) 1996-10-02 2000-08-29 Sybase, Inc. Development system providing methods for managing different versions of objects with a meta model
US5761494A (en) 1996-10-11 1998-06-02 The Sabre Group, Inc. Structured query language to IMS transaction mapper
US6065002A (en) 1996-10-31 2000-05-16 Systems And Computer Technology Corporation Simplified interface for relational database access using open database connectivity
US5983016A (en) 1996-11-12 1999-11-09 International Business Machines Corporation Execution engine in an object modeling tool
US5857197A (en) 1997-03-20 1999-01-05 Thought Inc. System and method for accessing data stores as objects
US5905982A (en) 1997-04-04 1999-05-18 International Business Machines Corporation Handling null values in SQL queries over object-oriented data
US6182274B1 (en) * 1997-05-01 2001-01-30 International Business Machines Corporation Reusing code in object-oriented program development
US5978789A (en) * 1997-05-07 1999-11-02 Lucent Technologies Inc. Efficient hypothetical query evaluation in a database system
US5878411A (en) 1997-06-27 1999-03-02 International Business Machines Corporation Dependent object class and subclass mapping to relational data store
US5822750A (en) * 1997-06-30 1998-10-13 International Business Machines Corporation Optimization of correlated SQL queries in a relational database management system
US6513152B1 (en) 1997-07-23 2003-01-28 International Business Machines Corporation Object oriented framework mechanism for customization of object oriented frameworks
US6081774A (en) * 1997-08-22 2000-06-27 Novell, Inc. Natural language information retrieval system and method
US6112304A (en) * 1997-08-27 2000-08-29 Zipsoft, Inc. Distributed computing architecture
US6292811B1 (en) * 1997-09-19 2001-09-18 Modernsoft, Inc. Populating cells of an electronic financial statement
US5974407A (en) 1997-09-29 1999-10-26 Sacks; Jerome E. Method and apparatus for implementing a hierarchical database management system (HDBMS) using a relational database management system (RDBMS) as the implementing apparatus
US6085120A (en) * 1997-11-17 2000-07-04 International Business Machines Corporation Data system processing and method for creating application extension
US6105043A (en) * 1997-12-16 2000-08-15 International Business Machines Corporation Creating macro language files for executing structured query language (SQL) queries in a relational database via a network
US6247020B1 (en) 1997-12-17 2001-06-12 Borland Software Corporation Development system with application browser user interface
US6374256B1 (en) 1997-12-22 2002-04-16 Sun Microsystems, Inc. Method and apparatus for creating indexes in a relational database corresponding to classes in an object-oriented application
US6243709B1 (en) 1998-06-29 2001-06-05 Sun Microsystems, Inc. Method and apparatus for loading stored procedures in a database corresponding to object-oriented data dependencies
US6114978A (en) 1998-01-14 2000-09-05 Lucent Technologies Inc. Method and apparatus for assignment of shortcut key combinations in a computer software application
US6453356B1 (en) 1998-04-15 2002-09-17 Adc Telecommunications, Inc. Data exchange system and method
US6052720A (en) 1998-05-14 2000-04-18 Sun Microsystems, Inc. Generic schema for storing configuration information on a server computer
US6446109B2 (en) 1998-06-29 2002-09-03 Sun Microsystems, Inc. Application computing environment
US6226792B1 (en) 1998-10-14 2001-05-01 Unisys Corporation Object management system supporting the use of application domain knowledge mapped to technology domain knowledge
AU6518099A (en) 1998-10-16 2000-05-08 Computer Associates Think, Inc. Method for determining differences between two or more models
US6859919B1 (en) 1998-10-16 2005-02-22 Computer Associates Think, Inc. Object modeling tool with meta model semantic registry (rules) a meta data manager for object(s) properties an object/property interface for instance(s) of objects/properties received via object/property interface of the object factory registry
US6502234B1 (en) 1999-01-15 2002-12-31 International Business Machines Corporation Component based wizard for creating wizards
US6678882B1 (en) 1999-06-30 2004-01-13 Qwest Communications International Inc. Collaborative model for software systems with synchronization submodel with merge feature, automatic conflict resolution and isolation of potential changes for reuse
KR200258626Y1 (en) 1999-06-30 2001-12-28 윤청목 Mixer combined with Juice Extractor
US6385767B1 (en) 1999-09-30 2002-05-07 Unisys Corporation Method and system for creating and manipulating extensions to version control systems
US6665677B1 (en) 1999-10-01 2003-12-16 Infoglide Corporation System and method for transforming a relational database to a hierarchical database
US7734457B2 (en) 1999-10-16 2010-06-08 Computer Associates Think, Inc. Method and system for generating dynamic comparison models
US20050160401A1 (en) 1999-10-16 2005-07-21 Computer Associates Think, Inc. System and method for adding user-defined objects to a modeling tool
JP2001265361A (en) 2000-03-14 2001-09-28 Sony Corp Device and method for providing information, device and method for providing information, and program storage medium
US7353289B2 (en) 2000-11-06 2008-04-01 Telecommunication Systems, Inc. System for an open architecture development platform with centralized synchronization
US6754671B2 (en) 2001-05-02 2004-06-22 Sun Microsystems, Inc. Apparatus for Meta Object Facility repository bootstrap
US20030014439A1 (en) 2001-06-20 2003-01-16 International Business Machines Corporation Defining a markup language representation for state chart data
US7322025B2 (en) 2001-07-17 2008-01-22 Tata Consultancy Services Limited Method and apparatus for versioning and configuration management of object models
US6904588B2 (en) 2001-07-26 2005-06-07 Tat Consultancy Services Limited Pattern-based comparison and merging of model versions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100611098B1 (en) * 2003-12-12 2006-08-09 한국전자통신연구원 Satellite simulation modeling system using Interface Model

Also Published As

Publication number Publication date
CA2346928A1 (en) 2000-04-27
HK1040440A1 (en) 2002-06-07
BR9914552A (en) 2001-11-27
WO2000023919A9 (en) 2000-11-16
KR20010103603A (en) 2001-11-23
CN1323424A (en) 2001-11-21
IL142564A0 (en) 2002-03-10
IL142572A (en) 2007-06-03
KR20010106514A (en) 2001-11-29
BR9914549A (en) 2002-01-15
ATE333125T1 (en) 2006-08-15
IL142484A (en) 2006-10-31
CA2347467A1 (en) 2000-04-27
JP2002528793A (en) 2002-09-03
JP2002528783A (en) 2002-09-03
JP2002528788A (en) 2002-09-03
EP1121655A1 (en) 2001-08-08
EP1129391A4 (en) 2003-03-12
IL142482A (en) 2006-08-20
EP1121654A1 (en) 2001-08-08
IL142482A0 (en) 2002-03-10
IL142572A0 (en) 2002-03-10
CN1129859C (en) 2003-12-03
AU1445200A (en) 2000-05-08
AU1315400A (en) 2000-05-08
BR9914553A (en) 2001-06-26
EP1121655B1 (en) 2006-07-12
IL142564A (en) 2006-08-01
US6601023B1 (en) 2003-07-29
CA2346925A1 (en) 2000-04-27
EP1129391A2 (en) 2001-09-05
CN1192321C (en) 2005-03-09
AU775431B2 (en) 2004-07-29
EP1121640B1 (en) 2016-07-27
CN1129068C (en) 2003-11-26
AU772191B2 (en) 2004-04-08
HK1040441A1 (en) 2002-06-07
WO2000023917A9 (en) 2000-11-02
CN1361891A (en) 2002-07-31
US6385610B1 (en) 2002-05-07
AU1207100A (en) 2000-05-08
EP1121640A1 (en) 2001-08-08
EP1121655A4 (en) 2003-02-05
JP2005285141A (en) 2005-10-13
DE69932344T2 (en) 2007-07-05
KR20010089309A (en) 2001-09-29
CA2346924A1 (en) 2000-04-27
BR9914427A (en) 2001-06-26
CA2347495A1 (en) 2000-04-27
EP1121639A1 (en) 2001-08-08
EP1121639B1 (en) 2016-08-03
WO2000023863A3 (en) 2000-11-23
CN1359489A (en) 2002-07-17
CN1325514A (en) 2001-12-05
EP1121639A4 (en) 2002-09-11
WO2000023883A1 (en) 2000-04-27
IL142484A0 (en) 2002-03-10
HK1040552A1 (en) 2002-06-14
AU761228B2 (en) 2003-05-29
BR9914551A (en) 2002-03-05
JP2002528789A (en) 2002-09-03
DE69932344D1 (en) 2006-08-24
WO2000023863A2 (en) 2000-04-27
US7711685B1 (en) 2010-05-04
EP1121654A4 (en) 2003-09-24
AU6518099A (en) 2000-05-08
WO2000023882A1 (en) 2000-04-27
HK1042140A1 (en) 2002-08-02
KR20010093777A (en) 2001-10-29
AU1315200A (en) 2000-05-08
EP1121640A4 (en) 2002-09-11
IL142571A (en) 2007-02-11
CN1323416A (en) 2001-11-21
WO2000023919A1 (en) 2000-04-27
WO2000023917A1 (en) 2000-04-27
JP2002528794A (en) 2002-09-03
IL142571A0 (en) 2002-03-10

Similar Documents

Publication Publication Date Title
KR20010103604A (en) Apparatus and method for building modeling tools
US5499365A (en) System and method for controlling versions of objects in an object oriented computing environment
US6049673A (en) Organicware applications for computer systems
US7860831B2 (en) Object graph editing context and methods of use
US5926819A (en) In-line triggers
US5832268A (en) System and method for supporting complex objects in an object oriented computing environment
US5497491A (en) System and method for importing and exporting data between an object oriented computing environment and an external computing environment
US6243709B1 (en) Method and apparatus for loading stored procedures in a database corresponding to object-oriented data dependencies
US5644764A (en) Method for supporting object modeling in a repository
US5371675A (en) Spreadsheet program which implements alternative range references
US7263512B2 (en) Accessing and updating views and relations in a relational database
JPH03137730A (en) Object directional computer-system
US7451434B1 (en) Programming with shared objects in a shared memory
US5513350A (en) Update constraints in transactions which may abort
US6859919B1 (en) Object modeling tool with meta model semantic registry (rules) a meta data manager for object(s) properties an object/property interface for instance(s) of objects/properties received via object/property interface of the object factory registry
US20040019586A1 (en) Property and object validation in a database system
US6324682B1 (en) Organicware applications for computer systems
Timson The file manager system
EP1040432B1 (en) Method and apparatus for loading stored procedures in a database corresponding to object-oriented data dependencies
Domdouzis SQL/PL-SQL Booklet
Van Hoeve et al. An object‐oriented approach to application generation
Albano et al. Object-Oriented Galileo
Mäkelä USING SQL FROM SMALLTALK 2nd edition
Timson The File Manager System
Munch et al. The EPOSDB Software Engineering Database

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application