KR100564739B1 - Uml기반 주기억장치 상주 객체관계형 스키마/질의 생성방법 - Google Patents

Uml기반 주기억장치 상주 객체관계형 스키마/질의 생성방법 Download PDF

Info

Publication number
KR100564739B1
KR100564739B1 KR1020020074103A KR20020074103A KR100564739B1 KR 100564739 B1 KR100564739 B1 KR 100564739B1 KR 1020020074103 A KR1020020074103 A KR 1020020074103A KR 20020074103 A KR20020074103 A KR 20020074103A KR 100564739 B1 KR100564739 B1 KR 100564739B1
Authority
KR
South Korea
Prior art keywords
query
class
schema
dbms
uml
Prior art date
Application number
KR1020020074103A
Other languages
English (en)
Other versions
KR20040046259A (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 한국전자통신연구원
Priority to KR1020020074103A priority Critical patent/KR100564739B1/ko
Publication of KR20040046259A publication Critical patent/KR20040046259A/ko
Application granted granted Critical
Publication of KR100564739B1 publication Critical patent/KR100564739B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases

Abstract

본 발명은 UML기반 주기억장치 상주 객체관계형 스키마/질의 생성 방법에 관한 것으로서, 그 방법은 UML을 사용하여 주기억장치 상주 객체관계형 DBMS서버와 연동하는 응용 프로그램 작성방법에 있어서, UML을 확장한 주기억장치 상주형 DBMS의 모델링 요소에 따라 데이터베이스 구조를 시각적으로 작성하고 이에 따라 클래스 생성순서를 고려해 데이터베이스 스키마를 생성하는 제1단계; 생성된 스키마에 따라 질의 틀을 제시하고 이에 따라 작성된 질의를 해당 클래스의 메소드로 등록하며 객체관계형 DBMS에 적용가능한 질의를 생성하는 제 2단계; 및 제2단계에서의 시퀀스 다이어그램에 따라 해당 질의와 호스트 변수와의 바인딩을 수행하고, 응용 클래스의 메소드에 내장화하여 응용프로그램을 생성하는 제3단계를 포함하는 것을 특징으로 한다.
따라서 본 발명에 의하면, 주기억장치 상주 객체관계형 DBMS와 연동되어야 하는 응용 프로그램을 개발하는 경우, 일관된 방식으로 시스템의 분석 및 설계가 가능하며 주기억장치 상주 객체관계형 DBMS 에 대한 세부적인 지식없이도 실제로 운용 가능한 코드를 자동으로 생성해 줌으로써 응용 시스템 구축에 경제성과 효율성을 제공할 수 있다.

Description

UML기반 주기억장치 상주 객체관계형 스키마/질의 생성 방법{The method for generating memory resident object-relational schema/query by using UML}
도 1A는 주기억장치 상주 객체관계형 DBMS 서버와 서버에 적용할 스키마와 데이터 조작어를 시각적으로 작성해주는 스키마 설계도구에 대한 구조를 블록도로 도시한 것이다.
도 1B는 스키마 설계도구의 구조와 이를 이용하여 생성된 UML 설계파일 및 생성된 코드(질의)를 블록도로 도시한 것이다.
도 2는 UML내에서 객체관계형 DBMS의 모델 요소와 이들을 표현하기 위해 정의한 UML 확장 요소를 표현한 사상 테이블을 도시한 것이다.
도 3A는 실제 스키마 설계 도구에서 UML을 사용하여 작성한 클래스 다이어그램 예시도로서, UML에서 설계된 객체관계형 스키마를 도시한 것이다.
도 3B는 실제 스키마 설계 도구에서 UML을 사용하여 작성한 클래스 다이어그램 예시도로서, 객체관계형 스키마에 대한 클래스간의 종속 그래프를 도시한 것이다.
도 4A는 UML을 통해 작성된 스키마를 바탕으로 개발자에게 구성가능한 질의 틀을 보여주는 예시도로서, 스키마 설계도구에서의 그래픽 질의를 도시한 것이다.
도 4B는 UML을 통해 작성된 스키마를 바탕으로 개발자에게 구성가능한 질의 틀을 보여주는 예시도로서, 질의 그래프를 도시한 것이다.
도 5A는 질의 틀을 통해 최종적으로 생성된 데이터베이스 질의(SQL)를 실제로 응용 프로그램 코드에 삽입하기 위한 과정에 필요한 클래스 다이어그램과 시퀀스 다이어그램을 보이는 예시도로서, 스키마 설계도구에서 응용 클래스 및 객체관계형 스키마 설계를 도시한 것이다.
도 5B는 질의 틀을 통해 최종적으로 생성된 데이터베이스 질의(SQL)를 실제로 응용 프로그램 코드에 삽입하기 위한 과정에 필요한 클래스 다이어그램과 시퀀스 다이어그램의 보이는 예시도로서, 응용클래스와 객체관계형 스키마 간의 동적 뷰를 도시한 것이다.
도 6A는 명세된 모델요소에서 실제 객체관계형 DBMS에 적용할 질의를 스키마 정의어로 생성하기 위해 모델 요소의 종류를 파악하고 이에 따라 종속질의 그래프를 작성하기 위한 예시도로서, 스키마 정의어와 종속 그래프 생성을 흐름도로 도시한 것이다.
도 6B는 명세된 모델요소에서 실제 객체관계형 DBMS에 적용할 질의를 스키마 정의어로 생성하기 위해 모델 요소의 종류를 파악하고 이에 따라 종속질의 그래프를 작성하기 위한 예시도로서, 스키마 정의어 생성 순서 결정을 흐름도로 도시한 것이다.
도 7은 <<Tclass>> 역할의 DBMS클래스에 적용될 데이터 조작어를 작성하기 위한 예시도를 흐름도로 도시한 것이다.
도 8은 도 6 및 도 7에서 생성한 스키마 정의어/데이터 조작어를 응용 프로 그램내 소스 코드에 직접 삽입하기 위한 절차에 대한 예시도를 도시한 것이다.
본 발명은 주기억장치 상주 객체관계형 DBMS(Database Management System)에 관한 것으로, 더욱 상세하게는 주기억장치 상주 객체관계형 DBMS와 연동하는 응용 프로그램 작성할 수 있도록 하는 UML기반 주기억장치 상주 객체관계형 스키마/질의 생성 방법에 관한 것이다.
기존의 관계형 DBMS는 테이블간의 관계가 단일의 관계성으로 표현되고 또한 이 관계성의 표현 방법이 단순하였다. 그 결과 관계형 DBMS의 질의는 쉽게 그래픽하게 표현되었고, 이에 대한 많은 사례들이 연구되었다. 하지만 객체관계형 DBMS는 관계형과 달리 클래스의 상속/다양한 연관/집합값 등의 객체지향 언어 특성들이 부가됨에 따라 데이터 베이스의 스키마 뿐만 아니라 질의 자체의 복잡성 또한 크게 되었다. 이에 따라 객체관계형 스키마/질의에 대한 여러 시각화 방법들이 제시되었다. 하지만 이러한 시각화 방법은 UML과 같은 표준화된 개발 방법론에 따른 것이 아니라 각 방법에 따라 그 표현 방식이 제각기 다르다. 즉 기존 방식은 고유의 그래픽 사용자 인터페이스(Graphic User Interface, GUI)를 통해 질의하고, 이를 DBMS에 적용하는 방식이기 때문에 객체관계형 질의에 대한 부담은 없지만 표준화된 범용 설계 방식과는 이질적인 수단으로 응용 개발 방식에 자연스럽게 통합되기에는 어려운 방식이다. 이에 따라 현재 내장형 시스템에서 범용 시스템까지 다양한 범 위에서 사용되고 있는 개발 방법론인 UML을 사용하여 객체관계형 스키마를 표현하고, 이에 따라 데이터 조작어를 직접 명세하는 방법의 기술이 필요하다고 할 수 있다.
본 발명이 이루고자 하는 기술적 과제는 주기억장치 상주 객체관계형 DBMS와 연동하는 응용 프로그램 작성을 위해서 객체관계형 DBMS에 대한 세부적인 지식없이도 단지 UML 설계 방법에 따라 스키마를 설계하고 이에 따른 질의데이터 조작어를 작성할 수 있도록 하는 UML기반 주기억장치 상주 객체관계형 스키마/질의 생성 방법을 제공하는 것이다.
이를 보다 구체적으로 설명하면 다음과 같다. 본 발명은 주기억장치 상주 객체관계형 DBMS에 접근하는 응용 프로그램 작성시, 응용 프로그램 작성에 설계/개발에 사용된 UML이 연동할 DBMS 기능 설계/개발에서도 그대로 사용할 수 있도록 표기(notation)를 확장하고, 이에 따라 DBMS에 적용될 질의들(insert, update, delete, select)을 시각적으로 작성하며, 또한 실제 SQL을 생성하여 응용 프로그램 내에 삽입함으로써 직접 실행될 수 있도록 하는데 있다. 즉 오직 UML만을 사용하여 주기억장치 상주 객체관계형 DBMS의 모든 기능을 설계하고 개발할 수 있도록 하는데 그 목적이 있다.
상기 기술적 과제를 달성하기 위하여 본 발명에 따른 UML기반 주기억장치 상주 객체관계형 스키마/질의 생성 방법은, UML을 사용하여 주기억장치 상주 객체관 계형 DBMS서버와 연동하는 응용 프로그램 작성방법에 있어서, UML을 확장한 주기억장치 상주형 DBMS의 모델링 요소에 따라 데이터베이스 구조를 시각적으로 작성하고 이에 따라 클래스 생성순서를 고려해 데이터베이스 스키마를 생성하는 제1단계; 상기 생성된 스키마에 따라 질의 틀을 제시하고 이에 따라 작성된 질의를 해당 클래스의 메소드로 등록하며 객체관계형 DBMS에 적용가능한 질의를 생성하는 제 2단계; 및 상기 제2단계에서의 시퀀스 다이어그램에 따라 해당 질의와 호스트 변수와의 바인딩을 수행하고, 응용 클래스의 메소드에 내장화하여 응용프로그램을 생성하는는 제3단계를 포함하는 것을 특징으로 한다.
상기 제1단계의 데이터베이스 스키마 생성은 소정의 모델 요소를 사용하여 클래스 다이어그램에 구조를 나타내는 단계; 클래스 다이어그램 내의 클래스 역할을 분석하여 객체관계형 스키마 정의어로 변경하는 단계; 및 스키마 정의어를 클래스간의 관계성에 따라 종속 그래프를 사용하여 실행 순서를 결정하는 방법을 포함하여 이루어짐을 특징으로 한다.
상기 제2단계의 질의 생성은 해당 질의에서 일반화 관계성을 고려하여 사용가능한 속성을 정의하는 단계; 해당 질의 종류에 따라 상응하는 기본 질의 틀을 구성하는 단계; 상기 질의 틀에서의 연관 관계성에 대해서는 다중성과 방향성을 고려하여 사용가능한 속성을 확장하는 단계; 및 완료된 질의 틀에서 질의 그래프에 따라, 재귀적으로 반복되는 내부 질의를 포함하여 질의 코드를 생성하고, 생성된 질의 코드를 해당 클래스에 메소드로 등록하는 단계를 포함하여 이루어짐을 특징으로 한다.
상기 객체관계형 질의를 포함하는 실제 응용 프로그램 생성은 DBMS 클래스와 InterfaceT 관계성 있는 응용 클래스를 추출하고, 상기 클래스의 메소드를 명시하는 시퀀스 다이어그램의 분석을 통해 DBMS질의를 포함할 메소드를 추출하는 단계; 및 추출된 메소드에 DBMS 질의를 순서에 따라 내장화하고, 필요한 호스트 변수를 바인딩하는 단계를 포함하여 이루어짐을 특징으로 한다.
그리고 상기 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 들어 상세히 설명한다. 본 발명은 주기억장치 상주 객체관계형 DBMS서버와 네트워크로 연결된 스키마 설계도구로 구성된다. 이후 스키마 설계도구를 통해 작성된 코드는 컴파일 되어 실행 가능한 데이터베이스 응용 프로그램이 되며, 네트워크를 통해 주기억장치 상주 객체관계형 DBMS서버와 연동하게 된다.
먼저 본 발명을 먼저 개략적으로 설명하면 다음과 같이 세 단계로 이루어진다. 질의를 시각적으로 작성하기 위해, 먼저 UML의 클래스 다이어그램에서 데이터베이스의 구조를 나타내는 해당 스키마내의 클래스간의 관계성들을 파악한다. 즉, 일반화(generalization)를 통해 상속 가능한 속성들을 추출하며, 연관(association)의 경우 가능한 대상 클래스와 다중성(multiplicity)을 추출한다. 이외에 집성화(aggregation)의 경우 해당 타입(Type 또는 UDT)을 추출한다.
다음 단계로 개발자에게 질의 틀(query template)을 제시한다. 질의는 기본적으로 클래스의 특정 속성에 어떤 역할을 부여하느냐에 따라 결정된다. 예를 들 어, insert 질의에서 특정 속성에 상수 값 만을 부여한다면 해당 값의 삽입을 의미하며, select 질의에서 속성에 비교연산자와 값을 부여한다면 조건절(where 절)의 조건식이 될 것이다. 이와 같이 제시된 질의 틀에 사용자의 역할 부여를 통해 질의가 완성될 수 있다. 물론 이때 제시된 질의 틀은 클래스간의 관계성을 분석한 결과를 바탕으로 주어지며, 이들은 SQL로 바로 확장 변환된다.
마지막으로, SQL이 실제 수행되기 위해서는 응용 프로그램내에 내장화(embedded)되어, 전처리(preprocessing)된 후 컴파일(compile) 되어야 한다. 이때, 전처리를 위해 변수 바인딩 및 처리 순서에 대한 고려가 필요하다. 이를 위해, 호스트 변수 추출 바인딩은 질의의 프로토타입 정의에서, 처리 순서는 UML의 시퀀스 다이어그램에서 추출하도록 함으로서 달성할 수 있다.
도 1A는 주기억장치 상주 객체관계형 DBMS 서버(130)와 상기 서버(130)에 적용할 스키마와 데이터 조작어를 시각적으로 작성해주는 스키마 설계도구(100)에 대한 구조를 블록도로 도시한 것이다. 도 1A에 도시한 바와 같이, 스키마 설계도구(100)에 의해 최종 생성된 코드(110)가 컴파일되어 실제로 객체관계형 DBMS 서버(130)와 연동되는 응용프로그램(120)으로 생성함을 보이고 있다. 객체관계형 DBMS 서버(130)는 본 발명과 관련된 부분과 관련된 모듈로서 스키마 설계 도구(100)가 제시할 객체관계형 모델요소를 제공하며, 이를 통해 작성된 질의가 실제 적용되어 실행가능한 시스템이다. 즉 스키마 설계도구에 의해 작성된 데이터 접근 응용 프로그램(120)에서 요구하는 주기억장치 상주 데이터베이스(140) 접근 요청에 따라 데이터베이스를 검색, 변경 또는 삭제 등을 수행한다.
도 1B는 상기 스키마 설계도구(100)의 구조와 이를 이용하여 생성된 UML 설계파일 및 생성된 코드(질의)를 블록도로 도시한 것이다. 상기 스키마 설계도구(100)는 UML로 질의(스키마와 질의와 데이터 조작어)를 시각화하는 질의 시각화기(102), 시각화된 표현을 실제 코드로 생성하는 질의 생성기(104), 다음으로 생성된 질의를 실제 운용 가능한 응용 프로그램 코드(114)로 변환하고 작성된 UML 다이어그램(112)을 저장하는 저장 관리기(106)로 구성된다.
도 2는 UML내에서 객체관계형 DBMS의 모델 요소와 이들을 표현하기 위해 정의한 UML 확장 요소를 표현한 사상 테이블을 도시한 것이다. 도 2에 도시된 바와 같이 객체관계형 DBMS의 모델링 요소들은 UML의 모델링 요소와 시멘틱이 다르다. 예를 들어, UML에서 클래스는 데이터 영속성을 가정하지 않지만, DBMS에서는 기본적으로 모든 클래스가 영속성을 갖는 것으로 정의된다. 따라서, 객체관계형 DBMS의 모델 요소를 UML내에서 표현하기 위한 방법이 필요하다.
UML은 각 고유 개발환경에 특성화된 모델 요소를 표현하기 위해 스테레오 타입(stereo type)을 제공하고 있고, 이에 따라 UML의 표현 객체모델 요소의 시멘틱을 필요에 따라 확장할 수 있다. 이에 따라, 도 2에는 객체관계형 DBMS의 모델 요소를 크게 데이터들의 구조를 명시하는 클래스(ClassT, <<Tclass>> 스테레오 타입으로 표현), 데이터에 대한 빠른 접근을 위한 인덱스(IndexT, <<Tindex>> 스테레오 타입으로 표현) 등으로 정의한다. 새로운 스테레오타입으로의 역할 부여를 제외한 다른 모든 표현 방식은 일반 UML모델 요소와 동일하다. 이외에 객체관계형 모델에서 관계성(InheritanceT, AssociationT 등)들은 연관된 클래스(혹은 인덱스, 타입) 에 따라 구분할 수 있어 기존 UML의 관계성을 그대로 사용한다. 단, 이들은 질의 및 코드 생성시 기존 UML의 관계성과 구분하여 다르게 고려한다. 즉 UML과 표현은 동일하지만, 해석하는 시점에서 어떤 스테레오 타입의 클래스간 관계성이냐에 따라 C++ 코드내의 포인터로 변환할 것인지 아니면 객체관계형 DBMS의 관계성으로 변환할 것인지 결정된다.
또 다른 관점에서 DBMS의 질의는 UML에서 클래스의 메소드(MethodT)로 표현되지만, 코드 생성시 이 메소드는 프로토타입을 갖지 않으며, 여기에서 추출된 메소드의 프로토타입은 SQL생성시 호스트 변수 바인딩에 사용된다. 물론, DBMS 클래스는 내장화(embedded)될 응용 프로그램의 대상 클래스와는 InterfaceT 관계로 설정되어 있어야 한다.
도 3A 및 도 3B는 실제 스키마 설계 도구(100)에서 UML을 사용하여 작성한된 클래스 다이어그램 예시도로서, 도 3A는 UML에서 설계된 객체관계형 스키마를 도시한 것이며, 도 3B는 객체관계형 스키마에 대한 클래스간의 종속 그래프를 도시한 것이다. 객체관계형 DBMS의 스키마로 변환되어야 하는 클래스들은 <<Tclass>> 스테레오 타입(340)으로 명시되어 있으며, 이 클래스들간의 관계성(300, 320) 역시 DBMS 스키마로 내의 해당 시멘틱으로 변환된다. 즉, 일반화 관계성(300)은 클래스 A의 모든 특성을 클래스 B에 상속함을 의미한다.
이 때 상속은 UML의 상속 시멘틱이 아니고 객체관계형 모델에서 정의한 상속 시멘틱이 사용될 것이다. 연관 관계성(320)은 다른 클래스와의 다중성(310)을 가질 수 있으며, C의 어떤 한 데이터는 n 개의 B 데이터와 연관성을 가질 수 있음을 의미한다. 또한 역할이름(330)을 가질 수 있다. 역할이름은 한 클래스에 여러 연관 관계성이 있을 때, 이를 구분하기 위한 것으로 B는 C에 대해 갖는 연관을 ptrc라는 이름으로 지칭함으로써 다른 관계성과 구분된다. 이와 같이 시각적으로 모델링된 클래스들이 실제로 객체관계형 DBMS에 적용될 코드로 생성되기 위해서는 관계성들(300, 320)을 고려한 수행 순서를 정하여야 한다.
종속 그래프는 이러한 수행 순서를 보여준다. 종속 그래프에서 노드(370)는 클래스 생성을 위한 스키마 정의어 질의를, 아크(350, 360)는 그 순서를 의미한다. 클래스 생성 순서에서 부모클래스는 자식 클래스 보다 먼저 생성되어야 하며(340), 연관 관계성의 경우 관계성의 방향성을 고려하는(340) 등의 규칙에 따라야 한다.
도 4A 및 도 4B는 UML을 통해 작성된 스키마를 바탕으로 개발자에게 구성가능한 질의 틀을 보여주는 예시도로서, 도 4A는 스키마 설계도구에서의 그래픽 질의를 도시한 것이고, 도 4B는 질의 그래프를 도시한 것이다. 스키마 설계도구(100)에서 <<Tclass>> 역할을 갖는 클래스를 선택하고 질의 종류를 선택한다. 그 결과 질의 종류(400)를 제시해 주며, 질의 종류에 따라 해당 클래스에 설정 가능한 모든 속성을 포함하는 틀(420)을 보여준다. 질의 틀에는 자신 클래스의 속성 뿐만 아니라 부모 클래스의 속성(410)도 포함되며, 다른 클래스와의 연관 관계성을 명시하기 위한 관계성 속성(430)도 포함된다. 관계성 속성은 관계성의 다중성(310)에 따라 확장 가능한 관계성(440)을 제약한다. 만일 단일 관계만을 정의할 수 있도록 정의되었다면, 하나의 관계만이 확장 가능하다. 도 4A 및 도 4B에서 보는 바와 같이 C의 한 데이터는 여러 개의 B의 데이터와 연관성을 갖도록 정의되었는데, 이는 B와 C가 n:1의 관계성(320)으로 정의되었기 때문이다. 이 때 관계성은 질의의 종류에 따라 다르게 해석된다. 만일 질의가 insert 질의라면, 관계성은 대상 데이터를 삽입(혹은 검색)하고 그 결과로 반환되는 객체식별자를 값으로 가짐으로써 관계성을 정의하게 된다. 만일 질의 종료가 select라면, 관계성은 그러한 관계성을 가진 데이터를 검색하라는 식의 일부(경로식, path expression)로서 해석된다. 도 4A 및 도 4B가 insert 질의를 위한 질의 틀이라면, 질의 종류(400)에는 insert가 설정되며, b1의 ptrc(330)에는 c1을 삽입하고, 삽입한 c1의 객체식별자가 설정된다. 물론, 대응하는 c1의 ptrb에는 b1의 식별자가 자동으로 설정된다. 이 때, c1은 다수개의 B 데이터와 연관성을 정의할 수 있으므로, 계속해서 b2, b3를 삽입한 후 그 객체식별자를 ptrb에 추가한다. 질의 그래프는 b1, b2, b3, 그리고 c1의 실행 순서를 결정하기 위해 사용된다. 예시도에서와 같이, b3, b2가 먼저 삽입되고, 이의 식별자를 갖는 c1이 생성되고, 마지막으로 c1의 식별자를 갖는 b1의 삽입으로 해당 질의는 완료된다. 질의 그래프는 질의 틀에 대한 내부적인 구조로 질의 생성을 위한 순서를 결정하기 위해 사용한다.
도 5A 및 도 5B는 질의 틀을 통해 최종적으로 생성된 데이터베이스 질의(SQL)를 실제로 응용 프로그램 코드(120)에 삽입하기 위한 과정에 필요한 클래스 다이어그램과 시퀀스 다이어그램을 보이는 예시도로서, 도 5A는 스키마 설계도구에서 응용 클래스 및 객체관계형 스키마 설계를 도시한 것이며, 도 5B는 응용클래스와 객체관계형 스키마 간의 동작 뷰를 도시한 것이다. <<control>>, <<entity>>, <<boundary>> 역할을 갖는 클래스는 응용 프로그램 코드의 클래스(간 단히, 응용 클래스)이다. 반면에 <<Tclass>> 역할을 갖는 클래스는 객체관계형 DBMS의 클래스(간단히 DBMS 클래스)이다. 객체관계형 DBMS에 적용될 모든 질의는 DBMS 클래스의 메소드로 등록되어 있다. 따라서, UML설계 방식에 따라, 응용 클래스에서 객체관계형 DBMS에 질의를 호출하고자 할 때에는 미리 관계성(510)이 설정되어 있어야 한다. 예시도에서 응용 클래스간의 관계성(500)은 UML의 C++코드 생성기에 의해 적절한 시멘틱으로 해석되며, DBMS클래스간의 관계성(520)은 도 3에서 예시한 것과 같이 객체관계형 DBMS 서버에 의해 해석된다.
응용 클래스와 DBMS 클래스간의 관계성(510)은 데이터베이스 질의를 응용 프로그램 코드내에 생성하기 위해서 필요하다. UML의 시퀀스 다이어그램에서는 응용 클래스내 특정 메소드(530)에서 DBMS클래스내의 질의를 호출하는 관점(540)을 기술할 수 있다. 이 관점에서 스키마 설계도구는 응용 클래스의 어떤 메소드 내에 DBMS 클래스의 어떤 질의가 내장화되어야 하는지 결정할 수 있다. 또한, 질의에 사용된 호스트 변수 심볼('?')을 분석함으로서, 정의되어야 할 파라메터들을 추출할 수 있다. 이러한 동적 뷰를 통해, 스키마 설계도구는 객체관계형 DBMS 질의를 포함하는 응용 프로그램 코드를 생성해 낼 수 있다.
도 6A 및 도 6B는 명세된 모델요소에서 실제 객체관계형 DBMS에 적용할 질의를 스키마 정의어를 생성하기 위해, 모델 요소의 종류를 파악하고 이에 따라 종속질의 그래프를 작성하기 위한 예시도로서, 도 6A는 스키마 정의어와 종속 그래프 생성을 흐름도로 도시한 것이고, 도 6B는 스키마 정의어 생성 순서 결정을 흐름도로 도시한 것이다. 스키마 정의어 생성에서 스키마 세부 명세(예를 들면, 클래스 의 애트리뷰트, 인덱스의 종류 등)는 모델 요소에 직간접적으로 명세되어 있다. 이들은 해당 모델 요소에서 바로 추출 가능하지만, 질의 생성의 순서는 그렇지 않다. 종속 그래프는 이러한 스키마(클래스, 타입, 인덱스)의 생성 순서를 결정하기 위한 것으로 도 2에서 명시한 모델 요소의 시멘틱에 따라 구성할 수 있다.
이를 위해, 도 2의 모델 요소를 사용하여, 도 3 내지 도 5의 과정으로 모델링된 객체관계형 스키마에서 먼저 클래스 다이어그램에 대해 고려한다. 클래스 다이어그램 내의 모든 DBMS 클래스(<<Tclass>>, <<Tindex>>, <<Ttype>> 역할을 가진)에 대해, 해당 클래스가 종속 그래프 내에 이미 포함되었는가를 검사하여(601단계), 아직까지 참조된 적이 없다면 종속 그래프에 해당 클래스를 노드로 등록한다(602단계). 이미 참조되었다면 해당 노드는 종속 그래프에 이미 포함되어 있으므로, 다음으로 역할을 조사한다(603단계). 이 때 <<Tclass>>역할이 아닌 경우는 다른 DBMS 클래스에 대한 처리를 계속하고, <<Tclass>>역할의 DBMS 클래스인 경우에 다음 과정을 수행한다(604단계 내지 608단계). <<Tclass>>역할이 아닌 DBMS 클래스는 모두 <<Tclass>> 역할을 가진 DBMS클래스와 연결되어 있으므로, <<Tclass>>역할의 DBMS 클래스 처리 시점에 다루어진다. <<Tclass>>역할의 DBMS클래스에 대해 UML로 표현된 모델 요소에서 스키마 정의어로 변환하며, 해당 노드에 대한 참조 카운터(ref_cnt)를 0으로 초기화한다(604단계). 이 카운터는 해당 노드를 참조하는 노드의 숫자를 의미한다. 다음으로 DBMS 클래스에 연결된 모든 관계성의 종류를 파악하여(606단계), 다음의 과정(607단계 내지 618단계)을 적용한다.
먼저, aggregationT 관계성이 있는 DBMS 클래스 중에서, 만일 대상이 <<Ttype>> 역할의 DBMS 클래스라면, 스키마 정의어 내의 한 속성으로 변환되어 추가되며(609단계) 종속 그래프에 <<Ttype>> 역할의 DBMS 클래스가 해당 클래스를 참조함을 명시하기 위해 아크(D->C)를 추가한다(610단계). AggregationT 관계성이 있는 대상 클래스가 <<Tindex>> 역할의 DBMS 클래스라면, 해당 클래스가 <<Tindex>>역할의 DBMS클래스를 참조함을 명시하기 위해 아크(C->D)를 종속 그래프에 추가한다(608단계).
다음으로 InheritanceT 관계성이 있는 DBMS 클래스에 대해서는, 부모 클래스 역할인가를 검사한다(611단계). 부모 역할(parent role)이라면, 대응되는 자식 역할(child role)의 클래스가 처리하므로, 다음 관계성 처리를 계속한다. 만일 자식 역할이라면, 해당 클래스에 스키마 정의어에 부모 역할의 클래스를 추가하는 명세를 추가하고, 자신을 참조하는 참조 카운터를 1 증가한다 (612단계). 부모 역할 클래스에서 현재 클래스로의 참조함을 명시하기 위해 아크(C->D)를 종속 그래프에 추가한다(608단계).
다음으로, AssociationT 관계성이 있는 DBMS클래스에 대해, 방향성을 검사하여(613단계), 해당 클래스(C)가 시작 방향에 있다면 스키마 정의어에 D에 대한 참조를 속성으로 추가하고(615단계), 종속 그래프에 C가 D를 참조하므로 아크(C->D)를 추가한다(617단계). 또한, 참조되는 D에 참조 카운터를 1 증가시킨다(618단계). 만일 방향성 검사에서(613단계) 역방향성이 추가로 정의되었다면(614단계), 클래스 D에서 C를 참조하기 위한 추가의 속성을 D의 스키마 정의어에 추가한다(616단계). 역방향성이 정의되지 않았다면(614단계) 다음 처리를 계속 한다.
다음으로 InstanceT 관계성이 있는 경우에는 종속 그래프와 스키마 정의어 생성에 직접 관련이 없으므로, 별도의 처리를 수행하지 않는다(도 8의 응용 클래스 생성에서 사용된다).
종속 그래프의 완성으로, 객체관계형 DBMS서버에게 직접 적용할 수 있도록 순서를 고려한 스키마 정의어를 생성할 수 있다. 종속 그래프내의 모든 노드는 단위 스키마 정의어를 갖고 있다. 따라서 그래프 내의 아크와 참조 카운터를 고려하여 우선순위를 두어 이들을 탐색하면서 코드를 생성한다. 그 과정은 다음과 같다.
종속 그래프내의 모든 노드에 대해 다음의 과정(620단계 내지 632단계)을 수행한다(619단계). 먼저 <<Ttype>> 역할을 갖는 노드들은 선행하여 미리 존재해야하는 DBMS클래스는 없다. 따라서 가장 높은 우선 순위로 고려된다. 종속 그래프내의 모든 <<Ttype>> 역할의 노드(N)에 대해(620단계), 각각을 추출하여 스키마 정의어를 생성한 후(621단계), 이들과 관계성이 연결된 모든 노드(n)에 대해(622단계), 역할이 <<Ttype>> 역할이면 해당 n에 대해 코드를 생성한다(624단계). 만일 n이 <<Ttype>>역할이 아니라면 다음 처리를 계속한다.
다음으로 종속 그래프내의 노드 중에서 <<Tclass>> 역할의 DBMS 클래스를 고려한다(625단계). 먼저 선택된 노드(N)에 대한 코드를 생성한 후(626단계), N에 대해 그래프 탐색 방법에 추출된 각각의 노드 n에 대해(627단계), 노드 n의 참조 카운터를 1감소한다(628단계). 이때, 참조 카운터가 0 이라면(629단계), 더 이상 선행되어야 할 노드가 없음을 의미하므로 해당 코드를 생성한 후, 다음 클래스 탐색 과 코드 생성을 계속한다. 만일 참조 카운터가 0 이 아니라면 선행되어야 할 노드가 있음을 의미하므로, 노드 n에 대한 처리없이 클래스 탐색과 코드 생성을 계속한다.
다음으로 종속 그래프에서 처리되지 않은 <<Tindex>> 역할의 모든 노드에 대해(631), 해당 코드를 생성한다. <<Tindex>> 역할의 노드는 <<Tclass>> 역할의 노드만을 참조하며, 동일 역할 노드간의 관계성이 없으므로, 바로 생성가능하다.
도 7은 <<Tclass>> 역할의 DBMS클래스에 적용될 데이터 조작어를 작성하기 위한 예시도를 흐름도로 도시한 것이다. 객체관계형 모델에서는 기본적으로 클래스간의 관련성을 고려하여, 동적으로 확장이 가능하다. 즉 다른 클래스로의 관련성은 그 대상 클래스에 대한 참조 포인터로 인식하여, 해당 포인터가 지칭하는 속성을 데이터 조작어의 검색 대상 혹은 검색 조건으로 명시할 수 있다. 따라서 질의 틀에서는 이러한 질의 틀의 동적인 확장이 가능하여야 한다. 이와 관한 세부 과정은 다음과 같다(701단계 내지 716단계).
먼저, 데이터 조작어가 최초 적용될 기본 클래스를 정의한다(701단계). 기본 클래스에 대한 질의 틀을 제시하기 위해, 먼저 사용 가능한 모든 속성이 필요하다. 따라서 부모 클래스가 존재하는지 조사하며(702단계), 만일 부모 클래스가 존재한다면, 기본 클래스의 모든 부모 클래스의 속성들을 추출한다(703단계, 704단계). 객체관계형 모델에서 부모 클래스 정의에 대한 제약이 없으므로, 모든 부모 클래스에 이 과정은 반복적으로 수행되어야 한다. 부모 클래스가 존재하고 모든 부모 클래스의 속성을 추출한 후, 혹은 부모 클래스가 존재하지 않았다면, 다음 과정을 수 행한다.
추가로 기본 클래스의 속성을 추가한다(705단계). 다음으로 적용할 데이터 조작어의 종류를 입력한다(706단계). 데이터 조작어의 종류는 객체관계형 DBMS가 제공하는 모든 가능한 종류 중에서 하나가 된다. 제시된 종류에 따라 기본적인 질의 틀이 제시된다(707단계). 데이터 적용 가능한 모든 속성에 대해(708단계) 다음의 과정이 적용된다.
먼저, 속성의 타입을 검사하여(709단계), 객체관계형 DBMS가 제시하는 일반 데이터 타입이라면, 질의 종류에 맞는 역할을 입력한다(710단계). 예를 들어, insert 라면, 값을, delete 문이라면 조건연산자와 값을 입력하게 될 것이다. 만일 속성의 타입을 조사한 결과(709단계) 관계성이라면, 이는 관계성을 가진 상대 클래스의 속성을 질의 틀에 포함하여 명시할 수 있음을 의미한다. 단, InheritanceT는 703단계에서 미리 고려되었기 때문에 별도의 처리가 없다. 먼저 관계성의 다중성을 조사한다(711단계). 다중성에 따라, 질의 확장의 범위가 결정된다. 만일 관계성의 상대쪽 다중성이 n이었다면, n개의 질의 확장이 가능할 수도 있다. 예를 들어, 질의 종류가 insert이며, 다중성에 따라 n개의 insert를 포함하는 질의 확장이 가능하다(713단계). 반면에 다중성이 1 이라면 하나의 질의 확장만이 가능하다(712단계). 이러한 질의 확장은 질의 그래프 내에 질의에 대한 순서 정보로 아크(현재 질의->확장질의)를 추가한 후(714단계), 다시 새로이 확장된 질의에 대한 세부 명세 과정(702단계 내지 714단계)을 재귀적으로 수행한다.
이러한 과정에 따라 질의 틀이 완성되면, 질의 그래프의 순서에 중위 탐색(inorder traverse) 방식에 따라 질의를 생성하며(715단계), 생성된 질의는 최초의 기본 클래스의 메소드로 등록된다(716단계).
도 8은 도 6 및 도 7에서 생성한 스키마 정의어/데이터 조작어를 응용 프로그램내 소스 코드에 직접 삽입하기 위한 절차에 대한 예시도를 도시한 것이다. 이때 응용 프로그램 소스와의 연계를 위한 질의의 수행 순서와 호스트 변수와의 바인딩을 고려하여야 한다.
먼저 UML을 통해 작성된 클래스 다이어그램에서 DBMS 클래스와 InterfaceT 관계성을 가진 응용 클래스(C)들을 추출한다(801단계). 이들의 메소드에는 DBMS클래스의 질의가 내장화되어야 하기 때문이다. 다음으로, 이들 응용 클래스의 메시지 호출 관점을 기술하는 각각의 DBMS클래스에 대해, 시퀀스 다이어그램에서 C에서 DBMS 클래스로를 호출하는 모든 메시지(M)들을 추출한다(802단계). M은 다수 질의들을 포함하는 C++ 함수로 변환될 것이다. 먼저 M에 대한 프로토타입을 포함한 기본 코드를 생성한다(803단계). 이 때 M의 함수 본체(body)에 DBMS 클래스내의 호출하는 모든 질의 호출에 대해 순서를 유지하면서 다음의 과정을 수행한다(804단계). 먼저, DBMS질의가 파라메터를 갖는가 검사하여(805단계), 갖지 않는다면 질의와 M간의 호스트 변수 바인딩은 필요하지 않다. 이후 응용 클래스의 변경에 대해 질의와 코드간의 일치성을 확인하기 위해 질의 기술자를 생성한다(810단계). 질의 기술자는 전체 응용 시스템에서 유일해야 하므로, 클래스 이름과 질의 프로토타입의 조합으로 구성하며, 응용 코드 내에는 주석(comment)으로 삽입된다. 주석형태로 삽입된 질의 기술자 뒤에 생성된 질의를 내장화한다(811단계). 만일 파라미터 존재 여 부를 조사하여(805단계), 파라미터를 갖는다면 해당 파라미터에 대한 선언문과 질의와의 직접적인 바인딩이 필요하다. 먼저, 선언문 코드를 삽입하기 전에 선언문 기술자를 생성하여 코드내 삽입한다(806단계). 선언문 기술자 역시 질의 기술자와 마찬가지로 클래스 이름과 질의 프로토타입을 사용하여 구성된다. 다음으로, 프로토타입내의 모든 호스트 변수들을 추출하여 호스트 변수 선언문으로 코드를 생성하고(808단계), 질의내의 파라미터 심볼과 호스트 변수와의 이름을 일치시킨 후(809단계), 해당 질의를 내장화한다(810단계).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 설명한 본 발명은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로, 전술한 예 및 도면에 한정하는 것은 아니다.
상술한 본 발명에 따르면, 주기억장치 상주 객체관계형 DBMS와 연동되어야 하는 응용 프로그램을 개발하는 경우, 응용 프로그램 개발 뿐만 아니라 DBMS에 대해 명세되어야 할 내 데이터베이스 스키마와 질의 데이터 조작어 설계에도 UML을 적용할 수 있어, 일관된 방식으로 시스템의 분석 및 설계가 가능하며 또한, 주기억장치 상주 객체관계형 DBMS 에 대한 세부적인 지식없이도 실제로 운용 가능한 코드를 자동으로 생성해 줌으로써, 응용 시스템 구축에 경제성과 효율성을 제공할 수 있다.

Claims (5)

  1. 객체관계형 DBMS(Database Managing System) 서버와 연동되는 개발자측 응용 프로그램을 개발자가 UML을 사용하여 작성하는 방법에 있어서,
    상기 DBMS 서버의 데이터 구조를 명시하는 클래스 또는 데이터 접근용 인덱스 등으로 정의되는 DBMS 서버의 모델요소에 따라 데이터베이스 구조를 상기 개발자가 시각적으로 확인할 수 있도록 작성하고 스키마 설계도구는 상기 DBMS 서버와 연동될 수 있도록 하는 질의를 생성할 수 있는 데이터베이스 스키마를 상기 DBMS 서버의 클래스 상관관계에 따라 생성하는 제1 단계;
    상기 생성된 스키마에 따라 상기 스키마 설계도구는 상기 개발자에게 질의 틀을 제시하고, 상기 개발자는 상기 질의 틀에 따라 질의를 구체적으로 작성하며, 상기 스키마 설계도구는 상기 작성된 질의를 상기 제 1 단계에서 생성된 데이터베이스 스키마 내 클래스의 메소드로 등록하며, 객체관계형 DBMS에 적용가능한 질의로 변환하는 제2 단계; 및
    상기 제2 단계에서 변환된 질의에 대해 스키마 설계도구는 응용 프로그램과 연계하여 실행될 수 있도록, 시퀀스 다이어그램에 따라 해당 질의와 응용 프로그램내 호스트 변수와의 바인딩을 수행하고, 응용 프로그램내 클래스의 메소드에 내장화하여 실행 가능한 응용 프로그램을 생성하는 제 3단계를 포함하는 것을 특징으로 하는 UML기반 주기억장치 상주 객체관계형 스키마/질의 생성방법.
  2. 제1항에 있어서, 스키마 설계도구에 의한 상기 제1단계의 데이터베이스 스키마 생성은
    소정의 모델 요소를 사용하여 상기 개발자가 클래스 다이어그램에 구조를 나타내는 모델링을 가능하게 하는 단계;
    클래스 다이어그램 내의 클래스 역할을 분석하여 객체관계형 스키마 정의어로 변경하는 단계; 및
    스키마 정의어를 클래스간의 관계성에 따라 종속 그래프를 사용하여 실행 순서를 결정하는 방법을 포함하여 이루어짐을 특징으로 하는 UML기반 주기억장치 상주 객체관계형 스키마/질의 생성 방법.
  3. 제1항에 있어서, 스키마 설계도구에 의한 상기 제2단계의 질의 생성은
    해당 질의에서 일반화 관계성을 고려하여 사용가능한 속성을 정의하는 단계;
    해당 질의 종류에 따라 상응하는 기본 질의 틀을 구성하는 단계;
    상기 질의 틀에서의 연관 관계성에 대해서는 다중성과 방향성을 고려하여 사용가능한 속성을 확장하는 단계; 및
    완료된 질의 틀에서 질의 그래프에 따라, 재귀적으로 반복되는 내부 질의를 포함하여 질의 코드를 생성하고, 생성된 질의 코드를 해당 클래스에 메소드로 등록하는 단계를 포함하여 이루어짐을 특징으로 하는 UML기반 주기억장치 상주 객체관계형 스키마/질의 생성 방법.
  4. 제1항에 있어서, 스키마 설계도구에 의한 상기 객체관계형 질의를 포함하는 실제 실행가능한 응용 프로그램 생성은
    DBMS 클래스와 InterfaceT 관계성 있는 응용 클래스를 추출하고, 상기 클래스의 메소드를 명시하는 시퀀스 다이어그램의 분석을 통해 DBMS질의를 포함할 메소드를 추출하는 단계; 및
    추출된 메소드에 DBMS 질의를 순서에 따라 내장화하고, 필요한 호스트 변수를 바인딩하는 단계를 포함하여 이루어짐을 특징으로 하는 UML기반 주기억장치 상주 객체관계형 스키마/질의 생성 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020020074103A 2002-11-26 2002-11-26 Uml기반 주기억장치 상주 객체관계형 스키마/질의 생성방법 KR100564739B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020074103A KR100564739B1 (ko) 2002-11-26 2002-11-26 Uml기반 주기억장치 상주 객체관계형 스키마/질의 생성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020074103A KR100564739B1 (ko) 2002-11-26 2002-11-26 Uml기반 주기억장치 상주 객체관계형 스키마/질의 생성방법

Publications (2)

Publication Number Publication Date
KR20040046259A KR20040046259A (ko) 2004-06-05
KR100564739B1 true KR100564739B1 (ko) 2006-03-27

Family

ID=37341844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020074103A KR100564739B1 (ko) 2002-11-26 2002-11-26 Uml기반 주기억장치 상주 객체관계형 스키마/질의 생성방법

Country Status (1)

Country Link
KR (1) KR100564739B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572101B2 (en) 2011-01-10 2013-10-29 International Business Machines Corporation Faceted interaction interface to object relational data

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101529270B1 (ko) * 2013-06-28 2015-06-29 주식회사 진스커뮤니케이션즈 검색 엔진을 이용한 데이터베이스 관리방법 및 그 시스템
CN112256774B (zh) * 2020-09-27 2024-04-26 深圳供电局有限公司 电力数据处理方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240510A (ja) * 1997-02-27 1998-09-11 Mitsubishi Electric Corp オブジェクト指向設計支援装置
KR20000013583A (ko) * 1998-08-11 2000-03-06 정선종 객체지향 분석정보를 이용한 프레임워크 모델링 장치 및 그 방법
KR20000018921A (ko) * 1998-09-07 2000-04-06 정선종 프레임워크 식별 시스템 및 프레임워크 식별방법
KR20020061888A (ko) * 2001-01-18 2002-07-25 박철만 엑스엠엘 응용프로그램의 개발방법
JP2002287961A (ja) * 2001-03-28 2002-10-04 Nec System Technologies Ltd 業務アプリケーション開発システム及び方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240510A (ja) * 1997-02-27 1998-09-11 Mitsubishi Electric Corp オブジェクト指向設計支援装置
KR20000013583A (ko) * 1998-08-11 2000-03-06 정선종 객체지향 분석정보를 이용한 프레임워크 모델링 장치 및 그 방법
KR20000018921A (ko) * 1998-09-07 2000-04-06 정선종 프레임워크 식별 시스템 및 프레임워크 식별방법
KR20020061888A (ko) * 2001-01-18 2002-07-25 박철만 엑스엠엘 응용프로그램의 개발방법
JP2002287961A (ja) * 2001-03-28 2002-10-04 Nec System Technologies Ltd 業務アプリケーション開発システム及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572101B2 (en) 2011-01-10 2013-10-29 International Business Machines Corporation Faceted interaction interface to object relational data

Also Published As

Publication number Publication date
KR20040046259A (ko) 2004-06-05

Similar Documents

Publication Publication Date Title
JP5542142B2 (ja) 宣言型プログラミング言語の木ベースの有向グラフのプログラミング構造
US5970490A (en) Integration platform for heterogeneous databases
US6370681B1 (en) Computer system and computer implemented process for representing software system descriptions and for generating executable computer programs and computer system configurations from software system descriptions
US6915304B2 (en) System and method for converting an XML data structure into a relational database
US6976020B2 (en) Software composition using graph types, graph, and agents
US7792817B2 (en) System and method for managing complex relationships over distributed heterogeneous data sources
US20110173220A1 (en) Generating web services from business intelligence queries
US20040205615A1 (en) Enhanced mechanism for automatically generating a transformation document
US7792851B2 (en) Mechanism for defining queries in terms of data objects
US10552127B2 (en) Method and system for developing relation-context specific software applications
Delfmann et al. The generic model query language GMQL–Conceptual specification, implementation, and runtime evaluation
US8082492B2 (en) Structured-document management apparatus, search apparatus, storage method, search method and program
US20060031817A1 (en) Integrated dynamic control flow and functionality generation for network computing environments
Alonso et al. Towards a polyglot data access layer for a low-code application development platform
CN110874431B (zh) 基于JAVA Doc知识图谱的多维评估推荐方法
KR100564739B1 (ko) Uml기반 주기억장치 상주 객체관계형 스키마/질의 생성방법
Polášek et al. Information and knowledge retrieval within software projects and their graphical representation for collaborative programming
Nour et al. Manipulating IFC model data in conjunction with CAD
Jakob et al. View creation of meta models by using modified triple graph grammars
Ritter et al. Enforcing modeling guidelines in an ORDBMS-based UML-repository
Boockmann et al. Heap patterns for memory graph visualization
Masson et al. Defining Referential Integrity Constraints in Graph-oriented Datastores.
Mazairac et al. BimQL
JP2006004145A (ja) プログラムコード生成装置
Nagy et al. Composition graphs: A foundation for reasoning about aspect-oriented composition

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090303

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee