KR100973543B1 - 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기위한 방법 및 그 장치 - Google Patents

모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기위한 방법 및 그 장치 Download PDF

Info

Publication number
KR100973543B1
KR100973543B1 KR1020080004631A KR20080004631A KR100973543B1 KR 100973543 B1 KR100973543 B1 KR 100973543B1 KR 1020080004631 A KR1020080004631 A KR 1020080004631A KR 20080004631 A KR20080004631 A KR 20080004631A KR 100973543 B1 KR100973543 B1 KR 100973543B1
Authority
KR
South Korea
Prior art keywords
component
dynamic
architecture
arc
mobile application
Prior art date
Application number
KR1020080004631A
Other languages
English (en)
Other versions
KR20090078693A (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 KR1020080004631A priority Critical patent/KR100973543B1/ko
Publication of KR20090078693A publication Critical patent/KR20090078693A/ko
Application granted granted Critical
Publication of KR100973543B1 publication Critical patent/KR100973543B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
    • 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/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Abstract

모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법 및 그 장치가 개시된다. 런타임 플랫폼에 의해 동적 재구성이 가능한 독립된 실행 요소인 컴포넌트(Component), 컴포넌트의 연결점인 포트(Port), 런타임 플랫폼에 의해 상기 컴포넌트들 간에 동적으로 재설정되는 연결 관계 유형을 나타내고 컴포넌트 사이의 연결 관계 클래시파이어인 커넥터(Connector), 컴포넌트의 연결 관계 인스턴스인 커넥터인스턴스(ConnectorInstance), 포트의 역할인 롤(Role), 동적 재구성에 필요한 제어 정보 및 감시 정보를 동적 아키텍처 런타임 플랫폼과 교신하는 창구인 프로브(Probe) 및 컴포넌트 사이의 상호작용수단인 인터페이스(Interface)를 포함한 메타모델 요소를 이용하여 모바일 응용 애플리케이션의 동적 아키텍처를 모델링한다. 따라서, 실행 중에 실행 환경의 변화에 따라 자신의 구성 요소들이 동적으로 재구성되는 아키텍처를 명시적으로 표현할 수 있다.
Figure R1020080004631
모바일 응용 애플리케이션, 동적 아키텍처, 모델링, 메타모델, UML

Description

모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법 및 그 장치{Modeling Method and Device for Dynamic Architecture of Mobile Application}
본 발명은 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법 및 그 장치에 관한 것으로, 더욱 상세하게는 메타모델 요소 또는 UML 프로파일 요소를 이용하여 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법 및 그 장치에 관한 것이다.
소프트웨어 아키텍처는 상위 추상화 수준에서 소프트웨어 시스템을 구성하는 컴포넌트, 연결 관계, 그리고 이들이 합성되어 이루어진 시스템 형세(System Configuration) 및 합성 규칙으로 정의된다. 크고 복잡한 소프트웨어 시스템을 체계적이고 효율적으로 개발하기 위해서는 잘 정의된 아키텍처 모델을 통해 시스템의 주요 구성 요소들과 이들 사이의 연결 관계들을 정확하게 표현하고 이해하여야 한다. 이를 위해서는 소프트웨어 아키텍처의 핵심 개념들을 명시적이고 엄밀하게 명세할 수 있는 ADL(Architecture Description Language, 아키텍처 기술 언어)이 필요하다. 이러한 ADL의 필요성에 따라 지난 1990년대부터 아키텍처를 정형적으로 기 술할 수 있는 ADL의 연구가 많이 이루어져 왔고, 그 결과 지금까지 다수의 ADL들이 개발되었으나, 이러한 ADL들은 특수한 표기형식과 범용성의 결여 등으로 인하여 실제 산업체에서 광범위하게 사용되지 못하고 있다. 최근에는 UML을 아키텍처 모델링에 효과적으로 사용하고자 하는 노력이 활발히 이루어지고 있다.
UML(Unified Modeling Language)은 소프트웨어 개발의 전 과정에 걸쳐 일관된 표기 형식과 폭넓은 지원 도구들이 제공되고 있어서 소프트웨어 개발을 위한 사실상의 표준 모델링 언어로 자리 잡고 있고, 아키텍처 수준의 설계에서도 UML의 사용이 점차 많아지고 있다. 하지만 UML은 범용 모델링 언어로 개발되었기 때문에 아키텍처에 고유한 핵심 개념들을 UML로 표현하는데 어려움이 따른다. 이러한 어려움을 해소하고자 UML은 지속적으로 개선되어 현재 버전인 UML 2.0은 이전 버전에 비하여 아키텍처 모델링에 유용한 핵심 개념들이 많이 추가, 보완되었다. 예를 들어, UML 2.0에서는 컴포넌트(Component), 커넥터(Connector), 포트(Port) 등의 개념들을 표현하기 위한 모델링 요소들을 새롭게 추가하거나 이전 버전을 확장하여 정의하고 있다.
그러나, UML 2.0도 아키텍처의 주요한 측면들을 모두 명시적으로 표현하기에는 여전히 충분하지 않다. 더욱이 모바일 응용 애플리케이션과 같은 특정 도메인에 종속적인 아키텍처 개념들은 UML의 범용 모델링 개념들과 의미적인 차이가 많이 존재한다. 이에 따라 UML 메타모델을 확장하거나 UML 프로파일을 정의함으로써 UML 2.0을 영역 종속적인 ADL(Domain-Specific ADL)로 특화하는 연구가 많이 시도되고 있다. 하지만 이러한 연구의 대부분은 아키텍처의 정적 구조에 초점이 맞춰져 있고 동적 구조의 측면은 부족한 상태이며, 특히 실행 환경의 변화에 적응하여 실행 중 재구성되는 모바일 응용 애플리케이션의 동적 아키텍처의 표현에 특화된 ADL은 아직 소개되어 있지 않다.
V. Grassi, R. Mirandola 및 A. Sabetta는 "A UML Profile to Model Mobile Systems"(UML 2004, LNCS 3273, Springer-Verlag, 2004, pp. 128-142)에서 모바일 시스템의 하드웨어 및 소프트웨어 구성 요소들의 이동성 표현에 관한 방안을 제시하고 있으나, 모바일 실행환경의 변화에 적응하여 재구성되는 동적 소프트웨어 아키텍처의 표현에 대하여는 제시하고 있지 않다.
일반적인 의미로 플랫폼은 소프트웨어 응용 프로그램들을 돌리는데 쓰이는 하드웨어와 소프트웨어의 결합이며, 하나의 운영체제 또는 컴퓨터 아키텍처를 의미하지만 보다 확장된 의미로 모바일 단말기와 같은 장치의 하드웨어와 소프트웨어의 결합을 의미하기도 한다. 따라서, 런타임 플랫폼이란 응용 애플리케이션이 구동될 수 있는 환경을 의미하며, 동적 아키텍처 런타임 플랫폼이란 응용 애플리케이션이 실행 중에 실행환경의 변화에 따라 그 응용 애플리케이션에 결합될 수 있는 런타임 모듈을 삽입, 삭제할 수 있는 환경을 의미한다.
도 1은 일반적인 모바일 응용 애플리케이션의 동적 아키텍처를 나타내는 개념도이다.
도 1을 참조하면, 미리 정의된 모바일 응용 애플리케이션 모델로부터 모바일 응용 애플리케이션이 생성되고, 이러한 모바일 응용 애플리케이션은 동적 아키텍처 런타임 플랫폼과 교신하며 실행환경의 변화에 따라 런타임 모듈을 추가 및/또는 삭 제하게 된다.
모바일 응용 애플리케이션 플랫폼은 상대적으로 계산능력이나 저장공간 등의 측면에서 일반적인 개인용 컴퓨터 플랫폼 등보다 빈약하고, 기본적으로 네트워크에 연결되어 있으며, 각각의 모바일 단말기마다 지원하는 기능이나 사용자 인터페이스가 조금씩 차이가 나서 하나의 범용 애플리케이션으로써 모든 모바일 단말기를 지원할 수 없다는 특징이 있다. 따라서, 이러한 모바일 시스템에서 실행 환경의 변화에 적응하여 동적으로 재구성되는 아키텍처의 모델링 방법이 요청되고 있다.
따라서, 본 발명의 목적은 상기와 같은 문제점을 해결하기 위해 메타모델 요소 또는 UML 프로파일 요소를 이용하여 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법 및 그 장치에 관한 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법은, 실행 중에 동적 아키텍처 런타임 플랫폼에 의하여 동적으로 재구성되는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법으로서, 독립된 실행 요소인 컴포넌트(Component), 상기 컴포넌트의 연결점인 포트(Port), 상기 컴포넌트 사이의 연결 관계 클래시파이어인 커넥터(Connector), 상기 컴포넌트의 연결 관계 인스턴스인 커넥터인스턴스(ConnectorInstance), 상기 포트의 역할인 롤(Role), 상기 동적 아키텍처 런타임 플랫폼과 교신하는 프로브(Probe) 및 상기 컴포넌트 사이의 상호작용수단인 인터페이스(Interface)를 포함하는 메타모델 요소를 이용하여 상기 동적 아키텍처의 구성요소 및 상기 구성요소 간의 연관관계를 정의하는, 구성요소 및 연관관계 정의 단계 및 상기 구성요소 및 연관관계에 상기 동적 아키텍처의 속성을 제공하는 속성 정의 단계를 포함하며, 상기 컴포넌트는 실행 시 런타임 플랫폼에 의해 동적 재구성이 가능한 것이고, 상기 커넥터는 시스템 실행 시 런타임 플랫폼에 의해 상기 컴포넌트들 간에 동적으로 재설정되는 연결 관계 유형을 나타내는 것 이며, 상기 프로브는 동적 재구성에 필요한 제어 정보 및 감시 정보를 동적 아키텍처 런타임 플랫폼과 교신하는 창구이다.
상기 메타모델 요소에는 독립된 사용자 인터페이스 실행 요소인 유아이컴포넌트(UIComponent)가 추가로 포함될 수 있다.
상기 메타모델 요소에는 동기적 호출을 지원하는 오퍼레이션(Operation)의 집합인 콜인터페이스(CallInterface) 및 비동기적 메시지 전송을 지원하는 리셉션(Reception)의 집합인 시그널인터페이스(SignalInterface)가 추가로 포함될 수 있다.
상기 프로브는 상태 질의를 위한 프로바이디드(provided) 콜인터페이스를 갖는 패시브 프로브(passive Probe) 또는 상태 변화 알림을 위한 리콰이어드(required) 시그널인터페이스를 갖는 액티브 프로브(active Probe)일 수 있다.
상기 커넥터는 클래시파이어 수준의 커넥터 요소로서 동일한 연결 유형에 속한 상기 커넥터인스턴스의 타입으로 사용되고, 동적 연결이 허용되는 시점을 정의하는 bindingTime 메타속성과 동적으로 연결될 포트의 선택 방식을 지정하는 Selection 메타속성을 통하여 동적으로 재구성되는 연결 개념을 지원하는 것일 수 있다.
또한, 상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법은, 실행 중에 동적 아키텍처 런타임 플랫폼에 의하여 동적으로 재구성되는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법으로서, 독립된 실행 요소인 아크컴포 넌트(ArchComponent), 상기 아크컴포넌트의 연결점인 아크포트(ArchPort), 상기 아크컴포넌트 사이의 연결 관계 클래시파이어인 아크커넥터(ArchConnector), 상기 아크컴포넌트(ArchComponent)의 연결 관계 인스턴스인 아크커넥터인스턴스(ArchConnectorInstance), 상기 아크포트의 역할인 아크롤(ArchRole), 동적 아키텍처 런타임 플랫폼과 교신하는 프로브(Probe) 및 상기 아크컴포넌트 사이의 상호작용수단인 아크인터페이스(ArchInterface)를 포함하는 UML 프로파일 요소를 이용하여 상기 동적 아키텍처의 구성요소 및 상기 구성요소 간의 연관관계를 정의하는, 구성요소 및 연관관계 정의 단계 및 상기 구성요소 및 연관관계에 상기 동적 아키텍처의 속성을 제공하는 속성 정의 단계를 포함하며, 상기 아크컴포넌트는 실행 시 런타임 플랫폼에 의해 동적 재구성이 가능한 것이고, 상기 아크커넥터는 시스템 실행 시 런타임 플랫폼에 의해 상기 컴포넌트들 간에 동적으로 재설정되는 연결 관계 유형을 나타내는 것이며, 상기 프로브는 동적 재구성에 필요한 제어 정보 및 감시 정보를 동적 아키텍처 런타임 플랫폼과 교신하는 창구이다.
상기 UML 프로파일 요소에는 독립된 사용자 인터페이스 실행 요소인 아크유아이컴포넌트(ArchUIComponent)가 추가로 포함될 수 있다.
상기 UML 프로파일 요소에는 동기적 호출을 지원하는 오퍼레이션의 집합인 콜인터페이스 및 비동기적 메시지 전송을 지원하는 리셉션의 집합인 시그널인터페이스가 추가로 포함될 수 있다.
상기 프로브는 상태 질의를 위한 프로바이디드 콜인터페이스를 갖는 패시브 프로브 또는 상태 변화 알림을 위한 리콰이어드 시그널인터페이스를 갖는 액티브 프로브일 수 있다.
상기 아크커넥터는 클래시파이어 수준의 커넥터 요소로서 동일한 연결 유형에 속한 상기 아크커넥터인스턴스의 타입으로 사용되고, 동적 연결이 허용되는 시점을 정의하는 bindingTime 메타속성과 동적으로 연결될 포트의 선택 방식을 지정하는 Selection 메타속성을 통하여 동적으로 재구성되는 연결 개념을 지원하는 것일 수 있다.
또한, 상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 장치는, 실행 중에 동적 아키텍처 런타임 플랫폼에 의하여 동적으로 재구성되는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 장치로서, 독립된 실행 요소인 아크컴포넌트(ArchComponent), 상기 아크컴포넌트의 연결점인 아크포트(ArchPort), 상기 아크컴포넌트 사이의 연결 관계 클래시파이어인 아크커넥터(ArchConnector), 상기 아크컴포넌트(ArchComponent)의 연결 관계 인스턴스인 아크커넥터인스턴스(ArchConnectorInstance), 상기 아크포트의 역할인 아크롤(ArchRole), 동적 아키텍처 런타임 플랫폼과 교신하는 프로브(Probe) 및 상기 아크컴포넌트 사이의 상호작용수단인 아크인터페이스(ArchInterface)를 포함하는 UML 프로파일 요소를 그래픽 사용자 인터페이스를 이용하여 상기 동적 아키텍처의 구성요소 및 상기 구성요소 간의 연관관계를 정의하고 편집하는 구성요소 및 연관관계 편집기 및 상기 구성요소 및 연관관계에 상기 동적 아키텍처의 속성을 제공하는 속성 정의기를 포함하며, 상기 컴포넌트는 실행 시 런타임 플랫폼에 의해 동적 재구성이 가능한 것이고, 상기 커넥터는 시스템 실행 시 런타임 플랫폼에 의해 상기 컴포넌트들 간에 동적으로 재설정되는 연결 관계 유형을 나타내는 것이며, 상기 프로브는 동적 재구성에 필요한 제어 정보 및 감시 정보를 동적 아키텍처 런타임 플랫폼과 교신하는 창구이다.
상기 UML 프로파일 요소에는 독립된 사용자 인터페이스 실행 요소인 아크유아이컴포넌트(ArchUIComponent)가 추가로 포함될 수 있다.
상기 UML 프로파일 요소에는 동기적 호출을 지원하는 오퍼레이션의 집합인 콜인터페이스 및 비동기적 메시지 전송을 지원하는 리셉션의 집합인 시그널인터페이스가 추가로 포함될 수 있다.
상기 프로브는 상태 질의를 위한 프로바이디드 콜인터페이스를 갖는 패시브 프로브 또는 상태 변화 알림을 위한 리콰이어드 시그널인터페이스를 갖는 액티브 프로브일 수 있다.
상기 아크커넥터는 클래시파이어 수준의 커넥터 요소로서 동일한 연결 유형에 속한 상기 아크커넥터인스턴스의 타입으로 사용되고, 동적 연결이 허용되는 시점을 정의하는 bindingTime 메타속성과 동적으로 연결될 포트의 선택 방식을 지정하는 Selection 메타속성을 통하여 동적으로 재구성되는 연결 개념을 지원하는 것일 수 있다.
상기와 같은 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법 및 그 장치에 따르면, 메타모델 요소 또는 UML 프로파일 요소를 이용하여 모바일 응용 애플리케이션의 동적 아키텍처를 명확하게 모델링할 수 있다.
또한, 적응형 모바일 응용 애플리케이션이 실행 중에 실행 환경의 변화에 따라 자신의 구성 요소들이 동적으로 재구성되는 아키텍처를 명시적으로 표현할 수 있다.
또한, 모바일 응용 애플리케이션을 잘 정의된 아키텍처 모델을 기반으로 체계적으로 분석, 설계, 구현, 유지 관리함으로써 각 개발단계 별 산출물의 정확성과 완전성의 검증을 효과적으로 수행할 수 있다.
나아가, 모바일 응용 애플리케이션의 개발에 Component-Based Development(CBD), Model-Driven Architecture(MDA), 및 Product Line Development(PLD) 등의 개발 방식의 효과적인 적용을 가능하게 한다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어”있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어”있다거나 “직접 접속되어”있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명에 따른 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법은 모바일 응용 애플리케이션의 동적 아키텍처에 적합하게 정의된 메타모델 요소 또는 UML 프로파일 요소를 이용하여 상기 동적 아키텍처의 구성요소 및 상기 구성요소 간의 연관관계를 정의하는 단계와, 상기 구성요소 및 연관관계에 상기 동적 아키텍처의 속성을 제공하는 단계를 포함한다.
도 2는 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 동적 아키텍처의 구성요소 및 상기 구성요소 간의 연관관계를 정의하는데 사용되는 메타모델 요소를 나타내는 개념도이다.
도 2를 참조하면, 상기 메타모델 요소에는 크게 컴포넌트(Component, 110), 포트(Port, 120), 프로브(Probe, 121), 커넥터(Connector, 130), 커넥터인스턴스(ConnectorInstance, 140), 롤(Role, 150), 인터페이스(Interface, 160), 유아이컴포넌트(UIComponent, 170), 콜인터페이스(CallInterface, 161) 및 시그널인터페이스(SignalInterface, 163)가 포함된다. 이들 중 상기 프로브(121)는 동적 아키텍처의 모델링에 사용되고, 상기 유아이컴포넌트(170)는 사용자 인터페이스가 요구되는 아키텍처에 사용되며, 상기 콜인터페이스(161)와 상기 시그널인터페이스(163)는 인터페이스의 특화된 유형으로서 사용된다.
상기 컴포넌트(110)는 아키텍처 수준에서 독립된 실행 요소이면서 합성의 단위이고, 상기 포트(120)는 상기 컴포넌트의 속성으로서 상기 컴포넌트(110)와 외부 환경 사이 또는 상기 컴포넌트(110)와 내부 구성 요소들 사이의 연결점을 나타내며, 상기 프로브(125)는 동적 재구성에 필요한 제어 정보 및 감시 정보를 동적 아키텍처 런타임 플랫폼과 교신하는데 사용되고, 상기 커넥터(130)는 상기 컴포넌트(110) 사이의 연결 관계 유형을 나타내는 클래시파이어(Classifier)이다.
상기 커넥터인스턴스(140)는 상기 컴포넌트(110)의 상호작용을 위한 상기 포트(120) 사이의 연결을 나타내는 인스턴스(Instance)이고, 상기 롤(150)은 상기 포트(120)의 역할을 나타내며, 상기 인터페이스(160)는 상기 컴포넌트(110) 사이의 상호작용에 사용되는 오퍼레이션(Operation, 165) 또는 시그널(Signal)의 집합이고, 상기 콜인터페이스(161)는 동기적 호출을 지원하는 상기 오퍼레이션(165)의 집합이며, 상기 시그널인터페이스(163)는 비동기적 메시지 전송을 지원하는 상기 시그널(167)들을 나타내는 리셉션(Reception, 167)들의 집합이다.
메타모델 중 가장 대표적인 것으로서 UML 메타모델이 있고, 상기 메타모델 요소와 UML 프로파일 요소는 실질적으로 일대일 대응이 되는 바, 이하 UML 프로파일 요소를 이용한 모델링 기법을 이용하여 설명한다.
도 3은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 동적 아키텍처의 구성요소 및 상기 구성요소 간의 연관관계를 정의하는데 사용되는 UML 프로파일 요소를 나타내는 개념도이다.
도 3을 참조하면, 상기 UML 프로파일 요소에는 크게 아크컴포넌트(ArchComponent, 210), 아크포트(ArchPort, 220), 프로브(Probe, 221), 아크커넥터(ArchConnector, 230), 아크커넥터인스턴스(ArchConnectorInstance, 240), 아크 롤(ArchRole, 250), 아크인터페이스(ArchInterface, 260), 아크유아이컴포넌트(ArchUIComponent, 270), 콜인터페이스(CallInterface, 261) 및 시그널인터페이스(SignalInterface, 263)가 포함된다.
이들 중 프로브(221)는 동적 아키텍처의 모델링에 사용되고, 아크유아이컴포넌트(270)는 사용자 인터페이스가 요구되는 아키텍처에 사용되며, 콜인터페이스(261)와 시그널인터페이스(263)는 아크인터페이스(260)의 특화된 유형으로서 사용된다.
상기 아크컴포넌트(210)는 아키텍처 수준에서 독립된 실행 요소이면서 합성의 단위이고, 상기 아크포트(220)는 상기 아크컴포넌트(210)의 속성으로서 상기 아크컴포넌트(210)와 외부 환경 사이 또는 상기 아크컴포넌트(210)와 내부 구성 요소들 사이의 연결점을 나타내며, 상기 프로브(221)는 동적 재구성에 필요한 제어 정보 및 감시 정보를 동적 아키텍처 런타임 플랫폼과 교신하는데 사용되고, 상기 아크커넥터(230)는 상기 아크컴포넌트(210) 사이의 연결 관계 유형을 나타내는 클래시파이어이다.
상기 아크커넥터인스턴스(240)는 상기 아크컴포넌트(210)의 상호작용을 위한 상기 아크포트(220) 사이의 연결을 나타내는 인스턴스이고, 상기 아크롤(250)은 상기 아크포트(220)의 역할을 나타내며, 상기 아크인터페이스는 상기 아크컴포넌트 사이의 상호작용에 사용되는 오퍼레이션 또는 시그널의 집합이고, 상기 콜인터페이스(261)는 동기적 호출을 지원하는 상기 오퍼레이션의 집합이며, 상기 시그널인터페이스(263)는 비동기적 메시지 전송을 지원하는 상기 시그널들을 나타내는 리셉션 들의 집합이다.
도 4는 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크컴포넌트(210)의 추상구문을 나타내는 개념도이다.
도 4를 참조하면, 상기 아크컴포넌트(210)의 추상구문에는 크게 ownedPort(211), ownedProbe(213), partPort(215) 및 ownedConnector(217)가 포함된다.
상기 아크컴포넌트(210)는 상기 적어도 하나의 아크포트(220)를 가지며 (ownedPort, 211), 동적 재구성이 가능한 컴포넌트의 경우 상기 프로브(221)를 별도로 갖는다(ownedProbe, 213). 상기 아크컴포넌트는 상기 ownedPort(213)를 통해 외부의 다른 컴포넌트와 연결된다.
상기 프로브(221)는 동적 재구성에 필요한 제어 정보 및 감시 정보를 동적 아키텍처 런타임 플랫폼과 교신하는데 사용된다.
상기 아크컴포넌트(210)의 동적 재구성 가능 여부는 상기 아크컴포넌트(210)의 메타속성(Meta-Attribute)인 dynReconfigurable의 값에 의해 결정된다. 상기 dynReconfigurable이 True인 상기 아크컴포넌트(210)가 동적 재구성이 가능한 것이며, 그러한 상기 아크컴포넌트(210)는 상기 프로브(221)가 있어야 한다.
상기 아크컴포넌트(210)의 상기 partPort(215)와 상기 ownedConnector(217)는 상기 아크컴포넌트(210)의 내부 구조를 서브 아크컴포넌트(210)의 합성 구조로 표현하는데 사용된다. 상기 partPort(215)는 상기 서브 아크컴포넌트(210)의 연결 점에 해당하는 포트를 나타낸다. 상기 ownedConnector(217)는 상기 partPort(215) 사이의 연결, 또는 상기 ownedPort(211)와 상기 partPort(215) 사이의 연결을 표현하는데 사용된다.
도 5는 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크포트(220)의 추상구문을 나타내는 개념도이다.
도 5를 참조하면, 상기 아크포트(220)의 추상구문에는 크게 required(221) 및 provided(223)가 포함된다.
상기 아크포트(220)는 상기 required(223) 및/또는 provided(225)를 통해 프로바이디드(provided) 인터페이스와 리콰이어드(required) 인터페이스를 자신의 타입으로 가질 수 있다. 상기 아크포트(220)에 자신의 타입으로 선언된 이러한 인터페이스는 상기 아크인터페이스(260)의 구문에 맞게 상기 오퍼레이션 또는 시그널인 시그너처가 미리 정의되어야 한다.
상기 아크포트(220)의 메타속성인 Active는 그 포트가 독립된 스레드 상에서 전송되는 시그널을 주고 받을 수 있는지 여부를 나타낸다. Active 값이 True인 액티브 포트(active port)는 자신의 상기 required(223) 또는 provided(225) 인터페이스로 상기 콜인터페이스(261) 및 상기 시그널인터페이스(263) 둘 다 가질 수 있다. 반면, Active 값이 False인 포트인 패시브 포트(passive port)는 상기 콜인터페이스(261)만 가질 수 있다.
도 6은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크인터페이스(260)의 추상구문을 나타내는 개념도이다.
도 6을 참조하면, 상기 아크인터페이스(260)는 자신을 구성하는 시그너처들의 성격에 따라 상기 콜인터페이스(261)와 상기 시그널인터페이스(263)의 두가지 유형으로 나뉘어진다.
상기 콜인터페이스(265)는 동기적 호출을 지원하는 오퍼레이션(265)들의 집합으로 정의된다. 상기 시그널인터페이스(263)는 비동기적 메시지 전송을 지원하는 시그널들을 나타내는 리셉션(Reception, 267)들의 집합으로 정의된다.
도 7은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 프로브(221)의 표기 형식과 인터페이스를 나타내는 개념도이다.
도 7을 참조하면, 상기 프로브(221)는 동적 재구성을 위해 동적 아키텍처 런타임 플랫폼과 통신을 하는 포트로서 상기 아크포트(220)로부터 특화된다. 상기 프로브(221)는 미리 정의된 두개의 인터페이스를 갖는다.
하나는 런타임 플랫폼과 통신하여 연결 준비(connection preparation)를 하기 위한 인터페이스이고, 다른 하나는 런타임 플랫폼이 동적 재구성되는 상기 아크컴포넌트(210)의 상태 질의(state query)를 하거나 혹은 상기 아크컴포넌트(210)가 런타임 플랫폼에게 상태 변화 알림(state change notification)을 하기 위한 인터페이스이다.
상기 연결 준비를 위한 인터페이스는 프로바이디드 콜인터페이스로 정의된 다.
상태 질의 또는 상태변화 알림을 위한 인터페이스는 상기 프로브(221)가 Active 또는 Passive인지에 따라 달라지는데, 패시브 프로브(223)는 상태 질의를 위한 프로바이디드 콜인터페이스를 갖고, 액티브 프로브(225)는 상태 변화 알림을 위한 리콰이어드 시그널인터페이스를 갖는다.
도 8은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크커넥터(230)의 추상 구문을 나타내는 개념도이다.
도 8을 참조하면, 상기 아크커넥터(210)는 UML 2.0의 콜레버레이션(Collaboration) 메타클래스의 스테레오타입으로 정의된, 클래시파이어 수준의 커넥터 요소를 나타낸다.
상기 아크커넥터(210)의 connectorRole(231)로서 정의된 상기 아크롤(250)은 상기 아크커넥터(230)에 연결되는 상기 아크포트(220)들의 역할을 나타내며, 콜레버레이션 합성 패턴에 참여하는 상기 아크롤(250)들의 의미를 커넥터 롤로 특화한 것이다.
상기 아크롤(250)에서 type으로 정의된 상기 아크인터페이스(260)는 연결이 허용되는 상기 아크포트(250)의 타입을 나타낸다. 즉, 상기 아크커텍터(230)의 상기 connectorRole(231)에 연결되는 모델 요소는 그 connectorRole(231)에 정의된 타입에 부합하는 상기 아크포트(220)들로 한정된다.
상기 아크커넥터(230)는 동적으로 재구성되는 연결 개념을 지원하기 위한 메 타속성으로 dynamic 및 bindingTime을 갖는다.
dynamic 메타속성은 커넥터가 실행 시 런타임 플랫폼에 의해 동적으로 연결이 재설정될 수 있는 동적 커넥터인지 여부를 나타낸다.
bindingTime 메타속성은 동적 연결이 허용되는 시점을 정의하는데 사용된다. bindingTime으로 지정될 수 있는 시점은 로드시점(loadTime), 인스턴스 생성시점(creationTime), 시작시점(startupTime), 또는 실행 중(operationTime)이다.
상기 아크롤(250)의 메타속성인 Selection은 Connector Role에 동적으로 연결될 포트의 선택 방식을 지정하는데 사용된다. 연결 포트의 선택 방식은 항상 연결(mandatory), 조건적 연결(optional), 여러 개 중 택일 연결(alternative) 중 하나로 지정된다.
BindingTime(410)과 SelectionKind(420)는 이러한 포트의 연결 시점과 선택 방식으로 지정할 수 있는 값들을 각각 나타낸다.
도 9는 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크커넥터(230)의 표기 형식과 표기 예를 나타내는 개념도이다.
도 9를 참조하면, CSConn(320, 340) 커넥터는 두 개체를 연결하는데 하나는 타입이 DBServer(330, 350)로 서버 역할이며, 다른 하나는 클라이언트 역할이다. 조건적 연결(321)과 택일 연결(341)은 각각 {optional}과 {alternative}로 표기한다.
도 10은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처 를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크커넥터인스턴스(240)의 추상구문을 나타내는 개념도이다.
도 10을 참조하면, 상기 아크커넥터인스턴스(240)는 UML 2.0 커넥터(Connector)의 스테레오타입으로 정의된, 인스턴스 수준의 커넥터 요소로서 상기 아크커넥터(230)를 자신의 타입으로 가질 수 있다.
상기 아크커넥터인스턴스(240)는 자신에 role(235)로서 연결되는 모델 요소(ConnectableElement)의 유형이 roleBinding(237)에 의해 상기 아크포트(220)로 한정된다. 또한 그 포트는 상기 아크커넥터인스턴스(240)의 타입으로 정의된 상기 아크커넥터(230)의 connectorRole(231)에 부합하는 타입이어야 한다.
도 11은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 상기 도 9의 CSConn 커넥터를 타입으로 갖는 상기 아크커넥터인스턴스(240)의 표기 예를 나타내는 개념도이다.
도 11을 참조하면, 상기 아크커넥터인스턴스(240)는 ReservationAgent(510, 530)와 Map(520, 540, 550) 컴포넌트를 연결한다. 조건적 연결(511)은 마름모로, 택일 연결(531)은 작은 원으로 표기한다.
도 12는 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 본 발명의 UML 프로파일로 표현한 POI(Point of Interest) Search 응용의 샘플 아키텍처 모델을 나타내는 UML 다이어그램이다.
도 12를 참조하면, CustomerUI(610)는 고객의 인터페이스를 나타내는 컴포넌 트로 고객이 주변의 관심 장소들의 정보를 얻기 위하여 모바일 기기를 이용하여 접속하는 인터페이스를 나타낸다.
CustomerRepresentative(620)는 고객이 원하는 정보를 고객에게 전달하는 기능을 갖는 컴포넌트로 POISearchAgent(630)에게 고객이 원하는 서비스(POI Search)를 전달한다.
고객과 POI 정보를 관리하는 POISearchAgent(630) 컴포넌트가 고객의 위치 정보를 LocationSP(640) 컴포넌트에 요청한다.
RestaurantDB(650)와 TheaterDB(660) 컴포넌트는 각각 극장과 식당의 정보를 가지고 있는 컴포넌트이다. 이 두개의 DB 컴포넌트는 고객이 원하는 POI의 유형에 따라 동적으로 택일 재구성된다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 일반적인 모바일 응용 애플리케이션의 동적 아키텍처를 나타내는 개념도이다.
도 2는 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 동적 아키텍처의 구성요소 및 상기 구성요소 간의 연관관계를 정의하는데 사용되는 메타모델 요소를 나타내는 개념도이다.
도 3은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 동적 아키텍처의 구성요소 및 상기 구성요소 간의 연관관계를 정의하는데 사용되는 UML 프로파일 요소를 나타내는 개념도이다.
도 4는 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크컴포넌트(210)의 추상구문을 나타내는 개념도이다.
도 5는 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크포트(220)의 추상구문을 나타내는 개념도이다.
도 6은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크인터페이스(260)의 추상구문을 나타내는 개념도이다.
도 7은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 프로브(221)의 표기 형식 과 인터페이스를 나타내는 개념도이다.
도 8은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크커넥터(230)의 추상 구문을 나타내는 개념도이다.
도 9는 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크커넥터(230)의 표기 형식과 표기 예를 나타내는 개념도이다.
도 10은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 UML 프로파일 요소 중 상기 아크커넥터인스턴스(240)의 추상구문을 나타내는 개념도이다.
도 11은 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 상기 도 9의 CSConn 커넥터를 타입으로 갖는 상기 아크커넥터인스턴스(240)의 표기 예를 나타내는 개념도이다.
도 12는 본 발명의 일 실시예에 따른 모바일 응용 애플리케이션의 아키텍처를 모델링하기 위한 방법에 있어 본 발명의 UML 프로파일로 표현한 POI(Point of Interest) Search 응용의 샘플 아키텍처 모델을 나타내는 UML 다이어그램이다.
* 도면의 주요부분에 대한 부호의 설명 *
110 : 컴포넌트 120 : 포트
121 : 프로브 130 : 커넥터
140 : 커넥터인스턴스 150 : 롤
160 : 인터페이스 161 : 콜인터페이스
163 : 시그널인터페이스 165 : 오퍼레이션
167 : 리셉션 170 : 유아이컴포넌트
210 : 아크컴포넌트 211 : ownedPort
213 : ownedProbe 215 : partPort
217 : ownedConnector 220 : 아크포트
221 : 프로브 223 : required
225 : provided 227 : 패시브 프로브
229 : 액티브 프로브 230 : 아크커넥터
231 : connectorRole 233 : type
235 : role 237 : roleBinding
240 : 아크커넥터인스턴스 250 : 아크롤
260 : 아크인터페이스 261 : 콜인터페이스
263 : 시그널인터페이스 265: 오퍼레이션
267 : 리셉션 270 : 아크유아이컴포넌트
310 : ArchConnector 311 : ArchRole
313 : ArchRole's Type 320 : CSConn
321 : Server 330 : BDServer
340 : CSConn 341 : Server
350 : BDServer 410 : BindingTime
420 : SelectionKind 510 : RerservationAgent
511 : Optional connection 520 : Map
530 : ReservationAgent 531 : Alternative connection
540 : Map 550 : TheaterDB
610 : CustomerUI 620 : Customer Representative
630 : pSearchAgent 640 : LocationSP
650 : RestaurantDB 660 : TheaterDB

Claims (15)

  1. 구성요소 및 연관관계 편집기와 속성 정의기를 포함하는, 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 장치에서 실행 중에 동적 아키텍처 런타임 플랫폼에 의하여 동적으로 재구성되는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법에 있어서,
    상기 구성요소 및 연관관계 편집기에 의해 독립된 실행 요소인 컴포넌트(Component), 상기 컴포넌트의 연결점인 포트(Port), 상기 컴포넌트 사이의 연결 관계 클래시파이어인 커넥터(Connector), 상기 컴포넌트의 연결 관계 인스턴스인 커넥터인스턴스(ConnectorInstance), 상기 포트의 역할인 롤(Role), 상기 동적 아키텍처 런타임 플랫폼과 교신하는 프로브(Probe) 및 상기 컴포넌트 사이의 상호작용수단인 인터페이스(Interface)를 포함하는 메타모델 요소를 이용하여 상기 동적 아키텍처의 구성요소 및 상기 구성요소 간의 연관관계를 정의하는, 구성요소 및 연관관계 정의 단계 및
    상기 속성 정의기에 의해 상기 구성요소 및 연관관계에 상기 동적 아키텍처의 속성을 제공하는 속성 정의 단계를 포함하며,
    상기 컴포넌트는 실행 시 런타임 플랫폼에 의해 동적 재구성이 가능한 것이고, 상기 커넥터는 시스템 실행 시 런타임 플랫폼에 의해 상기 컴포넌트들 간에 동적으로 재설정되는 연결 관계 유형을 나타내는 것이며, 상기 프로브는 동적 재구성에 필요한 제어 정보 및 감시 정보를 동적 아키텍처 런타임 플랫폼과 교신하는 창구이며,
    상기 메타모델 요소에는 독립된 사용자 인터페이스 실행 요소인 유아이컴포넌트(UIComponent)가 추가로 포함되는 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 메타모델 요소에는 동기적 호출을 지원하는 오퍼레이션(Operation)의 집합인 콜인터페이스(CallInterface) 및 비동기적 메시지 전송을 지원하는 리셉션(Reception)의 집합인 시그널인터페이스(SignalInterface)가 추가로 포함되는 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법.
  4. 제1항에 있어서,
    상기 프로브는 상태 질의를 위한 프로바이디드(provided) 콜인터페이스를 갖는 패시브 프로브(passive Probe) 또는 상태 변화 알림을 위한 리콰이어드(required) 시그널인터페이스를 갖는 액티브 프로브(active Probe)인 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법.
  5. 제1항에 있어서,
    상기 커넥터는 클래시파이어 수준의 커넥터 요소로서 동일한 연결 유형에 속 한 상기 커넥터인스턴스의 타입으로 사용되고, 동적 연결이 허용되는 시점을 정의하는 bindingTime 메타속성과 동적으로 연결될 포트의 선택 방식을 지정하는 Selection 메타속성을 통하여 동적으로 재구성되는 연결 개념을 지원하는 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법.
  6. 구성요소 및 연관관계 편집기와 속성 정의기를 포함하는, 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 장치에서 실행 중에 동적 아키텍처 런타임 플랫폼에 의하여 동적으로 재구성되는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법에 있어서,
    상기 구성요소 및 연관관계 편집기에 의해 독립된 실행 요소인 아크컴포넌트(ArchComponent), 상기 아크컴포넌트의 연결점인 아크포트(ArchPort), 상기 아크컴포넌트 사이의 연결 관계 클래시파이어인 아크커넥터(ArchConnector), 상기 아크컴포넌트(ArchComponent)의 연결 관계 인스턴스인 아크커넥터인스턴스(ArchConnectorInstance), 상기 아크포트의 역할인 아크롤(ArchRole), 동적 아키텍처 런타임 플랫폼과 교신하는 프로브(Probe) 및 상기 아크컴포넌트 사이의 상호작용수단인 아크인터페이스(ArchInterface)를 포함하는 UML 프로파일 요소를 이용하여 상기 동적 아키텍처의 구성요소 및 상기 구성요소 간의 연관관계를 정의하는, 구성요소 및 연관관계 정의 단계 및
    상기 속성 정의기에 의해 상기 구성요소 및 연관관계에 상기 동적 아키텍처의 속성을 제공하는 속성 정의 단계를 포함하며,
    상기 아크컴포넌트는 실행 시 런타임 플랫폼에 의해 동적 재구성이 가능한 것이고, 상기 아크커넥터는 시스템 실행 시 런타임 플랫폼에 의해 상기 컴포넌트들 간에 동적으로 재설정되는 연결 관계 유형을 나타내는 것이며, 상기 프로브는 동적 재구성에 필요한 제어 정보 및 감시 정보를 동적 아키텍처 런타임 플랫폼과 교신하는 창구이며,
    상기 UML 프로파일 요소에는 독립된 사용자 인터페이스 실행 요소인 아크유아이컴포넌트(ArchUIComponent)가 추가로 포함되는 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 UML 프로파일 요소에는 동기적 호출을 지원하는 오퍼레이션의 집합인 콜인터페이스 및 비동기적 메시지 전송을 지원하는 리셉션의 집합인 시그널인터페이스가 추가로 포함되는 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법.
  9. 제6항에 있어서,
    상기 프로브는 상태 질의를 위한 프로바이디드 콜인터페이스를 갖는 패시브 프로브 또는 상태 변화 알림을 위한 리콰이어드 시그널인터페이스를 갖는 액티브 프로브인 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법.
  10. 제6항에 있어서,
    상기 아크커넥터는 클래시파이어 수준의 커넥터 요소로서 동일한 연결 유형에 속한 상기 아크커넥터인스턴스의 타입으로 사용되고, 동적 연결이 허용되는 시점을 정의하는 bindingTime 메타속성과 동적으로 연결될 포트의 선택 방식을 지정하는 Selection 메타속성을 통하여 동적으로 재구성되는 연결 개념을 지원하는 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 방법.
  11. 실행 중에 동적 아키텍처 런타임 플랫폼에 의하여 동적으로 재구성되는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 장치로서,
    독립된 실행 요소인 아크컴포넌트(ArchComponent), 상기 아크컴포넌트의 연결점인 아크포트(ArchPort), 상기 아크컴포넌트 사이의 연결 관계 클래시파이어인 아크커넥터(ArchConnector), 상기 아크컴포넌트(ArchComponent)의 연결 관계 인스턴스인 아크커넥터인스턴스(ArchConnectorInstance), 상기 아크포트의 역할인 아크롤(ArchRole), 동적 아키텍처 런타임 플랫폼과 교신하는 프로브(Probe) 및 상기 아크컴포넌트 사이의 상호작용수단인 아크인터페이스(ArchInterface)를 포함하는 UML 프로파일 요소를 그래픽 사용자 인터페이스를 이용하여 상기 동적 아키텍처의 구성요소 및 상기 구성요소 간의 연관관계를 정의하고 편집하는 구성요소 및 연관관계 편집기 및
    상기 구성요소 및 연관관계에 상기 동적 아키텍처의 속성을 제공하는 속성 정의기를 포함하며,
    상기 컴포넌트는 실행 시 런타임 플랫폼에 의해 동적 재구성이 가능한 것이고, 상기 커넥터는 시스템 실행 시 런타임 플랫폼에 의해 상기 컴포넌트들 간에 동적으로 재설정되는 연결 관계 유형을 나타내는 것이며, 상기 프로브는 동적 재구성에 필요한 제어 정보 및 감시 정보를 동적 아키텍처 런타임 플랫폼과 교신하는 창구이며,
    상기 UML 프로파일 요소에는 독립된 사용자 인터페이스 실행 요소인 아크유아이컴포넌트(ArchUIComponent)가 추가로 포함되는 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 장치.
  12. 삭제
  13. 제11항에 있어서,
    상기 UML 프로파일 요소에는 동기적 호출을 지원하는 오퍼레이션의 집합인 콜인터페이스 및 비동기적 메시지 전송을 지원하는 리셉션의 집합인 시그널인터페이스가 추가로 포함되는 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 장치.
  14. 제11항에 있어서,
    상기 프로브는 상태 질의를 위한 프로바이디드 콜인터페이스를 갖는 패시브 프로브 또는 상태 변화 알림을 위한 리콰이어드 시그널인터페이스를 갖는 액티브 프로브인 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 장치.
  15. 제11항에 있어서,
    상기 아크커넥터는 클래시파이어 수준의 커넥터 요소로서 동일한 연결 유형에 속한 상기 아크커넥터인스턴스의 타입으로 사용되고, 동적 연결이 허용되는 시점을 정의하는 bindingTime 메타속성과 동적으로 연결될 포트의 선택 방식을 지정하는 Selection 메타속성을 통하여 동적으로 재구성되는 연결 개념을 지원하는 것을 특징으로 하는 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기 위한 장치.
KR1020080004631A 2008-01-15 2008-01-15 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기위한 방법 및 그 장치 KR100973543B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080004631A KR100973543B1 (ko) 2008-01-15 2008-01-15 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기위한 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080004631A KR100973543B1 (ko) 2008-01-15 2008-01-15 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기위한 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20090078693A KR20090078693A (ko) 2009-07-20
KR100973543B1 true KR100973543B1 (ko) 2010-08-02

Family

ID=41336746

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080004631A KR100973543B1 (ko) 2008-01-15 2008-01-15 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기위한 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100973543B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721915A (zh) * 2021-01-04 2022-07-08 腾讯科技(深圳)有限公司 埋点方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037261A2 (en) * 2000-11-03 2002-05-10 Wilde Technologies Limited A software development process
KR20060042393A (ko) * 2004-02-27 2006-05-12 리서치 인 모션 리미티드 사용자 인터페이스와 데이터 컴포넌트 간의 지능형 맵핑을이용한 무선 애플리케이션 구축 시스템 및 방법
US20070050756A1 (en) * 2005-08-24 2007-03-01 Nokia Corporation Component architecture
EP1770510A2 (en) * 2005-09-30 2007-04-04 SAP Portals Israel Ltd. Executable and declarative specification for graphical user interfaces

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037261A2 (en) * 2000-11-03 2002-05-10 Wilde Technologies Limited A software development process
KR20060042393A (ko) * 2004-02-27 2006-05-12 리서치 인 모션 리미티드 사용자 인터페이스와 데이터 컴포넌트 간의 지능형 맵핑을이용한 무선 애플리케이션 구축 시스템 및 방법
US20070050756A1 (en) * 2005-08-24 2007-03-01 Nokia Corporation Component architecture
EP1770510A2 (en) * 2005-09-30 2007-04-04 SAP Portals Israel Ltd. Executable and declarative specification for graphical user interfaces

Also Published As

Publication number Publication date
KR20090078693A (ko) 2009-07-20

Similar Documents

Publication Publication Date Title
CN111737032B (zh) 一种基于微内核系统的子程序运行方法、装置和电子设备
Blackstock et al. Toward a distributed data flow platform for the web of things (distributed node-red)
US11762634B2 (en) Systems and methods for seamlessly integrating multiple products by using a common visual modeler
US6868454B1 (en) Distributed-object development system and computer-readable recording medium recorded with program for making computer execute distributed-object development
US8930942B2 (en) Capability model for deploying componentized applications
CN100367201C (zh) 用于向软件应用程序动态地添加特征的系统和方法
CN102810090B (zh) 网关数据分布引擎
US20120233589A1 (en) Software development kit for blended services
KR20180038539A (ko) 소프트웨어 개발 키트로 데이터 추적을 구현하는 방법 및 시스템
US20130073994A1 (en) Web-based workflow service visualization and navigation
US20080010082A1 (en) System and method for business process management
JP2011204228A (ja) 学習メカニズムを用いたマッシュアップインフラストラクチャ
EP2257887A1 (en) Method and system for rules based workflow of media services
CN111556158B (zh) 物联网平台的接入方法、接入装置、接入设备及存储介质
CN113778897A (zh) 接口的自动测试方法、装置、设备及存储介质
CN111522617B (zh) 一种维护系统的方法、装置和电子设备
JP2017522639A (ja) 開発システムにおける意味論的なコンテンツアクセス
KR100973543B1 (ko) 모바일 응용 애플리케이션의 동적 아키텍처를 모델링하기위한 방법 및 그 장치
WO2023169193A1 (zh) 用于生成智能合约的方法和装置
US20070283368A1 (en) Artifact management for an extensible runtime environment
CN111414154A (zh) 前端开发的方法、装置、电子设备和存储介质
JP2021163475A (ja) ログベースのマッシュアップのコード生成
CN112181474B (zh) 区块链业务处理方法、电子设备及计算机存储介质
Husseini Orabi et al. A textual notation for modeling and generating code for composite structure
WO2006040991A1 (ja) 端末装置、サーバ装置、及びWebサービス提供システム

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: 20130621

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 6

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20160615

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee