Most contemporary meta systems have an ER(or extended ER) based metamodel. ER based metamodel fails to capture knowledge information about development environment and limits in deductive capability. To surmount shortcomings of ER based metamodels, we propose a metamodel based on logic and objec-toriented model.
We combine object-oriented model with logic to design and implement LOOM(Logic and Object-Oriented approaches based Metamodel). And we implement a prototype system, LOOMS(Logic and Object-Oriented approaches based Meta System) in Prolog language and C language on PC. When analyst specify development environment by the use of LOOM, LOOMS automatically translate specification of development environment into Prolog clauses. Then, analyst can analysis/query on the specification of development environment. Next, analyst specify target system using LOOMS support.
Our approach has following advantages.
First, for behavior and constraint, LOOM is more expressive than ER based metamodel.
Second, checking syntax grammar. specifications can be automatically translated into Prolog clauses.
Third, by the use of logic, deductive capability is extended on analysis/query about specification of development environment.
현존하는 대개의 메타 시스템들은 객체-관계 모형을 기반으로 한 메타모형을 갖는다. 그러나 객체-관계 모형을 기반으로 한 메타모형은 개발환경에 대한 정보를 충분히 표현하기에 부족하며 유추능력에 있어서도 한계성을 가지고 있다. 본 논문에서는 이러한 단점들을 극복하기 위한 확장된 메타모형이 제시되었다. 확장된 메타모형은 논리와 객체 지향 방식을 기반으로 하고 있다.
LOOM (Logic and Object-Oriented Approaches based MetaModel)을 설계하고 구현하기 위하여 객체 지향 모형이 논리와 결합되어 졌다. 그리고 프로토타입 시스템으로 LOOMS(Logic and Object-Oriented Approaches based Meta System)가 PC 상에서 Prolog 와 C 언어를 이용하여 구현되었다. LOOM 을 사용하여 개발 환경에 대한 명세가 이루어지면 LOOMS 는 이를 Prolog 문법의 Clauses로 변환시킨다. 그러면 사용자는 개발 환경의 명세에 대한 분석과 질의가 가능하다. 또한 LOOMS 는 이를 사용하여 대상시스템의 명세를 지원한다.
이러한 접근방법은 다음과 같은 장점을 갖는다.
첫째, 행위와 제약조건에 대하여 LOOM 은 객체-관계 모형을 기반으로 하는 메타모형보다 표현력이 우수하다.
둘째, 개발환경에 대한 명세는 문법 검사를 하면서 자동으로 Prolog 절로 변환되어질 수 있다.
셋째, 논리를 사용함으로서 명세에 대한 분석과 질의에서의 유추능력이 향상되었다