KR101101519B1 - A Software Development System and Method using an Ontology based Component Assembly Technology - Google Patents
A Software Development System and Method using an Ontology based Component Assembly Technology Download PDFInfo
- Publication number
- KR101101519B1 KR101101519B1 KR1020090105220A KR20090105220A KR101101519B1 KR 101101519 B1 KR101101519 B1 KR 101101519B1 KR 1020090105220 A KR1020090105220 A KR 1020090105220A KR 20090105220 A KR20090105220 A KR 20090105220A KR 101101519 B1 KR101101519 B1 KR 101101519B1
- Authority
- KR
- South Korea
- Prior art keywords
- ontology
- component
- parameter
- metadata
- interface
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/316—Aspect-oriented programming techniques
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
본 발명에 따른 온톨로지 기반 컴포넌트 조립 기술을 이용한 소프트웨어 개발 시스템 및 그 방법은 애플리케이션이 속한 도메인의 개념(Concept)들과 개념들 간의 관계(Relationship)를 모델링하는 사용자 인터페이스를 제공하여 도메인 온톨로지를 구축하고 개발자들이 공유할 수 있게 하는 ‘온톨로지 구축 시스템’ 내부의 ‘도메인 온톨로지 구축 수단’; 서비스 컴포넌트가 상위의 컴포넌트에게 제공하는 서비스 제공 인터페이스(provided interface)와 더불어 하위 컴포넌트들을 호출하기 위한 서비스 요청 인터페이스들을 구성하는 메소드들의 입력 및 출력 매개변수(Parameter)들 각각에 대하여, 상기 온톨로지 구축 시스템에 접속하여 구축된 온톨로지의 개념과 관계들을 이용하여 매개변수의 의미, 매개변수가 취할 값, 매개변수의 변환 기준 정보를 표현한 메타데이터를 부가할 수 있게 하는 ‘컴포넌트 개발 수단’과; 상기 서비스 컴포넌트들을 조립하여 소프트웨어를 개발할 때, 상위 컴포넌트(클라이언트 컴포넌트)의 서비스 요청 인터페이스에 부가된 메타데이터와 하위 컴포넌트(서버 컴포넌트)의 서비스 제공 인터페이스에 부가된 메타데이터를 읽어 들이고, 이들을 상기 온톨로지 구축 수단에 접속하여 구축된 온톨로지들과 비교하여 인터페이스 간 중재(mediation) 컴포넌트 코드를 자동 생성하는 ‘컴포넌트 조립 수단’을 포함하는 것을 특징으로 하며, 서비스 컴포넌트의 재사용성과 소프트웨어 개발 생산성을 크게 향상시키는 효과가 있다.
컴포넌트 조립, 중재 컴포넌트, 온톨로지, 메타데이터, 컴포넌트 재사용
Software development system and method using ontology-based component assembly technology according to the present invention provides a user interface modeling the concepts of the domain to which the application belongs (Relationship) and build a domain ontology and developers Domain ontology building means within an ontology building system that can be shared by the public; Each of the input and output parameters of the methods constituting the service request interfaces for invoking the subcomponents together with the service providing interface provided by the service component to the parent component is provided to the ontology building system. A 'component development means' for adding metadata representing the meaning of the parameter, the value to be taken by the parameter, and the conversion criterion information of the parameter by using the concepts and relationships of the ontology constructed by accessing; When assembling the service components to develop the software, the metadata added to the service request interface of the upper component (client component) and the metadata added to the service providing interface of the lower component (server component) are read and these are built on the ontology. It includes a 'component assembly means' for automatically generating mediation component code between interfaces compared to the ontology built by accessing the means, and greatly improves the reusability of service components and the productivity of software development. have.
Component assembly, mediation component, ontology, metadata, component reuse
Description
본 발명은 객체지향 컴포넌트 기반 소프트웨어 개발 기술에 관한 것으로, 더욱 상세하게는 독립적으로 개발한 컴포넌트들을 조립하여 애플리케이션을 개발하는 시스템에서 컴포넌트의 소스 코드 수정 없이 바이너리 수준에서 조립할 수 있는 기술에 관한 것이다. The present invention relates to an object-oriented component-based software development technology, and more particularly, to a technology that can be assembled at a binary level without modifying the source code of a component in a system for assembling independently developed components to develop an application.
현대 경영이 요구하는 정보 시스템은 그 복잡도와 규모가 점점 커지고 있으며, 경쟁이 심화되면서 시스템의 신속한 구축과 변경 및 확장의 용이성, 구축비용 절감 등의 필요성이 더욱 절실해졌다. 이에 대한 최적의 대안으로서 등장한 컴포넌트 기반 소프트웨어 개발 방법론(Component Based Development Methodology: CBD)은 분할 정복의 원리와 객체 지향 개발의 이점을 계승하되 소프트웨어 모듈을 부품화함으로써 재사용을 가능하게 하고 소프트웨어 개발을 조립 개념으로 발전시켰다.The information systems demanded by modern management are increasing in complexity and size, and as the competition intensifies, there is an urgent need for rapid system deployment, ease of change and expansion, and reduction in construction costs. The Component Based Development Methodology (CBD), which emerged as an optimal alternative to this, inherits the principles of partitioning and conquest and the benefits of object-oriented development. Developed into.
컴포넌트 기반 소프트웨어 개발 방법론의 목표에 따라 컴포넌트들의 재사용성을 높이기 위해서는 컴포넌트의 소스코드를 수정하지 않고 바이너리 코드 차원에서 조립이 가능해야 한다. 그러나 기존 컴포넌트 모델에 따라 개발된 컴포넌트들은 자신이 제공하는 서비스에 대한 인터페이스는 독자적으로 정의하여 외부로 노출 시키지만, 하위 계층 컴포넌트와의 연동은 철저히 하위 컴포넌트가 정의한 인터페이스에 따른 코딩을 통해 구현된다. 따라서 하위 컴포넌트 서비스에 의존하지 않는 간단한 GUI용 컴포넌트들만 재사용되고 있으며 비즈니스 논리를 처리하는 중간 계층 컴포넌트들의 재사용율은 지극히 낮은 실정이다.According to the goal of the component-based software development methodology, in order to increase the reusability of components, they must be assembled at the binary code level without modifying the source code of the component. However, the components developed according to the existing component model define the interface for the services they provide independently and expose them to the outside, but the interworking with the lower layer components is implemented through coding according to the interface defined by the lower component. Therefore, only simple GUI components that do not depend on subcomponent services are being reused, and the reuse rate of middle layer components that process business logic is extremely low.
상기의 문제를 해결하기 위해 컴포넌트의 의존 계약 명세를 포함하도록 메타데이터를 확장함으로써, 서로 다른 개발자들에 의해 독립적으로 개발된 컴포넌트들을 다계층 구조로 및/또는 분산 구조 형태로 조립할 수 있게 하는 방법(대한민국 특허 출원 번호 10-2004-0033449: 이후 이 특허를 본 발명에서는 ABT(Active Binding Technology) 기술이라 지칭)이 제안되었다.그러나 ABT 기술은 바이너리 컴포넌트들의 소스코드를 수정하지 않고 바이너리 수준에서 조립할 수 있게 하였으나, 독립적으로 개발된 컴포넌트간 인터페이스를 중재하는 중재 컴포넌트를 개발해야 하는 새로운 부담을 야기시킨다. ABT 기술은 컴포넌트 인터페이스에 부가된 자연어 기반의 메타데이터를 개발자에게 보여주고, 개발자는 자연어 기반의 메타데이터를 해석하여 컴포넌트간 인터페이스를 중재하는 중재 컴포넌트를 개발하는 작업을 해야한다. 이는 자연어가 가지는 모호성(ambiguity)때문에 중재 컴포넌트 코드 개발 시 에러가 발생할 가능성이 있고, 보통 수십에서 수백 개에 이르는 컴포넌트 메소드들의 조립을 수작업에 의존하여야 하므로 상당한 시간과 비용이 소요된다.In order to solve the above problem, the metadata can be extended to include a dependency contract specification of a component so that components developed independently by different developers can be assembled in a multi-layered and / or distributed structure. Korean Patent Application No. 10-2004-0033449: Since then, this patent is referred to as Active Binding Technology (ABT) technology in the present invention. However, ABT technology can be assembled at the binary level without modifying the source code of binary components. However, it creates a new burden of developing an arbitration component that mediates an independently developed interface between components. ABT technology shows developers the natural language-based metadata added to the component interface, and the developer must work on developing the mediation component that mediates the interface between components by interpreting the natural language-based metadata. This is because of the ambiguity of natural language, which can lead to errors in the development of mediation component code, and it requires considerable time and cost because the manual assembly of several tens to hundreds of component methods is required.
온톨로지를 활용하여 서비스 들을 동적으로 조립하고 호출하는 방법에 관한 연구들[“OWL-S”, “Dynamic Service Composition Using Semantic Information”, “SWORD: A Developer Toolkit or Web Service Composition” ]이 있다. 동적으로 관련된 서비스들을 찾아 이들을 조립하고 호출하려면 서비스들의 입/출력 매개변수간 정합을 위하여 중재(mediation) 코드 자동 생성이 필수적이다. 파라미터간 정합을 위한 중재 코드 자동 생성에 온톨로지를 활용하는 것은 본 발명의 데이터 타입 컨버터 코드 자동 생성 방법과 유사한 목표이다. 웹 서비스에 대한 발견과 자동 조립 및 호출 지원을 표방하는 OWL기반의 서비스 온톨로지 언어인 OWL-S는 Service Profile, Service Model, Service Grounding 온톨로지로 구성되어 있다. 그러나 이들은 조립과 호출에 필요한 메타 정보들에 관한 규정일 뿐 구체적인 조립과 호출 알고리즘이나 방법을 제안하지 않는다. 사용자의 질의를 분석하여 동적으로 관련 서비스 컴포넌트들을 찾아 조립하고 호출하여 답을 구하는 것을 목표로 하는 동적 서비스 조립(dynamic service composition)에서도 동적 서비스 조립과 호출이라는 목표를 달성하려면 서비스 간 파라미터 정합 코드 생성이 필수적이다. 그러나 관련 연구들에서는 의미를 기준으로 매칭되는 서비스와 매개 변수들을 찾는데 온톨로지를 활용하는 방법을 제시하는데 중점을 두고 있을 뿐이며, 매개 변수들의 정합 코 드 생성에 온톨로지를 활용하는 방법을 제시하지 않고 있다.There are studies on how to use ontology to dynamically assemble and call services [“OWL-S”, “Dynamic Service Composition Using Semantic Information”, “SWORD: A Developer Toolkit or Web Service Composition”). In order to find and assemble and call dynamically related services, automatic generation of mediation code is necessary to match the input and output parameters of the services. The use of ontology for automatic generation of arbitration code for matching between parameters is a similar goal to the automatic generation method of data type converter code of the present invention. OWL-S, an OWL-based service ontology language that supports web service discovery, automatic assembly, and invocation support, consists of Service Profile, Service Model, and Service Grounding ontology. However, these are only provisions for the meta information required for assembly and calling, and do not suggest specific assembly and calling algorithms or methods. In dynamic service composition, which aims to analyze the user's query, find, assemble and call related service components dynamically, and obtain the answer, parameter matching code generation between services is needed to achieve the goal of dynamic service assembly and invocation. It is essential. However, the related studies focus only on suggesting how to use ontology to find matching services and parameters based on semantics, and do not suggest how to use ontology to generate matching code of parameters.
데이터 가변성 처리에 온톨로지 기반 메타데이터를 활용하는 "온톨로지 기반 데이터 가변성 처리 시스템 및 방법"(대한민국 특허 출원 번호 10-2009-0103846: 이후 본 발명에서는 이 출원 기술을 온톨로지 기반 DTT(Ontology based Data Type Tolerance) 기술이라 지칭)이 제안되었다. 온톨로지 기반 DTT 기술은 데이터 가변성 처리를 효율적으로 하기 위해 타입 변환 코드를 자동 생성하는 방법에 관한 것으로서, 컴포넌트간 인터페이스 중재를 위해 매개변수간 변환 코드를 자동 생성하는 본 발명과 비슷한 측면이 있다. 그러나 온톨로지 기반 DTT 기술은 서비스 컴포넌트가 데이터에 종속되지 않게 하기 위한 것으로, 독립적으로 개발되어 인터페이스가 상이한 컴포넌트들을 조립하기 위한 본 발명과는 그 구성과 작용이 다르다. 본 발명은 데이터 가변성을 처리하는 온톨로지 기반 DTT 기술과 서비스 컴포넌트의 재사용을 높이는 상호보완적 기술로서, 소프트웨어의 '조립 기반 개발'(development by assembly)을 지원한다."Ontology-based data variability processing system and method that utilizes ontology-based metadata for data variability processing" (Korean Patent Application No. 10-2009-0103846: Later in the present invention, this application technology ontology-based Ontology based Data Type Tolerance (DTT) Technique). Ontology-based DTT technology relates to a method for automatically generating type conversion code to efficiently process data variability, and has a similar aspect to the present invention of automatically generating an inter-parameter conversion code for inter-component interface arbitration. However, the ontology-based DTT technology is intended to prevent service components from being dependent on data. The ontology-based DTT technology differs in configuration and operation from the present invention for assembling components that are independently developed and have different interfaces. The present invention is an ontology-based DTT technology that handles data variability and a complementary technology that enhances reuse of service components, and supports 'development by assembly' of software.
본 발명이 해결하고자 하는 기술적 과제는, ABT 기술이 독립적으로 개발된 컴포넌트들을 코드 수정 없이 조립할 수 있게 한 대신 새롭게 야기 시킨 중재 컴포넌트 개발 부담 문제를 해결하기 위하여 안출된 것으로, 애플리케이션 도메인의 온톨로지를 구축하고, 서비스 컴포넌트가 상위의 컴포넌트에게 제공하는 서비스 제공 인터페이스(provided interface)와 더불어 하위 컴포넌트들을 호출하기 위한 서비스 요청 인터페이스(required interface)들을 구성하는 메소드들의 입력 및 출력 매개변수(parameter)들 각각에 대하여 구축된 온톨로지의 개념과 관계로 표현된 메타데이터를 부가하며, 이 메타데이터들과 온톨로지를 비교하여 중재 컴포넌트 코드를 에러 없이 자동으로 생성함으로써, ABT 기술에 비해 한층 더 효율이 제고된 소프트웨어 개발 시스템 및 그 방법을 제공하는데 있다.The technical problem to be solved by the present invention is to solve the burden of developing a new mediation component instead of allowing ABT technology to assemble independently developed components without code modification. For each of the input and output parameters of the methods that make up the service-required interfaces for invoking subcomponents, as well as the service-provided interface provided by the service component to the parent component. Software development system and its efficiency which is more efficient than ABT technology by adding metadata expressed in relation to the concept of ontology, and automatically generating mediation component code without error by comparing these metadata with ontology. How to To provide.
상기 기술적 과제를 해결하기 위하여 본 발명에 의한 온톨로지 기반 컴포넌트 조립을 이용한 소프트웨어 개발 시스템은 애플리케이션이 속한 도메인의 개념(concept)들과 개념들 간의 관계(relationship)를 모델링하는 사용자 인터페이스를 제공하여 도메인 온톨로지를 구축하고 개발자들이 공유할 수 있게 하는 ‘온톨로지 구축 시스템’ 내부의 ‘도메인 온톨로지 구축 수단’과; 서비스 컴포넌트가 상위의 컴포넌트에게 제공하는 서비스 제공 인터페이스와 더불어 하위 컴포넌트들을 호출하기 위한 서비스 요청 인터페이스를 명시적으로 갖추게 하고, 상기 인터페이스들을 구성하는 메소드들의 입력 및 출력 매개변수들 각각에 대하여, 상기 온톨로지 구축 시스템에 접속하여 구축된 온톨로지의 개념과 관계들을 이용하여 매개변수의 의미, 매개변수가 취할 값, 매개변수의 변환 기준 정보를 표현한 메타데이터를 부가할 수 있게 하는 ‘컴포넌트 개발 수단’과; 상기 서비스 컴포넌트들을 조립하여 소프트웨어를 개발할 때, 상위 컴포넌트(클라이언트 컴포넌트)의 서비스 요청 인터페이스에 부가된 메타데이터와 하위 컴포넌트(서버 컴포넌트)의 서비스 제공 인터페이스에 부가된 메타데이터를 읽어 들이고, 이들을 상기 온톨로지 구축 수단에 접속하여 구축된 온톨로지들과 비교하여 인터페이스 간 중재(mediation) 컴포넌트 코드를 자동 생성하는 ‘컴포넌트 조립 수단’을 포함하는 것을 특징으로 한다.In order to solve the above technical problem, the software development system using ontology-based component assembly according to the present invention provides a domain ontology by providing a user interface for modeling concepts and relations between domains to which an application belongs. A domain ontology building means within an ontology building system that can be built and shared by developers; In addition to the service providing interface provided by the service component to the upper component, the service request interface for invoking the lower components is explicitly provided, and for each of the input and output parameters of the methods configuring the interfaces, the ontology is constructed. 'Component development means' for adding metadata representing the meaning of the parameter, the value the parameter will take, and the conversion reference information of the parameter using concepts and relationships of the ontology constructed by connecting to the system; When assembling the service components to develop the software, the metadata added to the service request interface of the upper component (client component) and the metadata added to the service providing interface of the lower component (server component) are read and these are built on the ontology. And a 'component assembly means' for automatically generating mediation component code between interfaces in comparison with ontology constructed by accessing the means.
또한, 상기 기술적 과제를 해결하기 위하여 본 발명에 의한 온톨로지 기반 컴포넌트 조립 기술을 이용한 소프트웨어 개발 방법은 애플리케이션이 속한 도메인의 개념들과 개념들 간의 관계를 모델링한 도메인 온톨로지를 구축하는 단계; 요구 사항 변화에 따라 상기 도메인 온톨로지의 개념들과 관계를 갖는 새로운 개념들을 추가한 확장 온톨로지를 구축하는 단계; 애플리케이션의 기능을 처리하는 서비스 컴포넌트를 구현함에 있어서 하위 컴포넌트들을 호출할 필요가 있을 때, 하위 컴포넌트가 제공하는 인터페이스에 의존하는 코드를 작성하는 대신 독자적으로 서비스 요청 인터페이스를 정의하여 이를 사용하는 코드를 작성함으로써 해당 컴포넌트가 상위의 컴포넌트에게 제공하는 서비스 제공 인터페이스와 더불어 하위 컴포넌트들을 호 출하기 위한 서비스 요청 인터페이스를 명시적으로 갖추게 하는 단계; 상기 단계 에서 정의한 인터페이스들을 구성하는 메소드들의 입력 및 출력 매개변수 각각에 대하여, 상기 단계 구축된 온톨로지의 개념과 관계들을 이용하여 매개변수의 의미, 매개변수가 취할 값, 매개변수의 변환 기준정보를 표현한 메타데이터를 부가하는 단계; 상기 단계를 거쳐 개발된 서비스 컴포넌트들을 조립할 때, 상위 컴포넌트의 서비스 요청 인터페이스에 부가된 메타데이터와 하위 컴포넌트의 서비스 제공 인터페이스에 부가된 메타데이터를 읽어 들이고, 이들을 구축된 온톨로지들과 비교하여 인터페이스 간 중재 컴포넌트 코드를 자동 생성하여 컴포넌트들을 조립하는 단계;를 포함하는 것을 특징으로 한다.In addition, the software development method using the ontology-based component assembly technology according to the present invention to solve the above technical problem comprises the steps of: building a domain ontology modeling the concepts of the domain to which the application belongs; Building an extended ontology adding new concepts related to the concepts of the domain ontology according to a change in requirements; When implementing a service component that handles the functionality of an application, you need to call the subcomponents, instead of writing code that depends on the interface provided by the subcomponent, write your own service request interface to use it. Thereby explicitly providing a service request interface for calling the lower components together with a service providing interface provided to the upper component by the corresponding component; For each of the input and output parameters of the methods constituting the interfaces defined in the step, using the concepts and relationships of the ontology established in the step, the meaning of the parameter, the value to be taken, and the conversion reference information of the parameter are expressed. Adding metadata; When assembling the service components developed through the above steps, the metadata added to the service request interface of the upper component and the metadata added to the service providing interface of the lower component are read, and these are compared with the constructed ontology to mediate between interfaces. Automatically generating component code to assemble the components; characterized in that it comprises a.
이상에서 설명한 수단과 방법을 사용하여, 본 발명은 독립적으로 개발된 컴포넌트들을 소스 코드 수정 없이 재사용할 수 있게 하는 동시에 중재 컴포넌트 코드를 자동 생성하여 중재 컴포넌트 개발 부담 문제를 해결함으로써 종래 기술에 비해 소프트웨어 개발 생산성을 크게 향상시키는 효과가 있다.By using the above-described means and methods, the present invention can solve the burden of arbitration component development by automatically generating arbitration component code while simultaneously reusing independently developed components without modification of source code, and thereby developing software in comparison with the prior art. This has the effect of greatly improving productivity.
이하, 첨부된 도면을 참조하여 본 발명의 실시를 위한 구체적인 내용을 설명한다.Hereinafter, with reference to the accompanying drawings will be described specific details for the practice of the invention.
도 1은 본 발명에 따른 온톨로지 기반 컴포넌트 조립 기술을 이용한 소프트웨어 개 발 시스템의 구성을 도시한 블록도로서, 도메인 온톨로지 구축수단(111)과 확장 온톨로지 구축 수단(112)을 포함하는 온톨로지 구축 시스템(110)과, 컴포넌트 개발 수단(130), 컴포넌트 조립 수단(140)을 갖추고 도메인 온톨로지(121), 확장 온톨로지(122), 클라이언트 컴포넌트(131), 서버 컴포넌트(132), 중재 컴포넌트(141)를 포함한다. 1 is a block diagram showing the configuration of a software development system using the ontology-based component assembly technology according to the present invention, an
온톨로지 구축 시스템 내부에 있는 도메인 온톨로지 구축 수단(111)은 애플리케이션이 속한 도메인의 개념들과 개념들 간의 관계를 모델링하는 사용자 인터페이스를 제공하여 도메인 온톨로지(121)를 구축하고 개발자들이 공유할 수 있게 한다. 확장 온톨로지 구축 수단(112)은 애플리케이션의 요구사항 변화에 따라 상기 도메인 온톨로지의 개념들과 관계를 갖는 새로운 개념들을 추가하여 확장 온톨로지(122)를 구축할 수 있게 한다.The domain ontology building means 111 in the ontology building system provides a user interface for modeling the concepts and the relationships between the domains to which the application belongs, thereby building the
컴포넌트 개발 수단(130)은 애플리케이션의 기능을 처리하는 컴포넌트를 구현함에 있어서 하위 컴포넌트들을 호출할 필요가 있을 때, 하위 컴포넌트가 제공하는 인터페이스에 의존하는 코드를 작성하는 대신 독자적으로 서비스 요청 인터페이스를 정의하여 이를 사용하는 코드를 작성함으로써 해당 컴포넌트가 상위의 컴포넌트에게 제공하는 서비스 제공 인터페이스와 더불어 하위 컴포넌트들을 호출하기 위한 서비스 요청 인터페이스를 명시적으로 갖추게 하고, 상기 인터페이스들을 구성하는 메소드들의 입력 및 출력 매개변수들 각각에 대하여, 상기 온톨로지 구축 시스템에 접속하여 구축된 온톨로지의 개념과 관계들을 이용하여 매개변수의 의미, 매개변수가 취할 값,매개변수의 변환 기준 정보를 표현한 메타데이터를 부가할 수 있게 한다.When the component development means 130 needs to call the subcomponents in implementing a component that handles the function of the application, the component development means 130 defines a service request interface by itself instead of writing code that depends on the interface provided by the subcomponent. By writing code that uses this, you explicitly have a service request interface that the component provides to the parent component, as well as a service request interface to call the child components, and the input and output parameters of the methods that make up the interfaces. For each of them, it is possible to add metadata representing the meaning of the parameter, the value to be taken by the parameter, and the conversion reference information of the parameter by using the concepts and relationships of the ontology constructed by accessing the ontology building system.
컴포넌트 조립 수단(140)은 상기 서비스 컴포넌트들을 조립하여 소프트웨어를 개발할 때, 상위 컴포넌트(클라이언트 컴포넌트)(131)의 서비스 요청 인터페이스에 부가된 메타데이터와 하위 컴포넌트(서버 컴포넌트)(132)의 서비스 제공 인터페이스에 부가된 메타데이터를 읽어 들이고, 이들을 상기 온톨로지 구축 수단에 접속하여 구축된 온톨로지들과 비교하여 인터페이스 간 중재(mediation) 컴포넌트(141) 코드를 자동 생성한다.When the component assembling means 140 assembles the service components and develops the software, the metadata added to the service request interface of the upper component (client component) 131 and the service providing interface of the lower component (server component) 132. It reads the metadata added to and compares them with the ontology building means to automatically generate the
도 2는 본 발명을 적용한 도메인 온톨로지와 확장 온톨로지 정보를 도시한 예시도로서, 상기 온톨로지 구측 시스템(110)이 응용 도메인의 특정 휘처(feature)를 모델링할 때 휘처의 밸류 세트(value set)를 구성하는 개체(individual)들의 이름들과 범위 값들만 입력하면 해당 모델을 자동 생성해주는 사용자 인터페이스와 기능을 제공하여, 휘처 개념(210)이 서로 상이한 개체들(221,222)의 열거(enumeration)인 밸류 세트 패턴을 지원하되, 휘처 개념(210)은 반드시 범위(range)나 값(230)을 관계(240)로 연결하여 컴포넌트의 인터페이스가 구성하고 있는 메소드들의 매개변수 값을 변환할 때 의미상 등가 (semantic equivalent value)로 변환하는 코드를 생성하는데 필요한 개념들과 관계들로 구성된 온톨로지를 생성한 실시 예를 보여준 다.FIG. 2 is a diagram illustrating domain ontology and extended ontology information to which the present invention is applied. When the
도 3은 본 발명을 적용한 메타데이터가 포함할 정보를 도시한 예시도로서, 컴포넌트 개발 수단(130)을 사용하여 클라이언트 컴포넌트(131)와 서버 컴포넌트(141)를 개발할 때, 서비스 제공 인터페이스와 서비스 요청 인터페이스들을 구성하는 메소드들의 입력 및 출력 매개변수들 각각에 대하여 부가되는 메타데이터의 의미를 온톨로지의 개념으로 표현하는 Class URI(310), 매개변수가 취할 값을 표현한 Semantic Value Type(320), 변환 코드 생성 기준으로 사용되는 Converting Criteria(330)로 구성된다.FIG. 3 is a diagram illustrating information to be included in metadata to which the present invention is applied. When the
도 4는 본 발명을 적용한 메타데이터의 정보간 관계를 도시한 예시도로서, 매개변수 메타데이터의 첫번째 구성요소인 Class URI(410)은 두번째 구성요소인 Semantic Value Type (420)이 ‘ClassName’이거나 ‘IndividuaSymbol’일 때는 매개변수 자체의 의미를 나타내는 온톨로지 개념의 URI이고, 두번째 구성요소가 SemanticProperty URI 일 때는 매개변수가 취할 값의 개념을 속성관계로 갖는 개념의 URI이다. 매개변수 메타데이터의 두번째 구성요소인 Semantic Value Type(420)은 매개변수가 취할 수 있는 의미론적 값의 종류로서 ‘ClassName’, ‘IndividuaSymbol’, SemanticProperty URI 중 하나가 된다. ‘ClassName’은 매개변수의 값으로 온톨로지 개념 이름 자체를, ‘IndividuaSymbol’은 매개변수의 의미가 밸류 세트 패턴의 휘처 개념이면서 매개변수가 취할 값이 개체 이름임을 의미 한다. SemanticProperty URI는 첫번째 구성요소에 지정된 온톨로지 개념이 갖는 관계 중 매개변수가 취해야 하는 의미론적 값을 나타내는 관계의 URI를 메타데이터로 취하는 것을 표현한 것이다. 도 4의 Property Data Type(430)은 각 매개변수가 취할 수 있는 데이터 형식을 나타낸 것이다. 매개변수 메타데이터의 세번째 구성요소인 Converting Critieria(440)는 매개변수간 형식 및 의미 변환이 필요한 경우, 변환 기능을 제공하는 코드를 생성할 때 사용되는 변환 기준이다. 변환 기준은 상기 두번째 구성 요소인 Semantic Value Type(420)과 속성의 데이터 형식(430)에 따라 None(441,443,445), 변환기준이 되는 범위나 값 개념의 URI(442, 444), Format String(448,449)으로 분류된 값을 취할 수 있다.FIG. 4 is a diagram illustrating a relationship between information of metadata to which the present invention is applied. The
도 5는 본 발명에 따른 온톨로지 기반 컴포넌트 조립 기술을 이용한 소프트웨어 개발 시스템 및 그 방법에 따라 개발된 온톨로지(510, 520)와 컴포넌트들(530, 540, 560), 런타임 프레임워크(570)의 구조와 관계를 도시한 블록도이다, 도메인 온톨로지 구축 수단(111)을 통해 구축된 도메인 온톨로지(510), 확장 온톨로지 수단(112)을 통해 구축된 확장 온톨로지(520), 컴포넌트 개발 수단(130)을 통해 개발된 온톨로지 기반 메타데이터(532, 542)가 부가된 클라이언트 컴포넌트(530)와 서버 컴포넌트(540), 컴포넌트 조립 수단(140, 550)에 의해 생성된 중재 컴포넌트(560)와 그들 간의 관계가 표현되어 있다.5 is a schematic diagram of a software development system using ontology-based component assembly technology according to the present invention, and structures of
클라이언트 컴포넌트(530)의 서비스 요청 인터페이스(533)를 구현하도록 컴포넌트 조립 수단(550)에 의해 생성된 중재 컴포넌트(560)는 클라이언트 컴포넌트(530)와 서비스 컴포넌트(540)를 동적으로 조립함으로써, 클라이언트 객체(531)가 서버 객체(541)를 직접 처리하는 대신 중재 객체(561)만을 액세스하면서 동작할 수 있게 한다. The
또한 비즈니스 요구 사항이 바뀌어서 서버 컴포넌트(540)가 변하더라도, 컴포넌트 조립 수단(550)은 변경된 서버 컴포넌트(540)와 클라이언트 컴포넌트(530)의 새로운 중재 컴포넌트(550)를 자동 생성함으로써, 클라이언트 컴포넌트의 소스 코드 수정 없이도 변경된 서버 컴포넌트를 중재 컴포넌트를 통해 액세스할 수 있게 한다. In addition, even if the business requirements change and the
상기와 같은 구조를 갖는 온톨로지와, 클라이언트 컴포넌트, 서버 컴포넌트를 생성하고 컴포넌트 조립 수단을 통해 중재 컴포넌트를 생성함으로써 소프트웨어를 개발하는 시스템의 동작과정을 도 6및 도 7를 참조하여 설명한다.An ontology having the above structure, an operation process of a system for developing software by generating a client component and a server component and generating an arbitration component through component assembly means will be described with reference to FIGS. 6 and 7.
도 6을 참조하면, 도메인 온톨로지 구축 수단이 애플리케이션이 속한 도메인의 개념들과 개념들 간의 관계를 모델링하는 사용자 인터페이스를 제공하여 도메인 온톨로지를 구축하고(S610), 애플리케이션의 요구사항 변화에 따라 상기 도메인 온톨로지의 개념들과 관계를 갖는 새로운 개념들을 추가하여 확장 온톨로지를 구축하고(S620), 클라이언트 컴포넌트의 서비스 요청 인터페이스와 서버 컴포넌트의 서비스 제공 인터페이스를 명시적으로 갖춘 컴포넌트를 구현한다(S630). 상기 과정을 거쳐 컴포넌트 구현시 정의한 인터페이스들을 구성하는 메소드들의 입력 및 출력 매개변수 각각에 대하여, 도메인 온톨로지 및 확장 온톨로지의 개념과 관계들을 이용하여 매개변수의 의미, 매개변수가 취할 값, 매개변수의 변환 기준 정보를 표현한 메타데이터를 부가한다(S640). 클라이언트 컴포넌트의 서비스 요청 인터페이스에 부가된 메타데이터와 서버 컴포넌트의 서비스 제공 인터페이스에 부가된 메ㅌ타650)데이터를 읽어 들이고, 이들을 도메인 및 확장 온톨로지들과 비교하여 인터페이스간 중재 컴포넌트 코드를 자동 생성한다(S650).Referring to FIG. 6, the domain ontology building means provides a user interface for modeling the concepts of the domain to which the application belongs and the relationships among the concepts to construct the domain ontology (S610), and changes the domain ontology according to the requirements of the application. By adding new concepts having a relationship with the concepts of (S620), an extension ontology is built (S620), and a component having a service request interface of the client component and a service providing interface of the server component is implemented (S630). For each of the input and output parameters of the methods constituting the interfaces defined in the component implementation through the above process, the meaning of the parameter, the value that the parameter will take, and the parameter conversion using the concepts and relationships of the domain ontology and the extension ontology The metadata expressing the reference information is added (S640). It reads metadata added to the service request interface of the client component and
도 7은 도 6의 중재 컴포넌트의 자동 생성 과정을 보다 상세히 도시한 흐름도로서, 위에서 설명한 각 수단들과 온톨로지 및 메타데이터 정보들과 관련 지어 설명한다. 컴포넌트 조립 수단(550)은, 클라이언트 컴포넌트(530)의 서비스 요청 인터페이스(533)의 메소드(이후 본 발명에서는 서비스 요청 메소드라 지칭)들의 각 매개변수들에 부가된 메타데이터(532)와 서버 컴포넌트(540)의 서비스 제공 인터페이스(543)의 메소드(이후 본 발명에서는 서비스 제공 메소드라 지칭)들의 각 매개변수에 부가된 메타데이터(542)들을 읽어(S710), 각 매개변수의 의미에 해당하는 개념들을 도메인 온톨로지(510)와 확장 온톨로지(520)에서 추론 기능을 사용해 비교함으로써 매핑되는 매개변수들의 쌍들을 자동 식별하는 단계(S720)와, 식별된 모든 매개변수쌍들 중 변환 코드가 생성되지 않은 매개변수쌍을 선택하는 단계(S730), 선택된 매개변수쌍의 메타데이터에서 매개변수 변환 기준을 읽어 그 변환 기준에 따라 분기하는 단계(S740), 매개변수 변환 기준이 ‘없음(None)'(441,443,445)이면 두 매개변수의 데이터 타입을 비교하여 단순 데이터 타입 변환 코드를 생성하는 단계(S750), 상기 단계 (S740)에서 읽은 매개변수 변환 기준이 단위의 이름(446)이면 두 매개변수의 값을 해당 단위에 맞게 변환하는 코드를 생성하는 단계(S760), 상기 단계 (S740)에서 읽은 매개변수 변환 기준이 온톨로지에서 범위나 값을 나타내는 개념이고, 매개변수의 의미가 밸류 세트 패턴의 휘처 개념이면서 매개변수가 취할 값이 개체 이름(442,444)일 경우, 변환할 매개변수의 온톨로지와 변환될 매개변수의 온톨로지에서 밸류 세트의 각 개체들(221,222)과 관계로 연결된 범위나 값들(231,232)을 상호 비교하여 의미상 등가의 개체들을 찾고, 변환할 매개변수의 값에 해당하는 개체의 이름을 변환될 매개변수의 온톨로지에 있는 등가의 개체 이름으로 변환해주는 코드를 생성하는 단계(S770), 상기 단계 (S730) 내지 (S780)를 모든 매개변수쌍에 대하여 변환 코드가 만들어질 때까지 반복하는 단계(S790)를 거쳐 중재 컴포넌트 코드를 완성한다.FIG. 7 is a flowchart illustrating the automatic generation of the arbitration component of FIG. 6 in more detail, and is described in relation to the above-described means, ontology and metadata information. The component assembling means 550 may include a server component (
이하, 본 발명에 따른 컴포넌트 조립 방법을 실제적인 예를 통해 구체적으로 설명하기 위해 C# 프로그래밍 언어로 개발한 수입의류 판매관리 소프트웨어의 클라이언트 컴포넌트 코드, 서버 컴포넌트 코드, 클라이언트 컴포넌트의 서비스 요청 메소드와 서버 컴포넌트의 서비스 제공 메소드들의 각 매개변수에 부가된 메타데이터 및 자동 생성된 중재 컴포넌트 코드를 도시한 도면을 참조하여 상세히 설명한다.Hereinafter, the client component code, the server component code, the service request method of the client component and the server component of the imported clothing sales management software developed in the C # programming language to explain the component assembly method according to the present invention in detail through practical examples. The metadata added to each parameter of the service providing methods and the automatically generated mediation component code will be described in detail with reference to the drawings.
본 발명에 따른 실시예는 의류 수입업체의 상품 정보 제공 프로그램이다. 이 프로 그램은 고객이 요청한 의류상품에 대한 가격 정보를 제공하는 것이다. 수입업체는 현재 유럽 상품을 취급하고 있으나 점차 미국, 중국 등 다양한 국가의 의류상품을 거래할 계획이다. An embodiment according to the present invention is a product information providing program of a clothing import company. This program provides price information on the apparel products requested by the customer. Importers currently deal with European merchandise, but plan to gradually trade apparel products in various countries, including the US and China.
먼저 도메인 엔지니어링을 통해 서비스 요구사항과 가변성을 식별한다. 서비스 요구사항은 고객 아이디와 상품 아이디를 매개변수로 받아 고객 아이디를 통해 고객의 사이즈를 검색한 후 고객 사이즈에 해당하는 상품의 가격 정보를 유럽 의류회사에 문의하여 고객에게 상품 가격 정보를 제공해야 한다. 도메인 엔지니어링을 통해 식별된 가변 요구사항은 유럽 이외의 다양한 국가들과 수입 협약을 맺을 경우 각 국가마다 의류 사이즈 및 통화 단위가 다른 체계를 한국에 맞게 자동 변환하여 고객에게 정보를 제공할 수 있어야 한다.First, domain engineering identifies service requirements and variability. For service requirements, take the customer ID and the product ID as parameters, retrieve the customer's size through the customer ID, and contact the European clothing company with the price information of the product corresponding to the customer's size. . The variable requirements identified through domain engineering should be able to provide information to customers by automatically converting different apparel sizes and currency units to Korea when entering into import agreements with various countries outside Europe.
상기 도 2에서 설명한 온톨로지는 본 예시에 의해 구축된 온톨로지의 일부이다. 도 2는 수입의류 판매관리 애플리케이션의 도메인 온톨로지와 각 국가별 확장 온톨로지 중 의류사이즈 체계 개념을 도시한 것이다. 한국 수입업체의 주문관리 프로그램 개발자(설계자/아키텍트)는 한국의 의류 사이즈 체계를 모델링하기 위해 도메인 온톨로지에서 의류 사이즈 체계를 의미하는 개념 Clothes_TSize(210)의 서브 개념인 Korea_TSize(221)를 포함하는 확장 온톨로지를 구축하였다. Clothes_TSize는 SizeCode 개념(230)의 개체를 값으로 취하는 hasCode 관계(240)를 갖고, 상기 도 2에서 설명한 밸류 세트 패턴을 지원한다. Korea_TSize 개념은 의류 사이즈 체계를 나타내는 열거 개체(221)로써 '44', '55', '66', '77', '88'을 갖고, 한국에서 사용하는 의류사이즈를 나타내는 각 개체들은 hasCode 속성 관계로 사이즈를 코드로 나타내는 SizeCode 개념의 개체(231)를 값으로 갖는다. 유럽 회사의 의류 관리 프로그램 개발자(설계자/아키텍트)는 유럽의 의류 사이즈 체계를 모델링하기 위해 도메인 온톨로지에서 의류 사이즈를 의미하는 개념 Clother_TSize(210)의 서브 개념인 Europe_TSize(212)를 포함하는 확장 온톨로지를 구축하였다. Europe_TSize 개념은 유럽 의류 사이즈를 나타내는 열거 개체(222)로써 "0", "1", "2", ..., "16", "17", "18"을 갖고, 유럽 사이즈를 나타내는 각 개체들은 hasCode 속성 관계로 사이즈를 코드로 나타내는 SizeCode 개념의 개체(232)를 값으로 갖는다.The ontology described in FIG. 2 is a part of the ontology constructed by the present example. Figure 2 illustrates the concept of the clothing size system of the domain ontology of the imported clothing sales management application and the extended ontology for each country. The order management program developer (designer / architect) of a Korean importer is an extended ontology including Korea_TSize (221), which is a sub-concept of the concept Clothes_TSize (210), which means the clothing size system in the domain ontology, in order to model the Korean clothing size system. Was built. Clothes_TSize has a
도 8은 의류수입관리 애플리케이션에서 사용하는 클라이언트 컴포넌트 OrderMgt (820)의 C# 코드를 보여준다. OrderMgt 컴포넌트는 고객 요청시 상품 가격 정보를 알려주는 기능을 처리하는 서비스 제공 메소드 GetProductPrices를 포함하고 있다. GetProductPrice는 상위 컴포넌트에서 요청한 기능을 처리하기 위해서는 하위 컴포넌트들을 호출해야 하므로 하위 컴포넌트가 제공하는 인터페이스에 의존하는 코드를 작성하는 대신 독자적으로 서비스 요청 인터페이스 IRqProduct(830)를 정의하고 서비스 요청 메소드들의 각 매개변수에 대하여, 온톨로지의 개념과 관계들을 이용하여 매개변수의 의미, 매개변수가 취할 값, 매개변수의 변환 기준 정보를 표현한 메타데이터(831)가 부가되어 있다. 이를 상세히 설명하면 OrderMgt 컴포넌트의 서비스 요청 인터페이스에 메타데이터를 기술하기 위해 사용하는 온톨로지들의 네임 스페이스가 MetaOntologyNS라는 커스텀 애트리뷰트(810)로 부가되어 있다. 도메인 온톨로지의 네임스페이스는 DomainCMgt로, 수입업체 애플리케이션 온톨로지의 네임스페이스를 KorCMgt로 정의하고 있음을 볼 수 있다. 서비스 요청 인터페이스의 메소드 중 RequestProductPrice의 두번째 매개변수에 부가된 메타데이터(840) 중 매개변수 이름(841)을 제외한 도 3과 4에서 설명한 실제 매개변수에 대한 정보는 842, 843, 844에 나타내고 있다.“DomainCMgt:Clothes_TSize”(842)은 매개변수 size가 도메인 온톨로지에 정의되어 있는 Clothes_TSize라는 개념을 갖는 것을 나타낸다. "KorCMgt:IndividualSymbol”(843)은 수입업체 애플리케이션 확장 온톨로지에서 Clothes_TSize의 서브개념의 열거 개체(221) 중 하나의 이름을 size 매개변수의 값으로 취할 수 있음을 나타낸다. 메타데이터 "DomainCMgt:SizeCode”(844)는 매개변수인 size를 변환할 때, 해당 매개변수의 밸류 세트의 각 개체들과 hasCode 관계(243)로 연결된 SizeCode(230)의 개체 값이 변환 기준이 됨을 의미한다. 또한 상품 가격은 한국 화폐 단위 "원"(851)이 반환값임을 메타데이터(850)로 표현한다. 8 shows the C # code of the
도 9는 의류수입관리 애플리케이션에서 사용하는 서버 컴포넌트 ProductMgt (920)의 C# 코드를 보여준다. ProductMgt 컴포넌트는 특정 상품의 가격 정보를 알려주는 기능을 처리하는 GetClothesPrice 메소드(921)를 포함하고 있다. GetClothesPrice 메소드의 각 매개변수 각각에 대하여, 온톨로지의 개념과 관계들을 이용하여 매개변수의 의미, 매개변수가 취할 값, 매개변수의 변환 기준 정보를 표현한 메타데이터(922)가 부가되어 있다. 이를 상세히 설명하면 서비스 제공 메소드 GetClothesPrice의 두번째 매개변수에 부가된 메타데이터(930) 중 매개변수 이름(931)을 제외한 실제 매개변수에 대한 정보는 932, 933, 934에 나타내고 있다.“DomainCMgt:Clothes_TSize”(932)는 매개변수 size가 도메인 온톨로지에 정의되어 있는 Clothes_TSize라는 개념을 갖는 것을 나타낸다. "EuCMgt:IndividualSymbol”(933)은 의류회사 애플리케이션 확장 온톨로지에서 Clothes_TSize의 서브개념의 열거 개체(221) 중 하나의 이름을 size 매개변수의 값으로 취할 수 있음을 나타낸다. 메타데이터 "DomainCMgt:SizeCode”(934)는 매개변수인 size를 변환할 때, 해당 매개변수의 밸류 세트의 각 개체들과 hasCode 관계(243)로 연결된 SizeCode(230)의 개체 값이 변환 기준이 됨을 의미한다. 또한 상품 가격을 유로화(941)로 반환하는 정보가 메타데이터(940)로 표현된다. 9 shows the C # code of the
도 10은 컴포넌트들을 조립할 때 자동 생성되는 중재 컴포넌트 RqProduct 코드(A10)를 보여준다. 클라이언트 컴포넌트 메소드 GetProductPrice(821)내에 독자적으로 정의한 서비스 요청 메소드 RequestProductPrice의 메타데이터(831)와 서비스 제공 메소드 GetClothesPrice(921)의 메타데이터(922)를 읽어 중재 컴포넌트 코드를 자동 생성된다. 서비스 요청 메소드의 매개변수 중 size는 메타데이터(840)를 통해 한국에서 사용하는 의류 사이즈이고 서버 제공 메소드의 size는 메타데이터(923)를 통해 유럽에서 사용하는 의류 사이즈이므로 도메인 온톨로지와 확장 온톨로지를 읽어 변환 코드(A30)를 생성한다. 또한 서버 제공 메소드는 상품 가격을 유로화로 반환 정보와, 서비스 요청 메소드는 상품가격을 원화로 반환 정보의 변환 기준을 메타데이터(941, 851)를 통해 검색하여 화폐 단위 변환 코드(A40)를 자동 생성한다.이 코드(A30, A70)들은 상기 설명한 도 7의 데이터 타입 컨버터 자동 생성 알고리즘에 의해 생성되므로 의류수입업체가 다른 나라와 수입거래를 맺어 다른 단위와 화폐를 사용하더라도 자동으로 재생성할 수 있다.10 shows an arbitration component RqProduct code A10 which is automatically generated when assembling the components. The mediation component code is automatically generated by reading the metadata 831 of the service request method RequestProductPrice and the metadata 922 of the service providing
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 개시된 실시예나 특정 용어들은 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위해서 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 기재된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, optimal embodiments have been disclosed in the drawings and the specification. The embodiments or specific terms disclosed herein are used for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
본 발명에 의한 온톨로지 기반 컴포넌트 조립 기술을 이용한 소프트웨어 개발 시스템 및 그 방법은 다계층 구조로 개발되는 엔터프라이즈 소프트웨어 및 소프트웨어 프러덕트 라인이나 애플리케이션 프레임워크를 개발하는데 이용할 수 있고, 서비스 컴포넌트의 재사용과 유지 보수를 용이하게 함으로써 소프트웨어 개발 비용과 총소유 비용을 절감할 수 있게 한다.Software development system and method using ontology-based component assembly technology according to the present invention can be used to develop enterprise software and software product lines or application frameworks developed in a multi-layered structure, and reuse and maintenance of service components This makes it easy to reduce software development costs and total cost of ownership.
도 1은 본 발명에 따른 온톨로지 기반 컴포넌트 조립 시스템의 구성을 도시한 블록도.1 is a block diagram showing the configuration of an ontology-based component assembly system according to the present invention.
도 2는 본 발명을 적용한 도메인 온톨로지와 확장 온톨로지 정보를 도시한 예시도2 is an exemplary diagram illustrating domain ontology and extended ontology information to which the present invention is applied.
도 3은 본 발명을 적용한 메타데이터가 포함할 정보를 도시한 예시도.3 is an exemplary diagram illustrating information to be included in metadata to which the present invention is applied.
도 4는 본 발명을 적용한 메타데이터의 정보간 관계를 도시한 예시도.4 is an exemplary diagram showing a relationship between information of metadata to which the present invention is applied.
도 5는 본 발명에 따른 온톨로지 기반 컴포넌트 조립 시스템 및 그 방법에 따라 개발된 온톨로지와 컴포넌트들, 런타임 프레임워크의 구조와 관계를 도시한 블록도.5 is a block diagram showing the structure and relationships of the ontology-based component assembly system and the ontology and components, runtime framework developed according to the method according to the present invention.
도 6은 본 발명에 따른 온톨로지 기반 컴포넌트 조립 방법의 과정을 도시한 흐름도.6 is a flowchart illustrating a process of ontology-based component assembly method according to the present invention.
도 7는 도 6의 중재 컴포넌트 자동 생성 과정을 보다 상세하게 도시한 흐름도.7 is a flow chart illustrating in more detail the process of automatically generating an arbitration component of FIG.
도 8은 본 발명을 적용한 클라이언트 컴포넌트 코드를 도시한 예시도.8 is an exemplary diagram illustrating a client component code to which the present invention is applied.
도 9는 본 발명을 적용한 서버 컴포넌트 코드를 도시한 예시도.9 is an exemplary diagram showing a server component code to which the present invention is applied.
도 10은 본 발명을 적용하여 자동 생성된 중재 컴포넌트 코드를 도시한 예시도.10 illustrates an arbitration component code automatically generated by applying the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090105220A KR101101519B1 (en) | 2009-11-03 | 2009-11-03 | A Software Development System and Method using an Ontology based Component Assembly Technology |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090105220A KR101101519B1 (en) | 2009-11-03 | 2009-11-03 | A Software Development System and Method using an Ontology based Component Assembly Technology |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090122898A KR20090122898A (en) | 2009-12-01 |
KR101101519B1 true KR101101519B1 (en) | 2012-01-04 |
Family
ID=41685312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090105220A KR101101519B1 (en) | 2009-11-03 | 2009-11-03 | A Software Development System and Method using an Ontology based Component Assembly Technology |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101101519B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200044185A (en) | 2018-10-08 | 2020-04-29 | 한국전자통신연구원 | Apparatus and method for selecting robot service block |
KR102453463B1 (en) | 2022-05-25 | 2022-10-14 | (주)헤이븐솔루션 | Apparatus for developing application based on JAVA and method thereof |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120100457A (en) * | 2011-03-04 | 2012-09-12 | 애니포인트 미디어 그룹 | Method for executing applications using service components and computer-readable medium storing program which performs the same |
KR102327083B1 (en) * | 2020-09-14 | 2021-11-15 | 한화시스템 주식회사 | System and method for sharing software component |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070112755A (en) * | 2007-11-07 | 2007-11-27 | 정안모 | A method for software development and operation based on component reuse and dependency injection |
US20080168420A1 (en) | 2006-03-17 | 2008-07-10 | The Mitre Corporation | Semantic system for integrating software components |
KR101110202B1 (en) * | 2010-08-02 | 2012-02-16 | (주)엔써즈 | Method and system for generating database based on mutual relation between moving picture data |
-
2009
- 2009-11-03 KR KR1020090105220A patent/KR101101519B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168420A1 (en) | 2006-03-17 | 2008-07-10 | The Mitre Corporation | Semantic system for integrating software components |
KR20070112755A (en) * | 2007-11-07 | 2007-11-27 | 정안모 | A method for software development and operation based on component reuse and dependency injection |
KR101110202B1 (en) * | 2010-08-02 | 2012-02-16 | (주)엔써즈 | Method and system for generating database based on mutual relation between moving picture data |
Non-Patent Citations (2)
Title |
---|
정보과학회논문지: 소프트웨어 및 응용 제34권 제12호 임윤선외 3인공저 컴포넌트 재사용을 지원하는 컴포넌트 모델 및 프레임워크 pp.1011-1020(2007.12) |
한국정보과학회 2007 한국컴퓨터종합학술대회 논문집 제34권 제1호(B) 임윤선외 2인공저 독립적으로 개발된 바이너리 컴포넌트들의 조립을 지원하는 컴포넌트 모델 pp.138-142 (2007.6) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200044185A (en) | 2018-10-08 | 2020-04-29 | 한국전자통신연구원 | Apparatus and method for selecting robot service block |
KR102453463B1 (en) | 2022-05-25 | 2022-10-14 | (주)헤이븐솔루션 | Apparatus for developing application based on JAVA and method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20090122898A (en) | 2009-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11720418B2 (en) | Distillation of various application interface data structures distributed over distinctive repositories to form a data source of consolidated application interface data components | |
García-Galán et al. | Automated configuration support for infrastructure migration to the cloud | |
Ghazouani et al. | A survey on cloud service description | |
Merle et al. | A precise metamodel for open cloud computing interface | |
Sun et al. | Survey of service description languages and their issues in cloud computing | |
CN111913713B (en) | Heterogeneous service integration method based on service call tracing | |
Cretella et al. | A semantic engine for porting applications to the cloud and among clouds | |
Bergmayr et al. | Cloud modeling languages by example | |
KR101101519B1 (en) | A Software Development System and Method using an Ontology based Component Assembly Technology | |
US9299049B2 (en) | Contract-based process integration | |
Corcho et al. | A high-level ontology network for ICT infrastructures | |
Ghiran et al. | The model-driven enterprise data fabric: A proposal based on conceptual modelling and knowledge graphs | |
Zhao et al. | Semantic Web-based geospatial knowledge transformation | |
Barrasa et al. | Building Knowledge Graphs | |
CN101771712A (en) | Method for managing Web service registry | |
Zhang et al. | A policy-driven approach for software-as-services customization | |
Giallorenzo et al. | Model-driven generation of microservice interfaces: From LEMMA domain models to Jolie APIs | |
Kaltman et al. | Implementing controlled vocabularies for computer game platforms and media formats in SKOS | |
KR101101459B1 (en) | An Ontology based Data Variability Processing System and Method | |
Zhang et al. | Activity based CIM modeling and transformation for business process systems | |
Nepal et al. | An Ontology-based System for Cloud Infrastructure Services’ Discovery | |
Lehmann et al. | The geoknow handbook | |
Hidri et al. | An ontology for composite cloud services description | |
Arévalo et al. | Formal concept analysis-based service classification to dynamically build efficient software component directories | |
US20240168967A1 (en) | Customized interaction between networked resources and users |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20141215 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151029 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20161223 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |