KR20070047675A - 객체 및 엔터티의 표현을 구성하기 위한 방법 및 장치 - Google Patents

객체 및 엔터티의 표현을 구성하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20070047675A
KR20070047675A KR1020057008340A KR20057008340A KR20070047675A KR 20070047675 A KR20070047675 A KR 20070047675A KR 1020057008340 A KR1020057008340 A KR 1020057008340A KR 20057008340 A KR20057008340 A KR 20057008340A KR 20070047675 A KR20070047675 A KR 20070047675A
Authority
KR
South Korea
Prior art keywords
attribute
attributes
attribute group
group
objects
Prior art date
Application number
KR1020057008340A
Other languages
English (en)
Other versions
KR101150121B1 (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 마이크로소프트 코포레이션
Publication of KR20070047675A publication Critical patent/KR20070047675A/ko
Application granted granted Critical
Publication of KR101150121B1 publication Critical patent/KR101150121B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Abstract

적어도 하나의 속성을 갖는 객체(420)의 표현을 구성하는 방법으로서, 상기 객체를 표현하도록 선택된 상기 객체와 연관된 적어도 하나의 속성 그룹(460)을 식별하는 단계(905)를 포함한다. 상기 객체의 적어도 하나의 속성은 상기 객체와 연관된 것으로 식별되는 각 속성 그룹에 속한다. 이 방법은 또한 식별된 속성 그룹의 속성 내에서 상기 객체(410)가 참조하는 임의의 다른 객체(450)를 식별하는 단계(910)를 포함한다. 객체 표현 엔진(310)은 상기 적어도 하나의 속성 그룹에 속하는 각 속성들에 대응하는 데이타를 검색한다(915). 이 엔진은 그 다음 상기 검색된 데이타를 사용하여 상기 객체를 표현한다(920).
데이타베이스, 객체지향 언어, 속성, 속성 그룹, 객체, 객체 표현 엔진

Description

객체 및 엔터티의 표현을 구성하기 위한 방법 및 장치{METHOD AND APPARATUS FOR CONSTRUCTING REPRESENTATIONS OF OBJECTS AND ENTITIES}
본 발명은 객체지향 프로그래밍에 관한 것이다. 보다 구체적으로, 본 발명은 객체의 표현을 구성하는 방법 및 장치에 관한 것이다.
객체지향 프로그래밍 언어는 애플리케이션의 범위에서 프로그래머들에세 널리 사용되고 있다. 객체지향 프로그래밍 언어에서, 객체는 다수의 속성 또는 속성 필드를 갖는다. 어떤 객체들은 이러한 속성들을 많이 갖는 경향이 있다. 객체의 이러한 속성들 중 일부는 본질적으로 객체인 형식을 가질 수 있다. 따라서, 다른 객체에 대한 참조 포인트를 통해, 이러한 속성들은 더 많은 속성들을 지시한다.
폼(form), 테이블(table), 스프레드시트(spreadsheet), 또는 기타 객체의 속성들과 그 참조대상들에 기초한 시각적 표현과 같은, 사용자 인터페이스(UI)를 구축하는 것은 각 개별 속성이 그 표현에 포함되도록 특정해야 하는 것은 매우 번거로운 일이 될 수 있다. 이는 특히 요청된 속성이 참조되는 객체 상에 있는 경우 그러하다. 객체가 다른 객체로부터 유도되는 경우 이 문제는 보다 복잡해진다.
전형적인 애플리케이션이나 시스템에 있어서, 수백, 수천의 상이한 UI들(예컨대, 폼으로) 또는 다수의 상이한 객체들 및/또는 시각적으로 표현될 속성들의 조 합에 대한 기타의 표현들을 생성할 필요가 있다는 것이 일반적이다. 다수의 시각적 표현들을 생성하는 것은, 따라서, 매우 노동 집약적인 절차가 될 수 있다. 또한, 이러한 표현들을 수정하는 것도 번거롭다. 예를 들어, 객체들에 추가된 추가의 속성들을 반영하도록, 존재하는 표현들로 수정하는 것이 필요하다면, 이들을 형성하는 많은 노력이 먼저 반복되어야 한다. 그 결과, 최종 사용자를 위해 프로그래밍되고 설치되는 시스템에 있어서, 최종 사용자가 UI, 폼 또는 기타의 표현들을 필요하면 차후에 개별화하는 것은 보통 매우 어렵다.
적어도 하나의 속성을 갖는 객체의 표현을 구성하는 방법은, 객체를 표현하도록 선택된 객체와 연관된 적어도 하나의 속성 그룹을 식별하는 단계를 포함한다. 객체의 적어도 하나의 속성은 객체와 연관된 것으로 식별된 각 속성 그룹에 속한다. 달리 말해서, 객체와 연관된 속성 그룹들은 객체의 적어도 하나의 속성들에 할당되는 것으로 설명할 수 있다. 이 방법은 또한 식별된 속성 그룹의 속성 내에서 객체가 참조하는 임의의 다른 객체를 식별하는 단계를 포함한다. 객체 표현 엔진은 적어도 하나의 속성 그룹에 속하는 각 속성들에 대응하는 데이타를 검색한다. 이 엔진은 그 다음 검색된 데이타를 사용하여 객체를 표현한다. 객체를 표현하는 단계는 보통 검색된 데이타를 디스플레이함으로써 객체를 시각적으로 표현하는 단계를 포함한다.
일부 실시예들에서, 검색된 데이타를 디스플레이하는 단계는 이 속성들의 값들에 인접하여 적어도 하나의 속성 그룹 내의 속성들의 이름들을 디스플레이하는 단계를 더 포함한다. 각 속성 그룹의 이름은 그 속성 그룹 내의 속성들의 이름들에 인접하여 그리고 이 속성들의 값들에 인접하여 디스플레이될 수 있다.
본 발명의 일부 실시예들에서, 객체와 다른 객체들 간에 적어도 하나의 객체 상속 계층이 존재한다. 각 속성 그룹은 특정 객체 상속 계층에 고유하다. 일부 실시예들에서, 객체는 제2 객체의 특수화이다. 객체는 그 다음 제2 객체와 연관된 속성 그룹들을 상속할 수 있다.
일부 실시예들에서, 각 속성 그룹은 객체의 적어도 하나의 속성 및 단 하나의 다른 객체의 하나 이상의 속성들에 할당된다. 속성 그룹이 할당되는 속성들 각각에 대응하는 데이타를 검색하는 단계는 그 다음 제1 객체의 속성들 및 속성 그룹과 연관된 단 하나의 다른 객체의 속성들에 대응하는 데이타를 검색하는 단계를 더 포함한다.
일부 실시예들에서, 객체와 연관된 적어도 하나의 속성 그룹을 식별하는 단계는 객체와 연관된 디폴트(default) 속성 그룹을 식별하는 단계를 더 포함한다.
본 발명의 실시예들을 특정하는 기타의 특징들과 이점들은 이하의 상세한 설명과 관련 도면을 검토하면 명백해질 것이다.
도 1은 본 발명이 구현될 수 있는 하나의 예시적인 환경의 블럭도이다.
도 2는 본 발명이 구현될 수 있는 일반적인 모바일 컴퓨팅 환경의 블럭도이다.
도 3은 본 발명의 실시예들에 따른 객체 표현 시스템을 도시하는 블럭도이 다.
도 4는 객체들을 계층적인 관계로 도시하고, 본 발명의 속성 그룹 개념을 도시하는 블럭도이다.
도 5는 도 4에 도시된 객체와 연관 관계를 갖고 그 객체와 속성 그룹을 공유하는 객체를 도시하는 블럭도이다.
도 6은 객체에 의해 특정되고 본 발명의 속성 그룹 개념을 이용하여 형성된 된 사용자 인터페이스(UI)의 개략도이다.
도 7은 객체에 의해 특정되고 본 발명의 속성 그룹 개념을 이용하여 형성된 객체에 의해 특정된 제2 UI의 개략도이다.
도 8은 본 발명에 따른 방법을 도시하는 흐름도이다.
도 9는 본 발명에 따른 또다른 방법을 도시하는 흐름도이다.
이상 설명한 바와 같이, 객체지향 프로그래밍에서, 객체와 엔터티는 속성을 포함하며, 계층과 기타의 관계들을 통해 다른 객체들의 속성들을 지시한다. 엔터티는 영속 객체(persistable object)라고 기술할 수 있다. 달리 말해서, 엔터티는 데이타베이스에 저장될 수 있는 객체이다. 본 명세서에서 사용되는 용어 "객체"는 "엔터티"를 포함하는 것이다. 객체지향 프로그래밍의 일반적인 개념들, 예컨대, 상속(inheritance), 연관(association), 및 구성(composition)은 본 기술분야에서 알려져 있다. 예를 들어, K. Scott과 M, Fowler의 "UML Distilled: A Brief Guide to the Standard Object Modeling Language," (Addison-Wesley 1999)를 참조하라.
본 발명은, 일부분, 연관이나 상속을 사용하여 연결된 객체들의 속성들이 사용자 인터페이스(UI), 폼, 또는 객체(들)의 기타 표현이 보다 쉽게 특정되도록 한다는 인식에 기초한다. 속성들의 그룹화를 이용하는, 본 발명의 방법 및 장치는, 상속, 개별화(customization) 및 연관의 면에서 객체가 복합적일 때 UI 및 기타 표현들을 신속히 구성하기 쉽게 한다. 종래의 기술에서, 모든 UI, 폼, 웹페이지 또는 객체로부터의 데이타의 기타 표현은 객체에 대해 연장이 행해질 때마다 재고되어야 하는 것이 일반적이다. 본 발명의 방법 및 장치를 사용하여, 이러한 UI, 폼, 웹페이지 또는 객체의 기타 표현을 갱신하는 노동집약적인 작업을 수행할 필요없이 객체에 대해 연장이 행해질 수 있다.
도 1은 본 발명이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(100)의 일례를 도시한다. 이 컴퓨팅 시스템 환경(100)은 적절한 컴퓨팅 환경의 하나의 예일 뿐이고 본 발명의 사용이나 기능의 범위에 대해 어떠한 제한을 두려는 것은 아니다. 컴퓨팅 환경(100)은 예시적인 동작 환경(100)에 도시된 콤포넌트들의 임의의 하나 또는 그들의 조합에 관하여 어떠한 의존성이나 요구 조건을 갖는 것으로 해석되어서는 안된다.
본 발명은 수많은 다른 범용 또는 특수 목적 컴퓨팅 시스템 환경 또는 구성으로 동작된다. 공지의 컴퓨팅 시스템, 환경, 및/또는 본 발명에 이용하기에 적절한 구성의 예로는, 개인용 컴퓨터, 서버 컴퓨터, 휴대용 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능한 소비자 전자제품, 네트워크 PC, 미니 컴퓨터, 메인프레임 컴퓨터, 이상의 시스템 또는 장 치 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 포함하나, 이에 한정되지는 않는다.
본 발명은 컴퓨터에 의해 실행되는 프로그램 모듈 등의 컴퓨터로 실행가능한 명령어들의 일반적인 문맥으로 기술된다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이타 형태들을 구현하는 루틴, 프로그램, 오브젝트, 콤포넌트, 데이타 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 링크된 원격 프로세싱 장치에 의해 작업이 수행되는 분산 컴퓨팅 환경에서 실시될 수도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하여, 로컬 및 원격 저장 매체 모두에 위치할 수 있다.
도 1에 도시된 바와 같이, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 콤포넌트들은 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함하는 다양한 시스템 콤포넌트들을 프로세싱 유닛(120)에 결합하는 시스템 버스(121)를 포함하나, 이에 한정되지 않는다. 시스템 버스(121)는 메모리 버스나 메모리 콘트롤러, 주변 버스, 및 임의의 다양한 버스 아키텍쳐들을 사용하는 로컬 버스를 포함하는 몇가지 형태의 버스 구조들 중 임의의 것이 될 수 있다. 예를 들어, 이러한 아키텍쳐는 ISA(Industry Standard Archtecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메자닌(Mezzanine) 버스라고 알려진 PCI(Peripheral Component Interconnet) 버스를 포함하나, 이에 한정되지 않는다.
컴퓨터(110)는 전형적으로 다양한 컴퓨터 판독가능한 매체를 포함한다. 컴퓨터 판독가능한 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용가능한 매체가 될 수 있으며 휘발성 및 비휘발성 매체, 착탈식 및 비착탈식 매체를 모두 포함한다. 이에 한정되는 것은 아니지만, 예를 들어, 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체와 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능한 명령어, 데이타 구조, 프로그램 모듈 또는 기타의 데이타와 같은 정보를 저장하기 위한 임의의 방법 또는 기술로 구현될 수 있는 휘발성 및 비휘발성 매체, 착탈식 및 비착탈식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타의 메모리 기술, CD-ROM, DVD, 또는 기타의 광 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타의 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨터(110)에 의해 액세스가능한 임의의 다른 매체를 포함하나, 이에 한정되는 것은 아니다. 통신 매체는 전형적으로 반송파나 기타의 전송 메카니즘과 같이 변조된 데이타 신호 내에 컴퓨터 판독가능한 명령어, 데이타 구조, 프로그램 모듈 또는 기타의 데이타를 갖고, 임의의 정보 전달 매체를 포함한다. "변조된 데이타 신호"라는 용어는 그의 하나 이상의 특성 세트를 갖거나 그 신호 내의 정보를 인코딩하는 방식으로 변경된 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크 또는 직접 유선 접속, 및 음파, RF, 적외선 및 기타의 무선 매체와 같은 무선 매체를 포함하나 이에 한정되지 않는다. 이상의 것들의 임의의 조합이 역시 컴퓨터 판독가능한 매체의 범위 내에 포함된다.
시스템 메모리(130)는 ROM(read-only memory)(131)과 RAM(random access memory)(132)과 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 동안 등에 컴퓨터(110) 내의 구성요소들 간에 정보를 전달하는 것을 돕는 기본적인 루틴들을 포함하는 BIOS(basic input/output system)(133)은 일반적으로 ROM(131)에 저장된다. RAM(132)은 전형적으로 프로세싱 유닛(120)에 액세스가능 및/또는 거기서 바로 동작되고 있는 데이타 및/또는 프로그램 모듈을 포함한다. 이에 한정되지는 않지만, 예를 들어, 도 1은 운영 체계(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이타(137)를 도시한다.
컴퓨터(110)는 또한 기타의 착탈식/비착탈식 및 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 단지 예로서, 도 1은 비착탈식 비휘발성 자기 매체로부터 판독 또는 그에 기록하는 하드 디스크 드라이브(141), 착탈식 비휘발성 자기 디스크(152)로부터 판독 또는 그에 기록하는 자기 디스크 드라이브(151), CD-ROM이나 기타 광 매체 등 착탈식 비휘발성 광 디스크(156)로부터 판독 또는 그에 기록하는 광 디스크 드라이브(155)를 도시한다. 예시적인 동작 환경에 사용될 수 있는 기타의 착탈식/비착탈식 휘발성/비휘발성 컴퓨터 저장 매체는, 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지탈 비디오 테이프, 고상 RAM, 고상 ROM 등을 포함하나, 이에 한정되지 않는다. 하드 디스크 드라이브(141)는 일반적으로 인터페이스(140)와 같은 비착탈식 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 일반적으로 인터페이스(150)과 같은 착탈식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
이상 논의되고 도 1에 도시된 드라이브들과 관련 컴퓨터 판독가능한 매체는 컴퓨터 판독가능한 명령어, 데이타 구조, 프로그램 모듈 및 컴퓨터(110)에 대한 기타의 데이타를 저장한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체계(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이타(147)를 저장하는 것으로 도시된다. 이들 콤포넌트들은 운영 체계(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이타(137)와 같거나 다를 수 있다는 점에 유의한다. 운영 체계(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이타(147)에는 여기서 다른 참조번호가 주어져, 최소한 이들이 다른 것들이라는 것을 설명한다.
사용자는 키보드(162), 마이크로폰(163) 및 마우스, 트랙볼 또는 터치 패드와 같은 포인팅 장치 등의 입력 장치를 통해 컴퓨터(110)에 커맨드와 정보를 입력할 수 있다. 기타의 입력 장치들(도시되지 않음)에는 조이스틱, 게임 패드, 위성 접시, 스캐너 등이 포함될 수 있다. 이러한 입력 장치들과 기타의 입력 장치들은 흔히 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 접속되나, 패러랠 포트, 게임 포트, USB(Universal Serial Bus)와 같은 기타의 인터페이스와 버스 구조에 의해 접속될 수 있다. 모니터(191)나 기타 형태의 디스플레이 장치도 역시 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터 외에, 컴퓨터는 출력 주변 인터페이스(195)를 통해 접속될 수 있는, 스피커(197)와 프린터(196) 등의 기타의 주변 출력 장치를 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터에 대해 논리적 접속을 사용하는 네트워킹된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 개인용 컴퓨터, 휴대용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타의 공통 네트워크 노드가 될 수 있으며, 전형적으로 컴퓨터(110)에 대해 이상 기술한 구성요소들의 다수 또는 모두를 포함한다. 도 1에 도시된 논리적 접속들은 LAN(local area network)(171) 및 WAN(wide area network)(173)을 포함하나, 다른 네트워크도 포함할 수 있다. 이러한 네트워킹 환경은 사무실, 기업용 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔히 찾아볼 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스나 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 전형적으로 모뎀(172) 또는 인터넷과 같이 WAN(173) 상에서 통신을 확립하기 위한 기타의 수단들을 포함한다. 모뎀(172)은 내장형이거나 외장형일 수 있는데, 사용자 입력 인터페이스(160) 또는 기타의 적절한 메카니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워킹된 환경에서, 컴퓨터(110)에 대해 도시된 프로그램 모듈들이나 그의 부분들은 원격 메모리 저장 장치에 저장될 수 있다. 이에 한정되는 것은 아니지만, 예를 들어, 도 1은 원격 컴퓨터(180) 상에 존재하는 원격 애플리케이션 프로그램(185)을 도시한다. 도시된 네트워크 접속들은 예시적인 것이며 컴퓨터들 간에 통신 링크를 확립하기 위한 기타의 수단들이 사용될 수 있다는 것을 알아야 할 것이다.
도 2는 다른 예시적인 컴퓨팅 환경인, 모바일 장치(200)의 블럭도이다. 모 바일 장치(200)는 마이크로프로세서(202), 메모리(204), 입력/출력(I/O) 콤포넌트(206), 및 원격 컴퓨터나 기타의 모바일 장치와 통신하는 통신 인터페이스(208)를 포함한다. 일실시예에서, 상기한 콤포넌트들은 적절한 버스(210) 상에서 서로 통신하도록 결합되어 있다.
메모리(204)는 모바일 장치(200)로의 기본 전력이 끊어질 때 메모리(204)에 저장된 정보가 소실되지 않도록 배터리 백업 모듈(도시되지 않음)을 갖는 RAM과 같은 비휘발성 전자 메모리로서 구현된다. 메모리(204)의 일부는 바람직하게는 프로그램 실행을 위해 어드레스가능한 메모리로서 할당되는 한편, 메모리(204)의 다른 부분은 바람직하게는, 디스크 드라이브 상의 저장을 모의하는 등, 저장에 사용된다.
메모리(204)는 운영 체계(212), 애플리케이션 프로그램(214) 뿐만 아니라 객체 스토어(216)를 포함한다. 동작중, 운영 체계(212)는 바람직하게는 메모리(204)로부터 프로세서(202)에 의해 실행된다. 바람직한 실시예에서, 운영 체계(212)는 마이크로소프트사로부터 상업적으로 구할 수 있는 윈도우즈® CE 브랜드 운영 체계이다. 운영 체계(212)는 바람직하게는 모바일 장치를 위해 설계되고, 노출된 애플리케이션 프로그래밍 인터페이스 및 방법 세트를 통해 애플리케이션(214)에 의해 이용될 수 있는 데이타베이스 기능들을 구현한다. 객체 스토어(216)의 객체들은, 적어도 부분적으로는, 노출된 애플리케이션 프로그래밍 인터페이스 및 방법에 대한 호출에 대한 응답으로, 애플리케이션(214) 및 운영 체계(212)에 의해 유지된다.
통신 인터페이스(208)는 모바일 장치(200)가 정보를 송수신하도록 하는 다수의 장치 및 기술을 나타낸다. 몇가지만 대자면, 이 장치는 유선 및 무선 모뎀, 위성 수신기 및 방송 튜너를 포함한다. 모바일 장치(200)는 또한 데이타를 교환하기 위한 컴퓨터에 직접 접속될 수 있다. 이러한 경우에, 통신 인터페이스(208)는 적외선 송수신기 또는 시리얼 또는 패러랠 통신 접속이 될 수 있는데, 이들 모두는 스트리밍 정보를 전송할 수 있다.
입력/출력 콤포넌트(206)는 터치 스크린, 버튼, 롤러, 및 마이크로폰과 같은 다양한 입력 장치 뿐만 아니라 오디오 발생기, 진동 장치, 및 디스플레이를 포함하는 다양한 출력 장치를 포함한다. 이상 열거한 장치는 예시적인 것이며 모두 모바일 장치(200) 상에 존재할 필요는 없다. 또한, 기타의 입력/출력 장치들이 모바일 장치(200)에 부착되거나 그에 제공될 수 있다.
이제 도 3을 참조하면, 본 발명의 실시예들에 따른 객체 표현 시스템(300)을 도시하는 블럭도가 도시된다. 객체 표현 시스템(300)은 객체 인스턴스(object instances)를 구축하기(populating) 위한 데이타가 저장되는 객체 데이타베이스(305)를 포함한다. 시스템(300)은 또한 객체, 속성 타입 등을 정의하는 데이타나 정보를 포함하는 객체 정의 데이타베이스(306)를 포함한다. 객체 표현 엔진(310)은 데이타베이스(306)로부터 객체 표현 데이타를 탐색한 다음, 객체 인스턴스들을 데이타베이스(305)로부터의 데이타와 함께 구축함으로써 객체들의 인스턴스들을 생성한다.
데이타베이스(305 및 306)을 사용하여 정의된 객체들은 이 객체들의 속성들 과 연관된 속성 그룹들을 갖는다. 앞서 언급된 바와 같이, 속성 그룹과 객체들의 속성들과의 연관은 속성 그룹에 속하는 속성들로, 혹은 속성들에 할당되는 속성 그룹으로 기술될 수 있다. 두 기술 모두 정확하다. 이러한 속성 그룹을 이용하여, 객체 표현 엔진(310)은 하나 이상의 객체들의 어느 속성이 표현되는지를 식별하고, 이 속성들에 대응하는 데이타를 검색한다. 객체 표현 엔진(310)은 그 다음 객체 표현(315)을 생성한다. 객체 표현(315)은, 예를 들어, 디스플레이 장치, 프린트된 페이지 등의 객체의 하나 이상의 시각적 표현이 될 수 있다. 시각적 표현의 예로는, 몇가지만 대자면, UI, 폼, 테이블, 스프레드시트, 웹 페이지가 포함된다. 본 발명의 속성 그룹에 기초한 비시각적 표현도 가능하다. 속성 그룹이 객체와 연관되는 방식 및 객체 표현 엔진(310)이 속성 그룹을 사용하여 객체 표현을 생성하는 방식은 도 4-9를 참고로 이하에 상세히 기술된다.
연관, 상속, 구성 또는 개별화를 이용하여 연결된 객체들의 주어진 세트에서, 각 객체는 전형적으로 단순한 타입(예컨대, int/string) 또는 다른 객체에 대한 참조를 나타내는 적어도 몇가지의 속성들을 갖는다. 각 객체에 대해서, 그룹 이름이 각 속성에 할당될 수 있다. 그룹 이름은 객체 상속 계층 별로 고유한 것이어야 한다. 각 객체에 대해서, 그룹은 이 속성 세트가 객체의 바람직한 표현이라는 것을 나타내는 디폴트 그룹으로 표시될 수 있다. 사용자 인터페이스가 그 다음 어느 그룹이 그 객체를 나타내는지를 특정함으로써 구성될 수 있다. 그룹이 다른 객체에 대한 참조인 속성을 포함하면, 이 객체는 그 다른 객체의 디폴트 그룹으로서 표현된다.
도 4 및 5는 객체 계층 및 참조의 일례를 도시한다. 도 4에는 세 개의 객체, SalesDocument(410), PackingSlip(420) 및 Invoice(430)가 도시된다. PackingSlip 객체(420)와 Invoice 객체(430)는 각각 상속 계층(412 및 414)에 의해 SalesDocument 객체(410)와 연관된다. 다시 말해서, PackingSlip 객체(420) 및 Invoice 객체(430)는 SalesDocument 객체(410)의 특수화이다. 달리 말해서, SalesDocument 객체(410)는 PackingSlip 객체(420) 및 Invoice 객체(430)의 일반화이다.
SalesDocument 객체(410)는 도 4의 411에 도시된 5개의 속성들 또는 속성 필드들을 포함한다. 이 예에서, SalesDocument 객체(410)의 제1 및 제2 속성은 "ID" 속성과 "Type" 속성을 포함한다. 이 속성들의 값들은 이 값들에 포함되는 데이타의 타입에 기초하여 도 4에 표현된다. 예를 들어, ID 속성이 정수(int) 값으로 표현되는 반면, Type 속성은 스트링(string) 값으로 표현된다. Type 속성 필드를 채우는 스트링 값들의 예로는, 이 예에서, "PackingSlip" 및 "Invoice"가 포함된다. Type 속성 또는 속성 필드의 기타 예로는 "Quotation," "Confirmation," "Receipt" 등이 포함될 수 있다.
SalesDocument 객체(410)의 제3 속성, Customer 속성은 실제로 다른 객체에 대한 포인터이다. SalesDocument 객체(410)의 이 속성이 지시하는 Customer 객체(450)가 도 5에 도시된다. SalesDocument 객체(410)의 처음 세 개의 속성들이 속성 그룹 "Main"(460)에 할당되었다. Main 속성 그룹(460)은, 일실시예에서, 디폴트 속성 그룹이다. 광범위한 상이한 방법들 중 임의의 것이 어느 속성 그룹이 디 폴트 속성 그룹인지를 지정하는데 사용될 수 있다. 이하에서 보다 상세히 기술되는 바와 같이, SalesDocument 객체(410)의 처음 세 개의 속성들을 Main 속성 그룹(460)에 할당함으로써, 이 속성들과 연관된 속성 값 정보가 객체(410)의 시각적인 표현을 생성하기 위한 Main 속성 그룹에 대한 포인터를 포함함으로써 함께 간편하게 디스플레이될 수 있다.
SalesDocument 객체(410)의 최종 두 개의 속성들 또는 필드들은 모두 스트링 값들을 갖는 "CreatedDate" 및 "Language"이다. 이 두 필드들이 모두 성질상 관리적이므로, 이들을 함께 하나의 폼 또는 기타의 시각적 표현으로 보기를 원할 수 있다. 이를 용이하게 하기 위해, 이 두 속성들은 도 4에 도시된 제2 속성 그룹, "Administration" 속성 그룹(470)에 각각 포함된다.
도 4에 도시된 예에는, SalesDocument 객체(410)의 두 개의 특수화, PackingSlip 객체(420) 및 Invoice 객체(430)가 있다. PackingSlip 객체(420)는 다른 객체에 대한 포인터를 값으로 갖는 "Warehouse"라는 참조 번호 421로 표시되는 하나의 속성을 포함한다. PackingSlip 객체(420)의 속성 필드 내에서 지시되는 Warehouse 객체는 도시되지 않았지만, 다수의 웨어하우스 중 어느 것으로 아이템이 송신되거나 수신될 것인지를 지정하는데 사용될 것이다. 이 예에서, Warehouse 속성(421)은 Administration 속성 그룹(470)에 포함된다.
SalesDocument 객체(410)의 특수화인 Invoice 객체(430)에 대해서는, 두 개의 속성 또는 속성 필드, 참조번호 431로 표시되는 "Profile" 속성과 "NumberSequence" 속성이 존재한다. Invoice 객체(430)의 두 속성들은 다른 객체 들(도시되지 않음)에 대한 포인터들이다. 이 속성들 각각은 제3 속성 그룹, "Booking" 속성 그룹(480)에 포함된다.
도 5를 다시 참조하면, "Customer" 객체(450)는 참조 번호 451로 도시되는 세 개의 속성을 포함한다. 첫번째 두 속성들, 정수값을 갖는 Customer "ID" 및 스트링값을 갖는 Customer "Name"이 Main 또는 디폴트 속성 그룹(460)에 포함된다. Customer 객체(460)의 제3 속성은 "Address"로, 이는 다른 객체(도시되지 않음)에 대한 포인터이다. Customer 객체(460)의 이 제3 속성은 "Address"라고 하는 속성 그룹(490)에 포함되다.
본 발명의 속성 그룹 개념을 이용하여, 어느 속성이 폼 또는 표현에 있는지를 특정함으로써 UI 또는 기타의 객체 표현이 간단히 정의되거나 생성된다. 도 3에 도시된 객체 표현 엔진(310)은 그 다음 속성 그룹들이 할당되는 다수의 객체들로부터의 속성들을 포함하는, 데이타베이스(305) 내의 이러한 속성 그룹들의 내용을 탐색하고, 이 필드들을 디스플레이한다. 일부 예시적인 실시예들에서, 특정 속성 그룹들의 속성들은 객체의 시각적 표현에 함께 디스플레이된다. 속성 그룹 내의 속성들의 이름들은 그 표현에 대한 콘트롤에 매칭되고, 이 속성들의 값들에 대응하는 값의 필드에 매핑된다.
도 6은 도 4에 도시된 SalesDocument 객체(410)에 대한 UI, 폼 또는 기타의 시각적 표현(500)을 개략적으로 도시한 것이다. 이 UI(500)는 Main(즉, SalesDocument.Main) 속성 그룹(460) 및 Administration(즉, SalesDocument.Administration) 속성 그룹(470)이 그 폼에 있다는 것을 특정함으로 써 SalesDocument 객체(410)에 대해 정의된다. 객체 표현 엔진(310)은 데이타베이스(305)로부터의 속성 그룹들의 내용을 탐색하고, UI(500) 상에 이러한 필드들을 디스플레이한다. 객체 표현 엔진(310)이 SalesDocument 객체(410) 상의 Main 또는 디폴트 속성 그룹의 일부로서 Customer 속성을 검출하면, Customer 객체(450)로 가서 디폴트 속성 그룹(Main)(460)을 찾고 이에 대응하는 필드들을 역시 디스플레이한다.
도 6에 도시된 바와 같이, UI 또는 폼(500)에서, Main 속성 그룹(460)의 이름이 이 속성 그룹의 이름을 시각적으로 나타내는 콘트롤(510)에 매핑된다. 유사하게, Main 속성 그룹(460)에 있는 SalesDocument 객체(410)로부터의 ID, Type 및 Customer 속성들도 콘트롤들(511, 513, 515)에 각각 매핑되어, UI(500)에 이러한 속성들의 이름들을 시각적으로 디스플레이한다. SalesDocument 객체(410)의 Main 속성 그룹(460)의 첫번째 두 속성들의 값들은 시각적으로 콘트롤(511 및 513)에 대응하는 필드들(512 및 514)에 매핑된다. 따라서, SalesDocument는 ID 번호 "1548" 및 타입 "Invoice"를 갖는 것으로 도시되어 있다. Main 속성 그룹(460)의 SalesDocument 객체(410)의 Customer 속성이 도 5에 도시된 Customer 객체(450)에 대한 포인터이므로, 객체 표현 엔진(130)은 이 속성의 이름 "Customer"를 콘트롤(515)에 매핑하고, 객체(450)으로부터의 대응하는 속성들의 이름들 "ID" 및 "Name"을 콘트롤(516 및 518)에 매핑한다. Customer 객체(450)로부터의 이러한 속성들의 값들은 그 다음에 값 필드들(517 및 519)로 각각 매핑된다. 따라서, SalesDocument 객체(410)에서 언급되는 Customer 객체는 Customer ID "10009" 및 Customer Name "Alfred Futterkiste"로 식별된다. 일부 실시예들에서, Main 속성 그룹(460)에 대응하는 UI(500) 내의 콘트롤들(510, 511, 513, 515, 516, 518)과 대응하는 매핑된 값들(512, 514, 517, 519)은 경계나 기타 시각적으로 구분하는 것(505)를 사용하여 시각적으로 그룹화된다.
유사하게, Administration 속성 그룹(470)이 SalesDocument 객체(410)의 표현의 일부로 지정되었으므로, 그의 속성 및 속성 그룹의 이름들은 UI(500)의 콘트롤들(530, 531, 533)에 매핑된다. 이러한 속성들의 대응하는 값들은 값 필드들(532 및 534)에 매핑된다. 따라서, SalesDocument 객체(410)는 2003년 8월 10일 생성되었고, 언어는 미국 영어라는 것을 볼 수 있다. 역시, 원하면, 경계나 기타 구분하는 것(506)이 속성 이름들과 Administration 속성 그룹(470)의 값들을 시각적으로 그룹화하는데 사용될 수 있다. 이 실시예에서, SalesDocument 객체(410)의 "CreatedDate"나 "Language"는 다른 객체에 대한 포인터들을 포함하지 않아서, UI(500)의 Administration 부분에 포함되는 더이상의 속성들이 검색되지 않는다는 점에 유의한다.
본 발명의 일부 실시예들에서, 상속을 사용할 때, 속성 그룹들도 역시 상속된다. 그러나, 보다 많은 속성들이 동일한 속성 그룹에 추가될 수 있다. 예를 들어, 도 7을 참조하면, PackingSlip 객체(420)에 대한 UI, 폼 또는 시각적 표현(550)을 정의하기 위해 속성들 Main(460)과 Administration(470)이 다시 특정될 수 있다. 그와 달리, 다른 실시예들에서는, PackingSlip 객체(420)를 정의하는데 사용되는 속성 그룹들은 간단히 SalesDocument 객체(410)로부터 상속될 수 있는데, 이들 두 속성 그룹들은 SalesDocument 객체를 시각적으로 표현하는데 사용되도록 사전에 지정되었기 때문이다. 이 실시예들에서는, PackingSlip 객체(420)의 시각적 표현의 일부로서 디스플레이될 임의의 추가의 속성 그룹들을 특정할 필요만 있을 것이다. 도 4에 도시된 예에서, SalesDocument 객체(410)를 표현하는데 사용되는 것들과 구별되는 추가의 속성 그룹들은 없다.
PackingSlip 객체(420)를 시각적으로 표현하는데 사용되는 UI(550)는 SalesDocument 객체(410)를 시각적으로 표현하는데 사용되는 UI(500)과 매우 유사하다. 하나의 차이는 콘트롤(513)에 매핑된 Type 속성에 대응하는 값 필드(554)에서 찾아볼 수 있다. 이 경우, 이 속성의 스트링 값은 "Invoice"에서 "PackingSlip"으로 변경되었다. UI(550)와 UI(500) 간의 다른 차이는 Administration 속성 그룹(470)의 추가 속성들에 관한 것이다. PackingSlip 객체(420)는 Administration 속성 그룹(470) 내에 Warehouse 속성(도 4에 421로 도시됨)을 포함하므로, 객체 표현 엔진(310)은 이 데이타를 데이타베이스(305)로부터 역시 검색한다. 따라서, UI(550)에 디스플레이된 Administration 속성 그룹 정보는 콘트롤(535)에 매핑된 이 속성의 이름 "Warehouse"를 포함한다. PackingSlip 객체 내의 Warehouse 속성이 다른 객체에 대한 포인터이므로, 속성 필드(536)에 매핑된 값 "New York"이 데이타베이스(305) 내의 이 다른 객체로부터 검색된다.
이상 언급한 바와 같이, 어느 속성 그룹이 특정 객체에 대해 UI에 시각적으로 표현될지를 정의하는 것은 많은 방식으로 행해질 수 있다. 예를 들어, 각 속성 그룹들은 객체 표현을 위해서 구체적으로 목록화될 수 있다. 그와 달리, 객체는 그 객체의 일반화를 시각적으로 나타내는데 사용되는 속성 그룹들을 상속할 수 있다. 또한, 속성 그룹들은 상속되는 것에 더하여 목록화될 수도 있다. 예를 들어, Invoice 속성 그룹(430)에 대해서, SalesDocument 객체(410)로부터 상속되는 속성 그룹들에 외에, "Booking" 속성 그룹(480)이 또한 시각적 표현에 사용된다는 것도 특정될 수 있다.
일반적인 속성 그룹들, 및 연관 및 구성으로 인한 속성들에서 나오는 특정 디폴트 속성 그룹들을 사용하여 객체나 엔터티의 시각적인 표현 및 기타의 표현들을 생성하는 매우 향상된 방식을 제공한다. 수백개나 수천개 될 수 있는 생성될 각 특정 상이한 타입의 폼 또는 시각적 표현에 대해서, 필요한 모든 것은 특정 객체를 표현할 속성 그룹들이 특정되는 것이다. 특정 폼 또는 시각적 표현을 변경하여 다른 속성 그룹들의 다른 속성들을 포함시키기 위해서는, 객체를 표현하는데 사용하기 위해 특정되는 속성 그룹들을 변경하는 것만이 필요할 것이다. 또한, 객체의 속성들이 변경, 추가 또는 삭제되면, 본 발명의 개념을 사용하면 이전에 생성된 다수의 폼 또는 시각적 표현들 각각을 수정할 필요가 없다. 그 대신, 속성이 변경, 추가 또는 삭제된 객체에 대해서, 속성 그룹들이 재정의되어야 한다. 따라서, 본 발명은 객체가 상속, 개별화, 연관의 면에서 복합적일 때 UI를 신속히 구성하는 것을 용이하게 하기 위한 방법 및 장치 뿐만 아니라, 모든 폼, 웹 페이지, UI 또는 문제의 객체로부터의 데이타를 나타내는 기타의 시각적 표현을 재고할 필요 없이 객체의 속성을 수정하는 방법 및 장치를 제공한다.
도 8은 예컨대, 도 3에 도시된 데이타베이스(305 및/또는 306) 등의 데이타 베이스에 데이타를 저장하는 방법을 도시하는 블럭도(800)이다. 이 방법은 본 발명의 개념을 사용하여 객체의 표현이 구성되도록 한다. 도 8의 805에 도시된 바와 같이, 이 방법은 데이타베이스 내의 객체들과 속성 그룹들을 연관시키는 것을 포함한다. 한가지 표현 방식으로, 이는 속성 그룹들이 데이타베이스(306) 내에서 객체 정의 다음에 저장되고, 305에는 데이타 인스턴스만이 저장되는 것으로 생각될 수 있다. 이상 논의한 바와 같이, 객체와 연관된 각 속성 그룹은 객체의 적어도 하나의 속성을 포함한다. 그 다음, 810에 도시된 바와 같이, 이 방법은 데이타베이스에 속성 그룹들을 저장하는 단계를 포함한다. 마지막으로, 815에 도시된 바와 같이, 이 방법은 객체를 표현하는데 어느 속성 그룹들이 사용되는지를 특정하는 단계를 포함한다. 예시적인 일실시예에서, "Main" 속성 그룹이 객체를 표현하기 위한 디폴트 속성 그룹이다. 도 8에 도시된 이 방법의 다른 측면들이 도 3-7을 참조로 이상 기술되었다.
도 9는 데이타베이스에서 특정 객체의 표현을 구성하는 방법을 도시하는 블럭도(900)이다. 도 9에 도시된 방법은 도 3-7을 참조로 이상 기술된 방법의 일실시예이며, 객체 표현 엔진(310)에 의해 구현될 수 있다. 먼저, 905에 도시된 바와 같이, 이 방법은 객체를 표현하도록 선택된 객체와 연관된 적어도 하나의 속성 그룹을 식별하는 단계를 포함한다. 객체의 적어도 하나의 속성은 객체와 연관된 각 속성 그룹에 속할 것이다.
910에 도시된 바와 같이, 이 방법은 식별된 속성 그룹의 속성 내에서 특정 객체가 참조하는 임의의 다른 객체를 식별하는 단계를 더 포함한다. 그 다음 915 에 도시된 바와 같이, 이 방법은 하나 이상의 식별된 속성 그룹들에 속하는 각 속성들에 대응하는 데이타를 검색하는 단계를 포함한다. 이 데이타는 예를 들어, 도 3에 도시된 데이타베이스(305)로부터 검색될 수 있다. 마지막으로, 도 9에 도시된 바와 같이 이 방법은 검색된 데이타를 사용하여 객체를 표현하는 단계를 포함한다. 객체의 표현은 검색된 데이타가 속성들의 이름들, 원하면, 도 6 및 7에 도시된 바와 같이 속성들이 속하는 속성 그룹들의 이름들 다음에 디스플레이되는 시각적 표현이 될 수 있다.
본 발명이 특정 실시예들을 참조로 기술되었지만, 본 기술분야의 숙련자라면 본 발명의 사상과 범위에서 벗어나지 않고 형태와 세부사항에 있어서 변경이 가해질 수 있다는 것을 인식할 것이다.

Claims (23)

  1. 적어도 하나의 속성을 갖는 객체의 표현을 구성하는 방법으로서,
    상기 객체를 표현하도록 선택된 상기 객체와 연관된 적어도 하나의 속성 그룹을 식별하는 단계 - 상기 객체의 적어도 하나의 속성은 상기 객체와 연관된 각 속성 그룹에 속함 - ;
    식별된 속성 그룹의 속성 내에서 상기 객체가 참조하는 임의의 다른 객체를 식별하는 단계;
    상기 적어도 하나의 속성 그룹에 속하는 각 속성들에 대응하는 데이타를 검색하는 단계; 및
    상기 검색된 데이타를 사용하여 상기 객체를 표현하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 객체를 표현하는 상기 단계는 상기 검색된 데이타를 디스플레이함으로써 상기 객체를 시각적으로 표현하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 검색된 데이타를 디스플레이하는 상기 단계는 이 속성들의 값들에 인접하여 상기 적어도 하나의 속성 그룹에 속하는 속성들의 이름들을 디스플레이하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서,
    상기 적어도 하나의 속성 그룹에 속하는 속성들의 이름들을 디스플레이하는 상기 단계는 그 속성 그룹에 속하는 속성들의 이름들에 인접하여 그리고 이 속성들의 값들에 인접하여 각 속성 그룹의 이름을 디스플레이하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 검색된 데이타를 사용하여 상기 객체를 표현하는 상기 단계는 그 자신의 속성 그룹들 및 그 부모의 속성 그룹들을 사용하여 상기 객체를 표현하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 객체와 상기 다른 식별된 객체들 간에 적어도 하나의 객체 상속 계층이 존재하고, 각 속성 그룹은 특정 객체 상속 계층에 고유한 방법.
  7. 제6항에 있어서,
    상기 객체는 제2 객체의 특수화이며, 상기 객체는 상기 제2 객체와 연관된 상기 속성 그룹들을 상속하는 방법.
  8. 제6항에 있어서,
    각 속성 그룹에 대해서, 상기 속성 그룹에 속하는 속성들은 상기 객체의 적어도 하나의 속성 및 단 하나의 다른 객체의 하나 이상의 속성들을 포함하는 방법.
  9. 제8항에 있어서,
    적어도 하나의 속성 그룹에 대하여, 상기 속성 그룹에 속하는 각 속성들에 대응하는 데이타를 검색하는 상기 단계는 상기 객체의 속성들 및 상기 속성 그룹과 연관된 단 하나의 다른 객체의 속성들에 대응하는 데이타를 검색하는 단계를 더 포함하는 방법.
  10. 제1항에 있어서,
    상기 객체와 연관된 적어도 하나의 속성 그룹을 식별하는 상기 단계는 상기 객체와 연관된 디폴트 속성 그룹을 식별하는 단계를 더 포함하는 방법.
  11. 각각이 적어도 하나의 속성을 갖는 객체들의 표현들을 구성하는 방법으로서,
    데이타베이스 내의 객체들과 속성 그룹들을 연관시키는 단계 - 객체와 연관된 각 속성 그룹은 상기 객체의 적어도 하나의 속성을 포함함 - ;
    상기 데이타베이스 내에 상기 속성 그룹들을 저장하는 단계; 및
    상기 데이타베이스 내의 복수의 객체들 각각에 대해서, 어느 속성 그룹들이 상기 객체를 표현하는데 사용될 것인지를 특정하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 데이타베이스 내의 복수의 객체들 중 일부 간에 객체 상속 계층들이 존재하고, 속성 그룹들을 객체들과 연관시키는 상기 단계는 각 속성 그룹이 특정 객체 상속 계층에 고유하도록 속성 그룹들을 객체와 연관시키는 단계를 더 포함하는 방법.
  13. 제11항에 있어서,
    상기 데이타베이스 내의 객체들과 속성 그룹들을 연관시키는 상기 단계는 상기 속성 그룹들 중 적어도 하나가 두 개의 객체들과 연관되어 상기 두 객체들의 속성들이 상기 속성 그룹에 속하도록 상기 데이타베이스 내의 객체들을 속성 그룹들과 연관시키는 단계를 더 포함하는 방법.
  14. 제11항에 있어서,
    적어도 하나의 속성을 갖는 특정 객체의 표현을 구성하기 위하여, 상기 방법은,
    상기 객체를 표현하도록 선택된 상기 객체와 연관된 적어도 하나의 속성 그룹을 식별하는 단계 - 상기 객체의 적어도 하나의 속성은 상기 객체와 연관된 각 속성 그룹에 속함 - ;
    식별된 속성 그룹의 속성 내에서 상기 객체가 참조하는 임의의 다른 객체를 식별하는 단계;
    상기 적어도 하나의 속성 그룹에 속하는 각 속성들에 대응하는 데이타를 검색하는 단계; 및
    상기 검색된 데이타를 사용하여 상기 객체를 표현하는 단계
    를 더 포함하는 방법.
  15. 제14항에 있어서,
    상기 객체를 표현하는 상기 단계는 상기 검색된 데이타를 디스플레이함으로써 상기 객체를 시각적으로 표현하는 단계를 더 포함하는 방법.
  16. 제15항에 있어서,
    상기 검색된 데이타를 디스플레이하는 상기 단계는 이 속성들의 값들에 인접하여 상기 적어도 하나의 속성 그룹에 속하는 속성들의 이름들을 디스플레이하는 단계를 더 포함하는 방법.
  17. 제16항에 있어서,
    상기 적어도 하나의 속성 그룹에 속하는 속성들의 이름들을 디스플레이하는 상기 단계는 그 속성 그룹에 속하는 속성들의 이름들에 인접하여 그리고 이 속성들 의 값들에 인접하여 각 속성 그룹의 이름을 디스플레이하는 단계를 더 포함하는 방법.
  18. 제14항에 있어서,
    상기 객체와 상기 다른 식별된 객체들 간에 적어도 하나의 객체 상속 계층이 존재하는 방법.
  19. 제18항에 있어서,
    상기 객체는 제2 객체의 특수화이며, 상기 객체는 상기 제2 객체와 연관된 상기 속성 그룹들을 상속하는 방법.
  20. 제18항에 있어서,
    각 속성 그룹에 대해서, 상기 속성 그룹에 속하는 속성들은 상기 객체의 적어도 하나의 속성 및 단 하나의 다른 객체의 하나 이상의 속성들을 포함하는 방법.
  21. 제20항에 있어서,
    적어도 하나의 속성 그룹에 대하여, 상기 속성 그룹에 속하는 각 속성들에 대응하는 데이타를 검색하는 상기 단계는 상기 객체의 속성들 및 상기 속성 그룹과 연관된 단 하나의 다른 객체의 속성들에 대응하는 데이타를 검색하는 단계를 더 포함하는 방법.
  22. 제1항 내지 제21항 중 어느 한 항의 방법을 구현하도록 구성된 객체 표현 시스템.
  23. 제1항 내지 제21항 중 어느 한 항의 방법을 구현하기 위한 컴퓨터 실행가능한 명령어들을 포함하는 컴퓨터 판독가능한 매체.
KR1020057008340A 2004-04-12 2004-07-23 객체 및 엔터티의 표현을 구성하기 위한 방법 및 객체 표현 시스템 KR101150121B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/822,444 US8225221B2 (en) 2004-04-12 2004-04-12 Method and apparatus for constructing representations of objects and entities
US10/822,444 2004-04-12
PCT/US2004/023695 WO2005103861A1 (en) 2004-04-12 2004-07-23 Method and apparatus for constructing representations of objects and entities

Publications (2)

Publication Number Publication Date
KR20070047675A true KR20070047675A (ko) 2007-05-07
KR101150121B1 KR101150121B1 (ko) 2012-07-03

Family

ID=35061800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057008340A KR101150121B1 (ko) 2004-04-12 2004-07-23 객체 및 엔터티의 표현을 구성하기 위한 방법 및 객체 표현 시스템

Country Status (6)

Country Link
US (1) US8225221B2 (ko)
EP (1) EP1618463A4 (ko)
JP (1) JP4719212B2 (ko)
KR (1) KR101150121B1 (ko)
CN (1) CN1768319A (ko)
WO (1) WO2005103861A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150137055A (ko) * 2013-03-04 2015-12-08 르노 에스.아.에스. 전기 시스템들의 전기 회로도들의 후속적 도식적 생성을 목적으로 자동차들에 관한 데이터를 관리하기 위한 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827481B1 (en) * 2005-07-25 2010-11-02 Adobe Systems Incorporated Defining style values as objects
US8099664B2 (en) * 2006-03-17 2012-01-17 Microsoft Corporation Dynamic help user interface control with secured customization
US20070220429A1 (en) * 2006-03-17 2007-09-20 Microsoft Corporation Layered customization of a help user interface
US8918732B2 (en) * 2008-08-09 2014-12-23 Hewlett-Packard Development Company, L.P. Program object properties defined by object space
US8359308B2 (en) * 2010-04-01 2013-01-22 Microsoft Corporation Inline data correlation and hierarchical datasets
US9336331B2 (en) 2010-04-26 2016-05-10 Ca, Inc. Detecting, using, and sharing it design patterns and anti-patterns
US8723863B2 (en) * 2010-07-07 2014-05-13 Siemens Product Lifecycle Management Software Inc. Data processing system with construction geometry
JP2015510651A (ja) * 2012-02-23 2015-04-09 アジャイ ジャドハブ 持続的ノードフレームワーク
GB201300255D0 (en) * 2013-01-08 2013-02-20 Ibm Object naming
US20160314180A1 (en) * 2015-04-27 2016-10-27 Honeywell International Inc. System of dynamic hierarchies based on a searchable entity model
US10802835B2 (en) 2016-12-15 2020-10-13 Nutanix, Inc. Rule-based data protection
WO2019089888A1 (en) * 2017-11-01 2019-05-09 Walmart Apollo, Llc Systems and methods for dynamic hierarchical metadata storage and retrieval

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241624A (en) 1991-10-03 1993-08-31 International Business Machines Corporation Method for determining a user selected group of data objects for the propagation of attribute values
JP3217896B2 (ja) 1993-05-17 2001-10-15 株式会社日立製作所 オブジェクト情報定義支援システム
US5615367A (en) * 1993-05-25 1997-03-25 Borland International, Inc. System and methods including automatic linking of tables for improved relational database modeling with interface
US5548749A (en) * 1993-10-29 1996-08-20 Wall Data Incorporated Semantic orbject modeling system for creating relational database schemas
US5627979A (en) 1994-07-18 1997-05-06 International Business Machines Corporation System and method for providing a graphical user interface for mapping and accessing objects in data stores
DE59604239D1 (de) 1996-08-20 2000-02-24 Alcatel Sa Verfahren zur Unterstützung des Erzeugens eines Objektes
CN1266514A (zh) * 1997-08-11 2000-09-13 西加特技术有限公司 面向对象的数据存储装置
US6108664A (en) 1997-10-31 2000-08-22 Oracle Corporation Object views for relational data
US6097382A (en) 1998-05-12 2000-08-01 Silverstream Software, Inc. Method and apparatus for building an application interface
US6430549B1 (en) * 1998-07-17 2002-08-06 Electronic Data Systems Corporation System and method for selectivety defining access to application features
US6240422B1 (en) * 1998-07-29 2001-05-29 American Management Systems, Inc. Object to relational database mapping infrastructure in a customer care and billing system
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6738077B1 (en) * 2000-07-18 2004-05-18 Apple Computer, Inc. Dynamic generation and automated distribution of user interface from database model
US7475333B2 (en) * 2001-06-01 2009-01-06 Sap Ag Defining form formats with layout items that present data of business application
US7149734B2 (en) * 2001-07-06 2006-12-12 Logic Library, Inc. Managing reusable software assets
CA2357969A1 (en) * 2001-09-28 2003-03-28 Dirk Alexander Seelemann Customazation of object property layout for a user interface
US7243334B1 (en) * 2002-01-16 2007-07-10 Prelude Systems, Inc. System and method for generating user interface code
US20050235248A1 (en) * 2002-05-16 2005-10-20 Agency For Science, Technology And Research Apparatus for discovering computing services architecture an developing patterns of computing services and method therefor
US20040085357A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of generating a graphical display of a business rule and associated business rule elements
US7337411B1 (en) * 2003-03-31 2008-02-26 Unisys Corporation Logistics management system having user interface with tiered data entry
US7353457B2 (en) * 2003-06-30 2008-04-01 Sap Ag Graphical access to data objects

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150137055A (ko) * 2013-03-04 2015-12-08 르노 에스.아.에스. 전기 시스템들의 전기 회로도들의 후속적 도식적 생성을 목적으로 자동차들에 관한 데이터를 관리하기 위한 방법

Also Published As

Publication number Publication date
US8225221B2 (en) 2012-07-17
CN1768319A (zh) 2006-05-03
EP1618463A4 (en) 2008-03-05
WO2005103861A1 (en) 2005-11-03
KR101150121B1 (ko) 2012-07-03
EP1618463A1 (en) 2006-01-25
JP4719212B2 (ja) 2011-07-06
US20050228826A1 (en) 2005-10-13
JP2007532997A (ja) 2007-11-15

Similar Documents

Publication Publication Date Title
US9262850B2 (en) Descriptive framework for data visualization
KR101120815B1 (ko) 완전한 유연성을 가진 자동화에 기초하여 사용자인터페이스를 생성하는 방법 및 장치
KR101665152B1 (ko) 컴퓨팅 장치, 비즈니스 데이터의 획득 방법 및 컴퓨터 판독 가능 저장 매체
US7174533B2 (en) Method, system, and program for translating a class schema in a source language to a target language
US9087296B2 (en) Navigable semantic network that processes a specification to and uses a set of declaritive statements to produce a semantic network model
US20200004872A1 (en) Custom interactions with visualizations
US20200004866A1 (en) Visualization customization
US20070100857A1 (en) Computer-implemented method, tool, and program product for storing a business document in an enterprise software application environment
US7363578B2 (en) Method and apparatus for mapping a data model to a user interface model
US20090077091A1 (en) System for development and hosting of network applications
US10452607B2 (en) Reusable transformation mechanism to allow mappings between incompatible data types
US8106903B2 (en) System and method for visually representing a project using graphic elements
KR101150121B1 (ko) 객체 및 엔터티의 표현을 구성하기 위한 방법 및 객체 표현 시스템
US8140593B2 (en) Data viewer management
CN114090653A (zh) 一种资源数据统计方法、装置、元平台设备及存储介质
US20110126171A1 (en) Dynamic native editor code view facade
US8738584B2 (en) Context-aware management of shared composite data
US20040133537A1 (en) Method and structure for unstructured domain-independent object-oriented information middleware
JP2003006242A (ja) 製品データ管理システム、そのシステムを動作させるためのプログラム、そのプログラムが記録された記録媒体および製品データ管理方法
US11539594B2 (en) Diagramming chlid nodes with multiple parent nodes
CN116028062A (zh) 目标代码的生成方法、npu指令的显示方法及装置
CN115617797A (zh) 一种业务元数据字段动态拓展方法、电子设备及存储介质
CN115543428A (zh) 一种基于策略模板的模拟数据生成方法和装置
US8910183B2 (en) Access to context information in a heterogeneous application environment
US10133769B2 (en) Integration device and integration method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee