KR101276200B1 - Emf 모델의 동기화 방법 및 시스템 - Google Patents

Emf 모델의 동기화 방법 및 시스템 Download PDF

Info

Publication number
KR101276200B1
KR101276200B1 KR1020090089612A KR20090089612A KR101276200B1 KR 101276200 B1 KR101276200 B1 KR 101276200B1 KR 1020090089612 A KR1020090089612 A KR 1020090089612A KR 20090089612 A KR20090089612 A KR 20090089612A KR 101276200 B1 KR101276200 B1 KR 101276200B1
Authority
KR
South Korea
Prior art keywords
model
weights
update
emf
sum
Prior art date
Application number
KR1020090089612A
Other languages
English (en)
Other versions
KR20110032222A (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 KR1020090089612A priority Critical patent/KR101276200B1/ko
Priority to US12/788,651 priority patent/US8789009B2/en
Publication of KR20110032222A publication Critical patent/KR20110032222A/ko
Application granted granted Critical
Publication of KR101276200B1 publication Critical patent/KR101276200B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

XML 엘리먼트 경로를 속성으로 갖는 EMF모델에 대하여, 모델의 변경이 있을 때마다 변경된 모델 내의 객체 식별자에 대해서 계층에 따른 가중치를 산출하고, 가중치를 누적하여 가중치의 합이 미리 정한 임계값 이상이 될 경우, 그 때까지 변경된 모델을 일괄적으로 업데이트하여 변경 내용을 동기화한다. 가중치는 XML 경로상에서 변경된 식별자가 속한 계층이 높을수록 큰 값을 갖도록 결정된다.
Figure R1020090089612
EMF, 참조 경로, AUTOSAR, Ecore, XML 경로

Description

EMF 모델의 동기화 방법 및 시스템{EMF model synchronization method and system}
본 발명은 EMF모델의 동기화 방법 및 시스템에 관한 것으로서, 보다 상세하게는 XML 엘리먼트 경로를 속성으로 가지는 EMF모델에 변경이 발생하였을 때 이를 동기화하는 방법 및 그 시스템에 관한 것이다.
본 발명은 지식경제부 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2008-S-007-02, 과제명: 차량 전장용 통합제어 SW 플랫폼 개발].
이클립스(Eclipse)는 다양한 플랫폼에서 쓸 수 있으며, 자바(Java)를 비롯한 다양한 언어를 지원하는 프로그래밍 통합 개발 환경이다. 이는 자바로 작성되어 있으며, 자유 소프트웨어이다.
EMF(Eclipse Modeling Framework)는 구조화된 모델에 기반한 툴 및 기타 응용을 만들기 위한 이클립스 기반 모델링 프레임워크로서, 모델을 구성하는 자바 클래스들을 생성하기 위한 일련의 도구와 런타임 환경을 제공한다. EMF는 이러한 도구들을 통하여 운용하고자 하는 모델을 효율적이고 쉽게 커스터마이징할 수 있는 자바 코드로 생성해 준다.
EMF는 다시 다음과 같은 세 개의 기본적인 프레임워크로 구성되어 있다. 도 1은 EMF의 기본구성을 도시하는 도면이다.
도 1에 나타난 바와 같이, EMF(100)를 구성하는 세 개의 프레임워크는 EMF(Core)(110), EMF.Edit(120), EMF.Codegen(130)이다.
EMF(Core)(110)는 EMF의 핵심 프레임워크로서 모델(11)을 기술하기 위한 메타모델(Ecore)과 변경통지(change notification), XMI 직렬화(serialization)를 통한 항상성 보장(persistence support), EMF 객체를 핸들링하기 위한 효율적인 재귀 API(reflective API) 등을 포함한 모델을 위한 런타임 지원환경을 포함한다.
EMF.Edit 프레임워크(120)는 EMF 편집기(12)를 만들기 위한 일반적이고 재사용가능한 클래스들을 포함한다.
EMF.Codegen(130)는 EMF 코드생성기이다.
EMF(core)(110)와 EMF.Edit(120)는 이클립스 플랫폼(10)에서 구동되며, 각각 모델(11)과 편집기(12)를 지원하는 기능을 갖는다. 이 EMF 런타임들은 다시 EMF 툴인 코드 생성기(130)를 거쳐서 사용자 응용 소스인 모델(11)과 편집기(12)를 생성하게 된다.
EMF는 그 자체가 Ecore라는 모델에 기반하고 있는데, 이는 EMF에 의해 다루어지는 모든 응용 모델에 대한 메타-모델이다. Ecore 모델은 클래스 계층구조를 갖고 있으며, EMF 모델을 구성하는 클래스들은 기본적으로 이 계층구조에 속한 클래스들의 어느 하나를 상속받아서 만들어지게 된다.
EMF는 모델에서 변경사항이 발생하였을 때 그 변경을 통지받을 수 있는 방법을 제공한다. 즉 Ecore 모델 내의 Eobject클래스는 기본적으로 통지자(notifier)의 역할을 할 수 있으며, 이 경우 원본 클래스의 인스턴스를 참조하는 모델이라면 변경 사항을 통지받아 이를 각 모델을 동기화하는 데에 사용할 수 있다.
한편, AUTOSAR(Automotive Open System Architecture)는 차량에 들어가는 전기/전자 제어 장치(ECU: Electric/Electronic control unit)를 위한 공용 개발 플랫폼을 만드는 것을 목표로 하여 소프트웨어 아키텍쳐, 응용 인터페이스, 개발방법론 등을 제시하고 있다.
AUTOSAR 가 제시하는 방법론에 따르면, 디자인 모델로부터 특정 ECU 시스템 아키텍쳐를 구성하기 위해서는 (1) 디스크립션 입력 (2) 시스템 설정 (3) ECU 설정 (4) 소스코드 생성의 4단계를 거치도록 되어 있다. 이 중 마지막의 소스코드 생성 절차에서는 AUTOSAR에서 제공하는 XML schema를 활용하는데, 이 XML schema를 모델링하는 방법으로 EMF가 주로 사용된다. EMF가 자체적으로 모델을 생성하는 것 외에 기존의 UML이나 XML로 기술된 모델을 읽어들여 자체 모델인 Ecore 모델로 변환시켜 사용하는 기능을 제공하기 때문이다.
이렇게 만들어진 Ecore 모델은 모델을 구성하는 클래스 인스턴스들 사이에 다양한 관계를 가지며 구성된다. 따라서 모델을 구성하는 클래스 인스턴스가 변경되면 자신의 변경 상태를 전체 모델에 알려야 하는데, 이는 앞서 설명한 바와 같이 EMF자체에서 제공하는 통지 방법을 이용하여 구현될 수 있다.
그러나, AUTOSAR schema를 이용해 EMF 에서 구성된 모델의 경우, 그 구조상 원본 클래스의 인스턴스를 참조하는 것이 아니라 모델의 쇼트네임(short name)으로 구성된 경로(path)를 값으로 하여 참조하는 속성(attribute)이 많이 존재한다. 따라서 이 경우에는 메인 모델이 변경된 경우 그 모델을 참조하는 객체들의 참조 경로(reference path)를 변경해주어야 하는데, 전체 모델이 크고 복잡할수록 변경이 발생할 때마다 객체의 참조 경로를 변경하는 것은 매우 비효율적이 될 수 있다.
본 발명은 상기와 같은 문제를 해결하기 위하여 창출된 것으로서, 본 발명의 목적은 EMF 모델의 변경이 발생한 경우 이러한 변경을 효과적으로 처리할 수 있는 방법과 그 시스템을 제공하는 데 있다.
상기와 같은 본 발명의 목적은, 모델에 변경이 발생하면, 변경된 모델 내의 객체 식별자에 대해서 계층에 따른 가중치를 산출하는 단계, 산출된 가중치를 가중치의 합에 누적하는 단계, 누적된 가중치의 합을 미리 정한 임계값과 비교하는 단계, 비교 결과 가중치의 합이 임계값보다 크면 모델에 발생한 변경사항을 상기 모델과 업데이트 목록에 포함된 모든 모델에 업데이트하는 단계를 포함하는 EMF 모델 동기화 방법에 의해 달성 가능하다.
여기에서, 계층에 따른 가중치는 XML 경로상에서 변경된 식별자가 속한 계층이 높을수록 큰 값을 갖도록 산출되는 것이 바람직하다.
또한 상기 비교 결과 가중치의 합이 임계값보다 크지 않으면 상기 모델을 업데이트 목록에 추가할 수 있다.
한편, 상기 EMF 모델 동기화 방법은, 비교 결과 가중치의 합이 임계값보다 크지 않으면 미리 설정된 업데이트 타이머가 만료하였는지 판단하는 단계와 업데이트 타이머가 만료하였으면 모델에 발생한 변경사항을 상기 모델과 업데이트 목록에 포함된 모든 모델에 업데이트하는 단계를 더 포함할 수도 있으며, 업데이트 타이머 가 만료하였으면 업데이트 타이머를 재설정하는 단계를 더 포함할 수도 있다.
상기 모델은 AUTOSAR에서 제공하는 XML schema를 이용하여 작성된 모델일 수 있다.
또한, 상기와 같은 본 발명의 목적은, 모델에 변경이 발생하면, 상기 모델을 업데이트 목록에 추가하는 단계, 상기 모델 내의 객체 식별자에 대해서 계층에 따른 가중치를 산출하는 단계, 산출된 가중치를 가중치의 합에 누적하는 단계, 누적된 가중치의 합을 미리 정한 임계값과 비교하는 단계, 상기 비교 결과 가중치의 합이 임계값보다 크면 상기 모델에 발생한 변경사항을 업데이트 목록에 포함된 모든 모델에 업데이트하는 단계를 포함하는 EMF 모델 동기화 방법에 의하여도 달성 가능하다.
상기와 같은 본 발명의 목적은, 객체의 경로를 참조하는 속성이 존재하는 EMF 모델에 있어서 모델에 대한 변경이 발생하면 변경된 모델 내의 객체 식별자에 대해서 계층에 따른 가중치를 산출하여 산출된 가중치를 가중치의 합에 누적하는 가중치 산출부, 가중치 산출부에 의해 누적된 가중치의 합을 미리 정한 임계값과 비교하는 비교부, 변경된 모델의 목록을 저장하는 업데이트 목록, 비교부에 의한 비교 결과 가중치의 합이 임계값보다 크면 모델에 발생한 변경사항을 업데이트 목록에 포함된 모델에 업데이트하는 업데이트부를 포함하는 EMF 모델 동기화 시스템에 의해서도 달성 가능하다.
여기에서, EMF 모델 동기화 시스템은 업데이트가 완료되면 업데이트 목록을 초기화하는 것이 바람직하며, 미리 정한 일정시간이 경과하면 업데이트를 수행하도 록 하는 타이머를 더 포함할 수도 있다.
본 발명에 의하면, AUTOSAR에서 제공하는 XML schema를 이용하여 생성된 모델과 같이 객체의 경로를 참조하는 속성이 존재하는 EMF 모델에 대해서 변경이 발생한 경우 이러한 변경을 효과적으로 전체 모델에 반영할 수 있다.
즉, EMF 모델을 동기화하는 방법에 있어서, 모델에 변경이 발생할 때마다 업데이트를 수행하지 않고 일정분량의 작업을 모아서 일괄 처리하는 방식을 취함으로써 경제적으로 업데이트를 수행할 수 있다. 한편, 이러한 일괄 처리에 따라 처리가 지연되는 동안 발생할 수 있는 오버헤드를 방지하기 위하여, XML 엘리먼트 경로를 구성하는 각 식별자의 계층별로 상위계층으로 갈수록 높은 가중치 값을 두어 높은 계층에 속하는 식별자가 변경되면 짧은 시간 안에 업데이트 작업을 수행하도록 하여 하위 계층의 변경사항이 추가로 발생하는 것을 최소화한다. 따라서 주기적인 일괄작업을 수행하여 시스템의 부하를 줄이면서도 그로 인해 발생하는 부작용을 최소화할 수 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알 려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하에서 첨부한 도면을 참고로 하여 본 발명의 바람직한 실시예를 설명하기로 한다. 본 발명의 실시예에서는 AUTOSAR XML schema를 변환하여 생성한 EMF 모델을 예로 들어 설명한다.
XML로 표현된 문서의 특정 엘리먼트를 가리키는 XML엘리먼트 경로는 예를 들면 다음과 같이 표현된다.
/AUTOSAR/Com/ComConfig/ComIPduGroup
이 때, '/'로 구분되는 각 식별자는 XML문서의 구성 계층을 나타낸다. 본 발명의 실시예에서 제시된 AUTOSAR에서는 이 식별자를 쇼트네임(short name)이라고 부른다.
AUTOSAR XML schema를 변환하여 생성한 EMF 모델은 이러한 XML 경로를 속성으로 갖고, 이 속성을 이용해서 상호 참조를 한다. 따라서, 만약 이 경로를 구성하는 식별자 중 가장 마지막 계층의 식별자가 아닌 다른 식별자의 내용이 변경된다면, 변경된 식별자를 포함하는 경로를 속성으로 갖는 모든 객체들이 이에 따라 업데이트되어야 한다. 따라서 식별자가 속한 계층이 높을수록 많은 업데이트가 필요 하게 될 것을 예상할 수 있다.
따라서 본 발명의 실시예에서는 XML 엘리먼트 경로 속성이 변경된 객체에 대해서, 그 변경된 경로 부분이 전체 경로에서 몇번째 계층에 있는지를 알아내어, 각 계층별로 계층이 높으면 상대적으로 큰 값을 갖고 계층이 낮으면 상대적으로 낮은 값을 갖도록 가중치를 부여하고, 이 가중치 값을 계속 누적한 다음 가중치의 합이 소정의 임계값을 넘거나 일정 시간이 경과하면 모델 업데이트 작업을 일괄적으로 수행함으로써 전체 모델을 동기화한다. 한편, 이와 같은 일괄적인 모델 업데이트 작업을 위해 본 발명의 실시예에서는 업데이트될 모델의 목록을 관리하는 자료구조를 관리한다. 업데이트될 모델의 목록은 스택과 같은 형태의 자료구조로 저장될 수 있다.
도 2는 본 발명의 실시예에 따른 모델 동기화 방법을 나타내는 흐름도이다.
도 2에 나타난 바와 같이, 모델의 변경이 있으면(S210), 변경된 모델 내의 객체 식별자에 대해서 계층에 따른 가중치를 산출한다(S220).
가중치의 값은 변경된 객체 식별자의 계층에 따라 계층이 높을수록 큰 값을 갖고 계층이 낮을수록 작은 값을 갖도록 정하되, 모델이 적용되는 각 응용에 따라서 휴리스틱(heuristic)하게 정하도록 한다.
다음, 산출된 가중치를 기존의 가중치의 합에 더함으로써(S230), 가중치를 누적한다.
가중치의 합을 미리 정한 임계값과 비교한다(S240). 임계값은 일률적으로 정해지는 값이 아니며, 각 응용과 사용자의 요구에 따라 적절한 값으로 정하도록 한 다.
비교 결과(S240), 가중치의 합이 임계값 이하이면, S210 단계에서 변경된 모델을 업데이트 목록에 추가(S260)하고 업데이트는 하지 않는다.
비교 결과(S240), 가중치의 합이 미리 정한 임계값보다 크면, S210 단계에서 변경된 모델과 이미 업데이트 목록에 포함되어 있는 모델에 대해 일괄적으로 업데이트를 수행(S250)함으로써 전체 모델을 동기화한다.
본 발명의 다른 실시예에 따르면 지나치게 오랜 시간 동안 업데이트가 이루어지지 않는 것을 방지하기 위하여, 정해진 임계값 이하의 모델 변경이 있더라도 이전 업데이트로부터 일정시간이 경과하면 업데이트를 하도록 타이머를 설정할 수도 있다.
도 3은 본 발명의 다른 실시예에 따른 모델 동기화 방법을 나타내는 흐름도이다. 도 3에 나타난 본 발명의 다른 실시예에서도 모델의 변경 발생시에 가중치를 산출하고 이를 누적하여 가중치의 합이 임계값을 초과하면 업데이트를 수행하는 기본적인 흐름은 도 2를 참고로 설명한 본 발명의 실시예와 유사하다.
도 3에 나타난 바와 같이, 모델의 변경이 있으면(S310), 변경된 모델 내의 객체 식별자의 계층에 따른 가중치를 산출한다(S320). 산출된 가중치를 기존의 가중치의 합에 더한(S330) 다음, 임계값과 비교하여(S340) 가중치의 합이 임계값을 넘으면 이전 단계(S310)에서 변경된 모델과 이미 업데이트 목록에 포함되어 있는 모델에 대해 일괄적으로 업데이트를 수행한다(S350).
가중치의 합을 미리 정한 임계값과 비교(S340)한 결과, 가중치의 합이 임계 값 이하이면, 업데이트 타이머가 만료되었는지를 확인한다(S370).
확인 결과(S370) 업데이트 타이머가 만료되었으면, 이전 단계(S310)에서 변경된 모델과 이미 업데이트 목록에 포함되어 있는 모델에 대해 일괄적으로 업데이트를 수행(S350)함으로써 전체 모델을 동기화한다.
상술한 바와 같이, 업데이트 타이머는 지나치게 오랜 시간 동안 모델 변경에 따른 업데이트가 이루어지지 않는 것을 방지하기 위해 설정하는 것이므로 각 응용에 따라 적절한 시간으로 타이머를 설정할 수 있으며, 업데이트 타이머의 만료로 일괄적인 모델 업데이트가 이루어진 경우 업데이트 타이머를 재설정(reset)한다.
확인 결과(S370) 업데이트 타이머가 만료되지 않았으면, 이전 단계(S310)에서 변경된 모델을 업데이트 목록에 추가하고(S360), 업데이트는 하지 않는다.
모델 변경이 있을 경우 가중치를 산출하기 이전에 해당 모델을 먼저 업데이트 목록에 추가할 수도 있다.
도 4는 본 발명의 또다른 실시예에 따른 모델 동기화 방법을 나타내는 흐름도이다. 도 4에 도시한 실시예에서는 모델 변경이 있을 경우 해당 모델을 먼저 업데이트 목록에 추가하고 이후 과정을 수행한다.
도 4에 나타난 바와 같이, 모델의 변경이 있으면(S410), 변경된 모델을 업데이트 목록에 추가한다(S412).
다음, 변경된 모델 내의 객체 식별자의 계층에 따른 가중치를 산출하여(S420), 기존의 가중치의 합에 더한다(S430). 가중치의 합을 임계값과 비교하여(S440) 가중치의 합이 임계값을 넘으면 업데이트 목록에 포함되어 있는 모델에 대해 일괄적으로 업데이트를 수행하고(S450), 가중치의 합이 임계값 이하이면 업데이트 타이머가 만료되었는지 확인한다(S470). 확인 결과(S470), 업데이트 타이머가 만료되었으면 업데이트 목록에 포함되어 있는 모델에 대해 일괄적으로 업데이트를 수행하고(S450), 업데이트 타이머가 만료되지 않았으면 업데이트는 하지 않는다.
도 5는 본 발명의 또다른 실시예에 따른 EMF 모델 동기화 시스템을 개략적으로 도시한 구성도이다.
도 5에 나타난 바와 같이, EMF 모델 동기화 시스템(500)은 가중치 산출부(510), 비교부(520), 업데이트부(530) 및 업데이트 목록(540)을 포함하여 구성된다.
가중치 산출부(510)는 모델에 변경이 발생하면 변경된 모델 내의 객체 식별자에 대해서 계층에 따른 가중치를 산출하고, 산출된 가중치를 이전의 가중치의 합에 누적하여 새로운 가중치 값을 산출한다.
비교부(520)는 가중치 산출부(510)에 의해 산출된 가중치를 미리 정한 임계값과 비교한다.
업데이트부(530)는 비교부(520)에 의한 비교 결과 가중치가 임계값을 넘으면 업데이트 목록(540)에 저장되어 있는 모델에 대하여 일괄 업데이트를 수행한다.
업데이트 목록(540)은 변경된 모델의 목록을 저장하는 자료구조로서 스택과 같은 형태로 구성될 수 있다. 모델에 변경이 있을 경우 해당 모델을 바로 업데이트 목록(540)에 추가하거나, 비교부(520)에 의한 비교 결과 가중치가 임계값을 넘지 않으면 해당 모델을 업데이트 목록(540)에 추가할 수 있으며, 일단 업데이트가 완 료되면 업데이트 목록(540)은 다시 초기화된다.
또한, 본 발명의 또다른 실시예로서 EMF 모델 동기화 시스템은 가중치가 임계값을 넘지 않는 경우라도 일정한 시간이 경과하면 일괄 업데이트를 실행할 수 있도록 타이머를 설정하는 타이머 설정부(미도시)를 더 포함할 수도 있다.
한편, 본 발명의 실시예에서는 AUTOSAR에서 제공하는 XML schema를 이용해 작성된 EMF 모델의 예를 들어 설명하였지만, 본 발명의 모델 동기화 방법이 이에 한정되는 것은 아니며 그 외의 XML 경로를 속성으로 갖는 EMF 모델에 대해 적용 가능하다.
본 발명에 의한 모델 동기화 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들면 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
이상에서 바람직한 실시예를 기준으로 본 발명을 설명하였지만, 본 발명의 모델 동기화 방법은 반드시 상술된 실시예에 제한되는 것은 아니며 발명의 요지와 범위로부터 벗어남이 없이 다양한 수정이나 변형을 하는 것이 가능하다. 첨부된 특 허청구의 범위는 본 발명의 요지에 속하는 한 이러한 수정이나 변형을 포함할 것이다.
도 1은 본 발명의 EMF 모델을 생성하기 위한 EMF 프레임워크의 구성도,
도 2는 본 발명의 일 실시예에 따른 모델 동기화 방법의 흐름도,
도 3은 본 발명의 다른 실시예에 따른 모델 동기화 방법의 흐름도,
도 4는 본 발명의 또다른 실시예에 따른 모델 동기화 방법의 흐름도,
도 5는 본 발명의 또다른 실시예에 따른 EMF 모델 동기화 시스템을 개략적으로 도시한 구성도이다.

Claims (16)

  1. 객체의 경로를 참조하는 속성이 존재하는 EMF 모델에 있어서 상기 모델에 대한 변경이 발생하면, 변경된 상기 모델 내의 객체 식별자에 대해서 계층에 따른 가중치를 산출하는 단계,
    산출된 상기 가중치를 가중치의 합에 누적하는 단계,
    누적된 상기 가중치의 합을 미리 정한 임계값과 비교하는 단계,
    상기 비교 결과 상기 가중치의 합이 상기 임계값보다 크면 상기 모델에 발생한 변경사항을 상기 모델과 업데이트 목록에 포함된 모든 모델에 업데이트하는 단계,
    상기 비교 결과 상기 가중치의 합이 상기 임계값보다 크지 않으면 미리 설정된 업데이트 타이머가 만료하였는지 판단하는 단계,
    상기 업데이트 타이머가 만료하였으면 상기 모델에 발생한 변경사항을 상기 모델과 업데이트 목록에 포함된 모든 모델에 업데이트하는 단계를 포함하는 EMF 모델 동기화 방법.
  2. 제1항에 있어서,
    상기 계층에 따른 가중치는 XML 경로상에서 변경된 식별자가 속한 계층이 높을수록 큰 값을 갖도록 산출되는 EMF 모델 동기화 방법.
  3. 제1항에 있어서,
    상기 비교 결과 상기 가중치의 합이 상기 임계값보다 크지 않으면 상기 모델을 상기 업데이트 목록에 추가하는 EMF 모델 동기화 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 업데이트 타이머가 만료하였으면 상기 업데이트 타이머를 재설정하는 단계를 더 포함하는 EMF 모델 동기화 방법.
  6. 제 1항에 있어서,
    상기 모델은 AUTOSAR에서 제공하는 XML schema를 이용하여 작성된 모델인 EMF 모델 동기화 방법.
  7. 객체의 경로를 참조하는 속성이 존재하는 EMF 모델에 있어서 상기 모델에 변경이 발생하면, 상기 모델을 업데이트 목록에 추가하는 단계,
    상기 모델 내의 객체 식별자에 대해서 계층에 따른 가중치를 산출하는 단계,
    산출된 상기 가중치를 가중치의 합에 누적하는 단계,
    누적된 상기 가중치의 합을 미리 정한 임계값과 비교하는 단계,
    상기 비교 결과 상기 가중치의 합이 상기 임계값보다 크면 상기 모델에 발생한 변경사항을 상기 업데이트 목록에 포함된 모든 모델에 업데이트하는 단계,
    상기 비교 결과 상기 가중치의 합이 상기 임계값보다 크지 않으면 미리 설정된 업데이트 타이머가 만료하였는지 판단하는 단계,
    상기 업데이트 타이머가 만료하였으면 상기 모델에 발생한 변경사항을 상기 업데이트 목록에 포함된 모든 모델에 업데이트하는 단계를 포함하는 EMF 모델 동기화 방법.
  8. 제 7항에 있어서,
    상기 계층에 따른 가중치는 계층이 높으면 상대적으로 높은 값을 갖고 계층이 낮으면 상대적으로 낮은 값을 갖도록 산출되는 EMF 모델 동기화 방법.
  9. 삭제
  10. 제7항에 있어서,
    상기 업데이트 타이머가 만료하였으면 상기 업데이트 타이머를 재설정하는 단계를 더 포함하는 EMF 모델 동기화 방법.
  11. 제 7항에 있어서,
    상기 모델은 AUTOSAR에서 제공하는 XML schema를 이용하여 작성된 모델인 EMF 모델 동기화 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
KR1020090089612A 2009-09-22 2009-09-22 Emf 모델의 동기화 방법 및 시스템 KR101276200B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090089612A KR101276200B1 (ko) 2009-09-22 2009-09-22 Emf 모델의 동기화 방법 및 시스템
US12/788,651 US8789009B2 (en) 2009-09-22 2010-05-27 EMF model synchronization method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090089612A KR101276200B1 (ko) 2009-09-22 2009-09-22 Emf 모델의 동기화 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20110032222A KR20110032222A (ko) 2011-03-30
KR101276200B1 true KR101276200B1 (ko) 2013-06-18

Family

ID=43757729

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090089612A KR101276200B1 (ko) 2009-09-22 2009-09-22 Emf 모델의 동기화 방법 및 시스템

Country Status (2)

Country Link
US (1) US8789009B2 (ko)
KR (1) KR101276200B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9020792B2 (en) * 2010-09-17 2015-04-28 International Business Machines Corporation Coupling architectural and implementation/behavioral models of a computer-based system
KR20120072130A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 오토사 메타 파일 기반 기본 소프트웨어 속성값 검사 장치 및 방법
US20120290529A1 (en) * 2011-05-09 2012-11-15 Honeywell International Inc. Systems and methods for updating a database and handling interruptions
US9946988B2 (en) * 2011-09-28 2018-04-17 International Business Machines Corporation Management and notification of object model changes
US8539439B2 (en) * 2011-10-13 2013-09-17 Microsoft Corporation Asynchronous programming model mapping
WO2015166508A1 (en) * 2014-04-30 2015-11-05 Hewlett-Packard Development Company, L.P. Correlation based instruments discovery
EP3477887A4 (en) * 2016-06-24 2020-02-26 Yamaha Corporation SYNCHRONIZATION ADJUSTING DEVICE, DISTRIBUTION SYSTEM, SYNCHRONIZATION ADJUSTING METHOD AND PROGRAM
JP6783636B2 (ja) * 2016-11-24 2020-11-11 株式会社東芝 制御サーバ
EP3582125B1 (en) * 2018-06-11 2022-08-03 ABB Schweiz AG System and methods with reduced complexity in the integration of exposed information models with applications
US10664472B2 (en) * 2018-06-27 2020-05-26 Bitdefender IPR Management Ltd. Systems and methods for translating natural language sentences into database queries
US11782682B2 (en) * 2021-07-13 2023-10-10 The Math Works, Inc. Providing metric data for patterns usable in a modeling environment

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2418255A1 (en) * 2003-01-31 2004-07-31 Ibm Canada Limited - Ibm Canada Limitee Tracking and maintaining related and derivative code
US8185555B2 (en) * 2004-10-22 2012-05-22 International Business Machines Corporation Model extension framework
WO2007006125A1 (en) * 2005-04-18 2007-01-18 Research In Motion Limited Detection and construction of notification based component applications
US20070079299A1 (en) * 2005-10-03 2007-04-05 International Business Machines Corporation Method, apparatus and program storage device for representing eclipse modeling framework (EMF) ecore models in textual form
EP2002335A1 (en) * 2006-03-31 2008-12-17 British Telecommunications Public Limited Company Interactive development tool and debugger for web services
US20070288885A1 (en) * 2006-05-17 2007-12-13 The Mathworks, Inc. Action languages for unified modeling language model
CN100587666C (zh) * 2006-08-15 2010-02-03 国际商业机器公司 模型变换中分析和呈现冲突以及自动协调模型变换的方法和系统
US8296721B2 (en) * 2007-05-30 2012-10-23 International Business Machines Corporation Template-based software development
US8001519B2 (en) * 2007-06-27 2011-08-16 International Business Machines Corporation Model driven development including aspect integration tool
US9317258B2 (en) * 2007-12-10 2016-04-19 International Business Machines Corporation Dynamic validation of models using constraint targets
US20090158246A1 (en) * 2007-12-18 2009-06-18 Kabira Technologies, Inc. Method and system for building transactional applications using an integrated development environment
US7996429B2 (en) * 2008-06-12 2011-08-09 Novell, Inc. Mechanisms to persist hierarchical object relations
US8713534B2 (en) * 2008-08-20 2014-04-29 International Business Machines Corporation System, method and program product for guiding correction of semantic errors in code using collaboration records
US8145468B2 (en) * 2008-09-26 2012-03-27 Sap Ag Non-intrusive model annotation
US20100162225A1 (en) * 2008-12-19 2010-06-24 International Business Machines Corporation Cross-product refactoring apparatus and method

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
G.Cobena et al., "Detecting Changes in XML Documents," Proc. of the 18th ICDE, IEEE, pp. 41-52, 2002.02.26. *
G.Cobena et al., "Detecting Changes in XML Documents," Proc. of the 18th ICDE, IEEE, pp. 41-52, 2002.02.26.*
J.Torres, "EMF 모델의 콘텐트를 검색하는 Eclipse 플러그인 구현하기," developerWorks - Technical Report, IBM, 2007.10.16. *
J.Torres, "EMF 모델의 콘텐트를 검색하는 Eclipse 플러그인 구현하기," developerWorks - Technical Report, IBM, 2007.10.16.*
S.T.On et al., "Lazy-Update B+Tree for Flash Devices," Proc. of the 10th MDM, IEEE, pp. 323-328, 2009.05.18. *
S.T.On et al., "Lazy-Update B+Tree for Flash Devices," Proc. of the 10th MDM, IEEE, pp. 323-328, 2009.05.18.*

Also Published As

Publication number Publication date
KR20110032222A (ko) 2011-03-30
US20110072410A1 (en) 2011-03-24
US8789009B2 (en) 2014-07-22

Similar Documents

Publication Publication Date Title
KR101276200B1 (ko) Emf 모델의 동기화 방법 및 시스템
US10324909B2 (en) Omega names: name generation and derivation utilizing nested three or more attributes
EP3072070B1 (en) Callpath finder
US9189270B2 (en) Realizing jumps in an executing process instance
CN112287007B (zh) 基于Flink SQL引擎的工业生产数据实时处理方法、系统
Bozdag et al. Compaction of schedules and a two-stage approach for duplication-based DAG scheduling
WO2006082432A2 (en) Time-series forecasting
US8793646B2 (en) Aggregation of constraints across profiles
CN108958789B (zh) 一种并行流式计算方法、电子设备、存储介质及系统
US20110029577A1 (en) Computer program product and method for sharing information between multiple computer applications using a grafted model network
JP2015219637A (ja) 処理実行プログラム、処理実行方法、及び情報処理装置
US8086436B2 (en) Preliminary data representations of a deployment activity model
US10659567B2 (en) Dynamic discovery and management of page fragments
CN107633080B (zh) 一种用户任务处理方法及装置
US20090112566A1 (en) Automated generation of executable deployment code from a deployment activity model
CN113032119A (zh) 一种任务调度方法、装置、存储介质及电子设备
JP2013534347A (ja) 高性能コンピューティングアプリケーションの実行のためのシステムおよび方法
CN116594752A (zh) 流程调度方法、装置、设备、介质和程序产品
CN114003374A (zh) 基于云平台的节点调度方法、装置及电子设备和存储介质
CN113326077A (zh) 一种配置文件的加载方法及装置
CN111737964A (zh) 表格动态处理方法、设备及介质
US8437983B2 (en) Method for determining definite clock and node apparatus
CN112835696B (zh) 多租户任务调度方法、系统及介质
CN112650573B (zh) 一种任务调度方法和装置
CN116302457A (zh) 一种云原生工作流引擎实现方法、系统、介质及电子设备

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
LAPS Lapse due to unpaid annual fee