KR20080107444A - 그래프형 다이어그램을 편집하기 위한 2차원 트리들의 동적레이아웃 방법, 영구적 변경 보존 방법, 및 컴퓨터 프로그램 제품 - Google Patents

그래프형 다이어그램을 편집하기 위한 2차원 트리들의 동적레이아웃 방법, 영구적 변경 보존 방법, 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20080107444A
KR20080107444A KR1020087023857A KR20087023857A KR20080107444A KR 20080107444 A KR20080107444 A KR 20080107444A KR 1020087023857 A KR1020087023857 A KR 1020087023857A KR 20087023857 A KR20087023857 A KR 20087023857A KR 20080107444 A KR20080107444 A KR 20080107444A
Authority
KR
South Korea
Prior art keywords
sub
tree structure
parts
graphical
branch
Prior art date
Application number
KR1020087023857A
Other languages
English (en)
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 KR20080107444A publication Critical patent/KR20080107444A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • 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
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Human Computer Interaction (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Processing Or Creating Images (AREA)

Abstract

그래프형 가시적 언어에 기초하여 그래픽 다이어그램을 2차원 트리형 구조로 동적으로 레이아웃하여서 최적의 디스플레이와 사용자 상호작용의 용이성을 허용한다. 트리형 구조의 뿌리에서 출발하는 적어도 하나의 가지를 포함하고, 수직 방향 및 수평 방향으로 변경되도록 구성된 하나 이상의 하위-부분들을 포함하는 그래픽 트리형 구조가 디스플레이된다. 하위-부분들은 하나 이상의 객체들, 속성들, 동작들, 및 연관성들에 대한 기능적 관계성 및 내적 행동들의 견지에서 전체적인 객체 모델을 나타낸다. 끝 부분이 아닌 하나 이상의 하위-부분들을 변경하는 사용자 입력이 수신된다. 사용자 입력에 기초하여, 하나 이상의 하위-부분들이 수평, 수직, 또는 양쪽 모두에서 변경되어 사용자 상호작용의 용이, 그래픽 트리형 구조의 디스플레이의 최적화, 또는 양쪽 모두를 허용한다.
그래픽 트리형 구조, 그래프형 가시적 언어, 사용자 상호작용, 그래픽 다이어그램, 하위-부분, 하위-가지, 뿌리

Description

그래프형 다이어그램을 편집하기 위한 2차원 트리들의 동적 레이아웃 방법, 영구적 변경 보존 방법, 및 컴퓨터 프로그램 제품{TWO DIMENSIONAL TREES TO EDIT GRAPH-LIKE DIAGRAMS}
컴퓨팅 시스템들은 우리가 일하고 즐기는 방식을 변화시켜왔다. 컴퓨팅 시스템들은 랩탑 컴퓨터, 데스크탑 컴퓨터, PDA(personal digital assistants), 전화기, 그리고 심지어는 예를 들어 냉장고 및 자동차와 같이 통상적으로 컴퓨팅 시스템에 연관되지 않았던 장치들을 비롯한 매우 다양한 형태로 쓰이기 시작한다. 컴퓨팅 시스템들은 심지어 네트워크를 통해 상호 연결된 구성적 컴퓨팅 시스템들을 다수 포함할 수 있다. 따라서, 몇몇 컴퓨팅 시스템들은 손바닥에 들어가기에 충분할 정도로 작은 반면에, 다른 컴퓨팅 시스템들은 전 세계의 많은 부분에 퍼져있을 수 있다.
점차적으로 인기를 끌고 있는 컴퓨팅 기술의 일 영역은, 많은 시스템들, 서비스들, 또는 프로세스들의 흐름도와 같은 그래프형 다이어그램을 사용자가 가시적으로 디스플레이하게 하는 그래픽 모델링이다. 다이어그램의 예로서, 작업 흐름도, 데이터 흐름 다이어그램, E-R 다이어그램, 비즈니스 프로세스 다이어그램 등을 포함한다. 보다 상세하게는, 이러한 그래프형 다이어그램들은 상이한 컴퓨팅 또는 기타 시스템들, 비즈니스 또는 프로젝트 모델 등을 위한 각종 컴포넌트들 또는 요 소들의 기능성들, 작용적 양태들, 및 관계성들을 사용자가 가시적으로 통신(visually communicate)하게끔 허용하므로, 종종 복잡한 시스템 또는 프로세스들의 효과적인 통신을 허용한다.
예를 들면, 그래프형 다이어그램은 판매 거래의 흐름을 가시화할 수 있다. 흐름 다이어그램의 요소들 및 컴포넌트들은 원하는 상품을 선택하기, 주문하기, 배달 및 지불 결정으로서 이러한 이벤트들을 나타낼 수 있다. 다이어그램은 또한 상술한 작업을 수행하는 엔티티들을 가시화할 수 있다. 다수의 엔티티들이 포함된 매우 복잡한 판매 거래를 위해, 거래를 그래픽으로 보는 것이 다른 형태보다 이해하기에 더 쉬울 수 있다.
시스템들 및 프로세스들을 가시화하는 데 그래프형 다이어그램들이 유용한 반면에, 그것들의 사용에는 제한이 존재한다. 예를 들면, 다이어그램들이 보다 커지고 보다 복잡해질수록, 디스플레이 장치의 크기, 해상도, 및 기타 용량 때문에 컴포넌트들 및 구성요소들 전부를 디스플레이하기에 충분한 공간(room)이 단순히 없을 수 있다. 다시 말해, 이용가능한 디스플레이 공간 및 용량은 한번에 보일 수 있는 컴포넌트들 및 객체들의 개수를 제한한다. 이는 사용자가 프로세스의 시작과 끝을 함께 디스플레이하기 원하는 다이어그램에 특히 문제가 된다.
한가지 해결법은 보다 큰 디스플레이 장치를 사용하는 것이다. 그러나, 이는 수반 비용 때문에 대다수의 사용자에게 비실용적이다. 또한, 다이어그램들은, 그 다이어그램의 모든 요소들을 디스플레이할 수 있는 실용적인 디스플레이 장치가 없을 정도로 너무 커질 수 있다.
일반적으로 사용되는 디스플레이 제한에 관한 다른 해결법은 사용자가 다이어그램의 크기를 수동으로 재조절(rescale)하게 하는 것이다. 예를 들면, 사용자들은 종종 새로운 요소가 다이어그램에 추가될 때마다 "줌 아웃(zoom out)"할 것이다. 이 해결법은 단 몇 개만의 요소들을 갖는 다이어그램에 대해서는 효과적일 수 있지만, 보다 큰 다이어그램에 대해서는 효과가 없다. 다이어그램들은 종종 몇 번씩 줌 아웃된 후에는 읽을 수 없게 된다.
다른 일반적인 해결법은 복수의 다이어그램을 합치면, 읽을 수 있는 크기의 원하는 다이어그램 요소들을 모두 포함하게 하는 것이다. 그러나, 이는 종종 시간 소모적이다. 또한, 사용자에게 혼란을 줄 수 있는, 다수의 다이어그램을 이용하여 다이어그램의 흐름 또는 "심상 지도(mental map)"를 종종 잃을 수 있다.
또 다른 해결법은 읽을 수 있는 형태로 다이어그램들을 크기조절하고자 다이어그램들의 요소들을 자동으로 레이아웃하는 도구들을 생성하는 것이다. 그러나, 이러한 도구들은 복잡한 알고리즘들을 구현하는데 그 알고리즘의 컴퓨터적인 복잡성은 그것들을 처리하기에 매우 느리게 만든다. 다이어그램에 새로운 구성요소가 추가될 때마다, 도구들이 알고리즘들을 재처리하여 새로운 다이어그램을 생성해야 하여, 그러한 도구들을 대화형(interactive)의 편집기에 대해 비실용적이게 만든다. 또한, 이들 알고리즘들의 대부분은 새로운 요소가 추가될 때에 다이어그램의 모든 요소들의 위치를 재배치한다(reposition). 결국, 사용자는 종종 다이어그램에서 자신의 "심상 지도"를 잃어버리는데, 이는 성가실 수 있다.
상술한 현재의 다이어그램 생성 및 디스플레이 방법의 결함 및 단점은 본원에 개시된 예시적인 실시예들을 통해 극복된다. 이하의 실시예에서 더 설명될 개념의 선택을 단순화된 형태로 소개하기 위해 이 설명이 제공됨에 유념해야 한다. 이 설명은 청구 대상의 핵심 특징들 또는 주요 특징들을 식별하거나, 청구 대상의 범위를 정하기 위하여 사용되기 위한 것은 아니다.
디스플레이와 사용자 상호작용(user interactive)의 용이 및 최적의 디스플레이를 위해 그래프형 가시적 언어에 기초한 그래픽 다이어그램을 2차원 트리형 구조로 동적으로 레이아웃하기 위한 일 예시적인 실시예가 제공된다. 이 실시예에서는, 그래픽 트리형 구조(graphical tree-like structure)가 디스플레이된다. 그래픽 트리형 구조는 그래픽 트리형 구조의 뿌리에서 출발하는 적어도 하나의 가지(branch)를 포함하고 수직 방향 및 수평 방향으로 변경되도록 구성된 복수의 하위-부분을 포함한다. 하위-부분들은 전체적인 객체 모델을 하나 이상의 객체들, 속성들, 동작들, 및 연관성들에 관한 기능적 관계성 및 내적 행동의 견지에서 나타낸다. 그 후 하나 이상의 하위-부분들을 변경하는 사용자 입력이 수신된다. 사용자 입력에 기초하여, 사용자 상호작용의 용이 및 그래픽 트리형 구조의 디스플레이의 최적화 또는 양쪽 모두를 위해 하나 이상의 하위-부분들은 수직, 수평 또는 양쪽 모두로 동적으로 변경된다.
디스플레이와 사용자 상호작용의 용이 및 최적의 디스플레이를 허용하기 위해 그래프형 가시적 언어에 기초한 흐름 다이어그램을 2차원 트리형 구조로 동적으로 레이아웃하기 위한 다른 예시적인 실시예가 또한 제공된다. 이 실시예에서는, 그래픽 트리형 구조가 디스플레이된다. 그래픽 트리형 구조는 트리형 구조의 뿌리에서 출발하는 적어도 하나의 가지를 포함하고 복수의 하위-부분을 포함한다. 이 하위-부분들 중 적어도 하나는 또한 끝 부분이다. 하위-부분들은 전체적인 객체 모델을 하나 이상의 객체들, 속성들, 동작들, 및 연관성들에 관한 기능적 관계성 및 내적 행동의 견지에서 나타낸다. 그 후 하나 이상의 하위-부분들을 변경하는 사용자 입력이 수신된다. 사용자 입력에 기초하여, 끝 부분이 아닌 하나 이상의 하위-부분들은 끝 부분을 또한 변경하지 않은 채, 크기조절되거나, 늘어나거나, 또는 줄어든다(collapse). 이 변경은 사용자 상호작용의 용이, 그래픽 트리형 구조의 디스플레이의 최적화, 또는 그 양쪽 모두를 허용한다.
그래픽 트리형 구조를 디스플레이하는 애플리케이션이 종료한 경우에 그래픽 트리형 구조의 하나 이상의 하위-가지들에 생겨난 변경을 메모리에 영구적으로 보존하기 위한 또 다른 예시적인 실시예가 또한 제공된다. 이 실시예에서는, 그래픽 트리형 구조를 디스플레이하는 애플리케이션이 활성화된다. 그래픽 트리형 구조는 트리형 구조의 뿌리에서 출발하는 적어도 하나의 가지를 포함하고 하나 이상의 객체들, 속성들, 동작들, 및 연관성들에 관한 기능적 관계 및 내적 행동의 견지에서 시스템, 서비스, 또는 프로세스를 모델링하는 복수의 하위-가지를 포함한다. 적어도 하나의 하위-가지를 변경하는 사용자 입력이 수신된다. 이 사용자 입력에 기초하여, 변경은 영구 메모리에 유지된다. 사용자에 의해 애플리케이션이 종료된 후 추후에 그 애플리케이션이 재활성화하면, 애플리케이션이 종료되기 전에 나타난 대로 그래픽 트리형 구조가 디스플레이된다.
본 발명의 추가적인 특징들 및 장점들이 다음의 설명에서 개시되어, 부분적으로는 설명으로부터 명백해지거나, 또는 본 발명의 실시에 의해 알 수 있다. 본 발명의 특징 및 장점들은 첨부된 청구항들에서 특히 강조된 수단들 및 조합들에 의해 실현 및 획득될 수 있다. 이들 및 본 발명의 기타 특징들은 다음의 설명 및 첨부된 청구항들로부터 보다 충분히 이해될 것이며, 또는 이하에 설명된 대로 본 발명을 실시함으로써 알 수 있다.
본 발명의 상술한 특징들 및 기타 유리한 특징들이 획득될 수 있는 방식을 설명하기 위해, 위에서 간략하게 설명된 본 발명의 보다 상세한 기재가 첨부된 도면에서 설명되는 특정한 실시예들에 대한 참조에 의해 설명될 것이다. 이들 도면들이 단지 본 발명의 전형적인 실시예들만을 도시하고 있으므로 그것의 범위를 제한하도록 고려되지는 않음을 이해하여, 본 발명은 첨부한 도면의 사용을 통해 추가적인 특징 및 세부사항과 함께 기술되고 설명될 것이다.
도 1은 그래프형 가시적 언어를 그래픽 2차원 트리형 구조로서 동적으로 디스플레이하기 위한 컴퓨팅 시스템을 도시하는 도면;
도 2A는 그래프형 가시적 언어의 예를 도시하는 도면;
도 2B는 도 2A의 그래프형 가시적 언어를 예시적인 실시예에 따른 그래픽 2차원 트리형 구조로서 도시하는 도면;
도 3A는 예시적인 실시예에 따른 예시적인 그래픽 2차원 트리형 구조를 도시하는 도면;
도 3B는 도 3A의 그래픽 2차원 트리형 구조에 생겨난 변경을 도시하는 도면;
도 3C는 도 3A의 그래픽 2차원 트리형 구조에 대한 추가 변경을 도시하는 도면;
도 4A는 예시적인 실시예에 따른 또 다른 예시적인 그래픽 2차원 트리형 구조를 도시하는 도면;
도 4B는 도 4A의 그래픽 2차원 트리형 구조에 생겨난 변경을 도시하는 도면;
도 4C는 도 4A의 그래픽 2차원 트리형 구조에 대한 추가 변경을 도시하는 도면;
도 5는 그래픽 1차원 트리형 구조를 도시하는 도면;
도 6은 예시적인 실시예에 따라 그래프형 가시적 언어의 흐름도를 그래픽 2차원 트리형 구조로 동적으로 레이아웃하는 방법의 흐름도를 도시하는 도면;
도 7은 예시적인 실시예에 따라 그래픽 트리형의 하나 이상의 하위-가지에 대한 변경을 메모리에 영구적으로 보존하는 방법의 흐름도를 도시하는 도면;
도 8은 예시적인 실시예에 따라 그래픽 2차원 트리형 구조를 그래픽 2차원 트리형 구조로 변환하는 방법의 흐름도를 도시하는 도면;
도 9는 예시적인 실시예에 따라 그래프형 가시적 언어의 흐름도를 그래픽 2차원 트리형 구조로 동적으로 레이아웃하는 방법의 흐름도를 도시하는 도면.
본 발명은 사용자 상호작용(user interaction)의 용이함 및 최적의 디스플레이를 허용하기 위해 그래프형 가시적 언어를 2차원 트리형 구조로 동적으로 레이아 웃하기 위한 방법들, 시스템들, 및 컴퓨터 프로그램 제품들에 관한 것이다. 본 발명의 실시예들은 이하에 보다 상세하게 설명되는 바와 같이, 각종 컴퓨터 하드웨어 또는 모듈들을 포함하는 전용 컴퓨터 또는 범용 컴퓨터를 포함할 수 있다.
동적 상호작용 및 최적 디스플레이를 하용하는 방식으로 그래프형 가시적 언어들을 레이아웃하기 위한 현 도구들의 여러 결함을 극복하도록 구성되는 몇 가지의 메커니즘을 위한 예시적인 실시예들이 제공된다. 예를 들면, 본원의 일 실시예는 흐름 다이어그램을 2차원 트리형 구조에 동적으로 레이아웃하는 메커니즘을 제공한다. 그래프형 가시적 언어가 2차원 그래픽 트리형 구조로서 디스플레이된다. 그래픽 트리형 구조는 트리형 구조의 뿌리에서 출발하고 하위-부분들을 포함하는 적어도 하나의 가지를 포함한다. 전체적인 객체 모델을 트리형 구조의 하나 이상의 객체들, 속성들, 동작들, 또는 연관성들에 관한 기능적 관계성 및 내적 행동의 견지로 나타내는 데 하위-부분들이 사용된다. 비록 모든 실시예들에서 요구되는 것은 아니지만, 하위-부분들은, 적어도 하나의 끝 부분을 또한 포함할 수 있다.
트리형 구조는 사용자 상호작용을 용이하게 하는 방식으로 디스플레이된다. 예를 들면, 하위-부분의 변경을 제어하는 사용자 대화형(UI; user interactive) 요소들이 디스플레이될 수 있다. UI 요소를 선택하는 것과 같이, 끝 부분이 아닌 하나 이상의 하위-부분들을 변경하는 사용자 상호작용이 수신된다. 변경은 하위-부분들을 크기조절하기, 줄이기, 및 늘리기를 포함한다.
사용자 상호작용에 기초하여, 2차원 트리형 구조가 동적으로 변경된다. 예를 들면 일부 실시예들에서, 끝 부분이 아닌 하위-부분들은 트리형 구조의 디스플 레이를 이용가능한 디스플레이 공간에 최적화하기 위해 크기조절될 수 있고, 또는 하위-부분들은 트리형 구조가 얼마나 큰지에 상관없이 트리형 구조의 원하는 섹션을 보게 허용하도록 줄어들거나 늘어날 수 있다. 다른 실시예에서는, 하위-부분들은 수평, 수직, 또는 양쪽 모두로 변경될 수 있다.
다른 실시예들은 트리형 구조를 실행하는 애플리케이션이 종료된 경우에 조차 트리형 구조에 대한 영구적인 변경을 허용한다. 예를 들면, 그래픽 트리형 구조를 디스플레이하도록 애플리케이션이 활성화(activated)되어 그래픽 트리형 구조를 상술한 예시의 방식으로 변경하는 사용자 입력을 수신한다. 그러나, 사용자 입력에 기초하여, 트리형 구조의 변경은 영구 메모리에 유지된다. 또한, 하나의 하위-부분에 후속하는 다른 하위-부분들에 대한 변경에 의해 숨겨지게 되는 그 하나의 하위-부분에 대한 변경이 또한 영구 메모리에 유지될 수 있다. 사용자에 의해 애플리케이션이 종료된 후의 시각에 그 애플리케이션이 활성화되면, 그래픽 트리형 구조는 애플리케이션이 종료되기 전에 나타난 대로 디스플레이된다. 가시적 변경 및 숨겨진 변경 양쪽 모두의 유지는, 애플리케이션이 종료되어 다시 시작한 경우에 변경을 끊임없이 다시하지(constantly redo) 않고도 그래픽 트리형 구조가 시간이 지나도 디스플레이되게 한다. 따라서, 숨겨진 상태들을 유지하는 것은 애플리케이션이 종료되었을 때 어떤 하위-부분도 잃지 않음을 보장한다.
또 다른 실시예들은 변경될 수 없는 그래픽형 가시적 언어들과 트리형 구조들을 동적으로 변경될 수 있는 2차원 트리형 구조들로 변환하는 것을 허용한다. 이들 실시예들은 시스템들, 서비스들, 및 프로세스들을 모델링하고 끝 부분을 포함 하는 복수의 하위-부분을 포함하고 트리형 구조의 뿌리에서 출발하는 하나의 가지를 포함하는 1차원 트리형 구조들의 변환을 또한 허용한다. 1차원 트리형 구조의 하위-부분들은, 끝 부분을 또한 변경시키지 않고는 변경될 수 없는데, 이는 끝 부분을 또한 변경시키지 않고도 하위-부분이 변경될 수 있는 2차원 트리형 구조와 대조적이다. 이들 구조들을 2차원 트리형 구조로 변환하는 것은 사용자에게 동적인 변경을 활용하여 2차원 트리형 구조들의 최적화를 디스플레이하는 능력을 허용한다. 또한, 이는 필요시 하위-부분들의 배향을 수직 및 수평 사이에서 자동으로 전환함으로써 이용가능한 디스플레이 스크린 또는 창의 애스펙트비(aspect ratio)의 자동적 최적화를 허용한다.
비록 유리한 특징들에 대하여 보다 구체적인 참조들이 이하에서 도면을 참조하여 더욱 자세히 개시되겠지만, 본 발명의 범위 내의 실시예들은 또한 컴퓨터-실행가능 명령어 또는 데이터 구조를 내부에 저장하여 수용하거나 갖기 위한 컴퓨터-판독가능 매체를 포함한다. 이러한 컴퓨터-판독가능 매체는 범용 또는 전용 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 예를 들어, 이러한 컴퓨터-판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 기타 광 디스크 저장소, 자기 디스크 저장소 또는 기타 자기 저장 장치, 컴퓨터-실행가능 명령어들 또는 데이터 구조들의 형태의 원하는 프로그램 코드 수단을 수용하거나 저장하는 데 사용될 수 있거나 또는 범용 또는 전용 컴퓨터에 의해 액세스될 수 있는 임의의 기타 매체들을 포함할 수 있지만, 이러한 예로 한정되지는 않는다. 네트워크 또는 기타 통신 연결부(유선, 무선, 또는 유선이나 무선의 조합)를 통해 정보가 전송되 거나 제공될 때에, 컴퓨터는 그 연결부를 컴퓨터-판독가능 매체로서 적절하다고 고려한다. 따라서, 임의의 이러한 연결부는 컴퓨터-판독가능 매체라고 적절히 지칭된다. 상기 조합들이 또한 컴퓨터-판독가능 매체의 범위 내에 포함되어야 한다.
컴퓨터-실행가능 명령어들은 예를 들어, 범용 컴퓨터, 전용 컴퓨터, 또는 전용 처리 장치로 하여금 특정한 기능 또는 기능들의 그룹을 수행하게 하는 명령어들 및 데이터를 포함한다. 비록 본 요지가 구조적인 특징들 및/또는 방법론적인 동작들에 관한 언어로 설명되었지만, 첨부된 청구항에서 정의된 본 요지는 상술된 특정한 특징들 또는 동작들에 반드시 제한되는 것은 아님이 이해된다. 그보다는, 상술된 특정한 특징들 및 동작들은 청구항들을 구현하는 예시적인 형태로 개시된다.
본원에서 사용된, "모듈(module)" 또는 "컴포넌트(component)" 라는 용어는 컴퓨팅 시스템에서 실행하는 소프트웨어 객체들 또는 루틴들을 지칭할 수 있다. 본원에 설명된 서로 다른 컴포넌트들, 모듈들, 엔진들, 및 서비스들은 컴퓨팅 시스템에서 실행되는 객체들 또는 프로세스들(예를 들면, 별도의 스레드)로서 구현될 수 있다. 본원에 설명된 시스템 및 방법이 소프트웨어에 적합하게 구현되는 동시에, 하드웨어 또는 소프트웨어와 하드웨어의 조합에서의 구현이 또한 가능하게 의도된다. 이 개시에서는, "컴퓨팅 엔티티(computing entity)"가 본원의 앞부분에서 정의된 임의의 컴퓨팅 시스템, 또는 컴퓨팅 시스템에서 실행하는 임의의 모듈 또는 모듈들의 조합일 수 있다.
이제 도면들을 참조하면, 도 1은 본원에 개시된 각종 실시예들을 구현하는 데 사용될 수 있는 컴퓨팅 시스템(100)을 도시한다. 컴퓨팅 시스템(100)은 실시예 들을 구현할 때에 사용될 수 있는 각종 모듈들 및 컴포넌트들을 도시한다. 컴퓨팅 시스템(100)이 단지 예로서 도시될 뿐 본원에 개시된 임의의 실시예들 및 첨부된 청구항들의 범위를 제한하기 위해 사용되어서는 안됨에 유념해야 한다. 다시 말해, 본원에 기재된 실시예들을 구현하기 위해 사용될 수 있는 다수의 기타 컴퓨팅 시스템들 및 컴포넌트 구성이 존재한다.
컴퓨팅 시스템(100)은 시스템, 서비스, 프로세스들의 흐름 다이어그램을 모델링하는 데 사용될 수 있는 그래프형 가시적 언어(110)를 포함한다. 그래프형 가시적 언어(110)의 공통적인 예시들은 모델링되고 있는 시스템, 서비스, 또는 프로세스 내에 통상적으로 있는 것들을 강조하는 구조 다이어그램들, 모델링되고 있는 시스템, 서비스, 또는 프로세스에서 일반적으로 일어나는 것을 강조하는 작용 다이어그램들, 및 모델링되고 있는 시스템, 서비스, 또는 프로세스 중에서 데이터 및 제어의 흐름을 특히 강조하는 상호작용 다이어그램들을 포함한다. 다른 공통적인 그래프형 가시적 언어는 UML(Unified Modeling Language)의 각종 다이어그램 유형, 데이터베이스 월드 내의 엔티티 관계 다이어그램들, 및 비즈니스 프로세스 디자인을 위한 비즈니스 프로세스 다이어그램들을 포함한다. 일반적으로, 본원에 설명된 실시예들은 임의의 범용 그래프형 가시적 언어일 수 있는 그래프형 가시적 언어(110)에 적용된다. 따라서, 특정한 그래프형 가시적 언어에 대한 이 개시 내의 임의의 참조는 단지 예시만을 위할 것일 뿐 본원에 개시된 실시예들의 범위를 제한하기 위해 사용되어서는 안 된다.
컴퓨팅 시스템(100)은 또한 2차원 트리형 구조(190)인 그래프형 가시적 언 어(110)의 디스플레이를 용이하게 하는 디자이너 도구/애플리케이션(120)을 포함한다. 디자이너 도구/애플리케이션(120)은 또한 디스플레이된 2차원 트리형 구조(190)의 동적 변경을 돕는다. 디자이너 도구/애플리케이션(120), 및 그것의 각종 모듈들 및/또는 컴포넌트들중 임의의 것은 소프트웨어, 하드웨어, 또는 그 둘의 임의의 조합으로 구현될 수 있고 하나의 로컬 또는 원격 컴퓨팅 장치 또는 분산 컴퓨팅 환경ㄴ에 호스팅될 수 있다.
디자이너 도구(120)는 그래프형 가시적 언어(110)를 2차원 트리형 구조(190)로서 디스플레이하는 레이아웃/프레젠테이션 모듈(130)을 포함한다. 일부 실시예에서는, 레이아웃/프레젠테이션 모듈(130)은 사용자에 의해 디자이너 도구/애플리케이션(120)에 입력된 요소들을 디스플레이한다. 디자이너 도구/애플리케이션(120)은 그 후 구현 중인 그래프형 가시적 언어(110)에 의해 정의된 관계에 따라 요소들 간에 연결 선을 자동으로 그린다.
다른 구현예들에서, 레이아웃 모듈(130)은 그래프형 가시적 언어(110)를 수신하거나 그 그래프형 가시적 언어의 수신 시각 전에 존재하는 그 그래프형 가시적 언어에 액세스한다. 기존의 그래프형 가시적 언어(110)는 디자이너 도구(120)를 호스팅하는 컴퓨터(들)로부터 또는 임의의 유형의 네트워크를 통해 컴퓨팅 시스템(100)에 연결된 일부 기타 컴퓨터로부터 수신될 수 있다. 이러한 실시예에서, 그래프형 가시적 언어(110)는, 변경될 수 없는 하위-부분을 갖는 트리형 구조로서 수신될 수 있고, 또는 이하에서 보다 상세히 설명될 1차원적으로만 변경될 수 있는 하위-부분들을 갖는 1차원 트리형 구조로서 수신될 수 있다. 그러면 기존의 그래 프형 가시적 언어는 이하에서 또한 보다 상세히 설명될 2차원 트리형 구조로의 변환을 위한 변환 모듈(150)에 제공될 수 있다.
그래프형 가시적 언어(110)가 전부터 존재하던 것인지 또는 사용자에 의해 생성된 것인지에 상관없이, 레이아웃/프레젠테이션 모듈(130)은 그래프형 언어를 2차원 트리형 구조(190)로서 자동으로 디스플레이한다. 트리형 구조(190)는 트리형 구조의 뿌리에서 출발하고 복수의 하위-부분 또는 하위-가지들을 포함하는 적어도 하나의 가지를 포함할 수 있다. 하위-부분들 중 하나는 동시에 끝 부분일 수 있다. 하위-부분들은 모델링되고 있는 시스템, 서비스, 또는 프로세스들의 객체들, 특성들(attributes), 동작들, 및 연관성들에 관한 기능적 관계성 및 내적 행동들의 견지에서 그래프형 가시적 언어(110)에 의해 디스플레이된 시스템, 서비스, 또는 프로세스를 모델링한다.
또한, 2차원 트리형 구조(190)는 트리형 구조의 하위-부분들이 디자이너 도구/애플리케이션(120)에 의해 수직, 수평, 대각선 또는 세 방향 모두에서 동적으로 그리고 자동으로 변경되게 허용하는 방식으로, 레이아웃/프레젠테이션 모듈(130)에 의해 구성되거나 변환된다. 일부 실시예들에서는, 끝 부분이기도 한 하위-부분은 변경되는 것으로부터 제외된다. 2차원 트리형 구조(190)의 특정 예들이 이하에 제공될 것이다.
디자이너 도구/애플리케이션(120)은 변경 모듈(140)을 더 포함한다. 변경 모듈(140)은 사용자로부터 트리형 구조(190)의 하위-부분을 변경하는 사용자 입력(180)을 수신한다. 예를 들면, 사용자 입력은 줄이기, 늘리기, 또는 크기조절을 위해 변경가능한 하위-부분(들)을 선택할 수 있다. 사용자 입력에 응답하여, 변경 모듈(140)은 레이아웃 모듈(130)에 의해 디스플레이되고 있는 트리형 구조의 하위-부분들 중 하나 이상을 동적으로 그리고 자동으로 변경한다.
예를 들면, 하위-부분(들)은 이용가능한 디스플레이 공간을 최적화하기 위해 크기조절될 수 있거나, 트리형 구조(190)의 선택된 하위-부분들의 포커싱된 디스플레이를 허용하도록 줄어들거나 늘어날 수 있다. 유리하게는, 트리형 구조(190)의 구성은 주어진 하위-부분을 분지하는(branch off) 임의의 또는 모든 하위-구조들을 또한 변경하지 않고도 주어진 하위-부분의 변경을 허용하여서, 사용자가 원하는 하위-부분들을 즉시(on-the-fly) 동적으로 디스플레이하게 한다. 하위-부분들은 수평, 수직, 대각선(수직 또는 수평의 조합으로 고려될 수 있음), 또는 세 방향의 임의 조합으로 변경될 수 있다.
또한, 변경된 하위-부분들은 동적으로 디스플레이된 하위-부분들이 이용가능한 디스플레이 공간을 최적화하도록 위치하게 되며, 이는 흐름다이어그램이 최적의 모습(look)을 유지하도록 허용하는 이점이 있다. 일부 환경에서는, 수평으로 디스플레이된 하위-부분들이 디스플레이의 균형을 맞추기 위해 수평 또는 대각선으로 재위치될 수 있다. 수직으로 그리고 대각선으로 디스플레이된 하위-부분들에 대한 변경이 또 변경될 수 있다. 상술한 장점들은 다음의 2차원 트리형 구조의 특정한 예시들의 논의에서 보다 명백해 질 것이다.
일부 실시예에서, 변경 모듈(140)은 또한 트리형 구조(190)가 변경 및/또는 디스플레이될 방법을 정하는 사전정의된 규칙(160)을 수신한다. 이러한 실시예들 에서는, 변경 모듈(140)이 이미 논의된 사용자 상호작용과 수신된 규칙들(160)에 기초하여 적어도 하나의 끝 부분을 제외한 하위-부분들을 동적으로 크기조절하거나, 늘어나거나, 줄인다. 일 예시적인 규칙(160)은 레이아웃 모듈(130)이 제2 그래픽 요소를 흐름 다이어그램 내의 제1 그래픽 요소의 오른편에 위치시키고 모든 추가적인 객체들은 제2 객체 아래에 위치시키도록 지시할 수 있다.
다른 실시예에서는, 디자이너 도구/애플리케이션(120)이 영구 메모리(170)에 대한 액세스를 가질 수 있다. 영구 메모리(170)는 임의 유형의 적합한 영구 메모리일 수 있고 디자이너 도구/애플리케이션(120)을 호스팅하는 컴퓨터에 상주할 수 있거나 임의 유형의 네트워크 연결을 통해 액세스될 수 있다. 이러한 실시예에서는, 사용자에 의해 디자이너 도구/애플리케이션(120)이 종료되었을 때에 트리형 구조(190)의 하위-부분들에 생겨난 임의의 변경을 유지하는 데 영구 메모리(170)가 사용된다. 사용자가 디자이너 도구/애플리케이션(120)을 재활성화시킨 경우에는, 트리형 구조(190)는, 이하에서 보다 상세히 설명될 바와 같이, 디자이너 도구/애플리케이션(120)이 종료되기 전에 나타난 대로 디스플레이된다.
도 2A를 참조하면, 특정 그래프형 가시적 언어 흐름 다이어그램(200)이 도시된다. 흐름 다이어그램(200)은 주문을 하기 위해 행위자(actor)가 소프트웨어를 사용할 수 있는 방법을 도시하는 유즈 케이스 다이어그램(Use Case Diagram; UML의 일부)이다. 다이어그램에 도시된 것은 상이한 객체들 및 커넥터 유형들이다. 예를 들면, 모양(201)은 행위자 유형의 모양이다. 다른 모양들은 행위자가 행하는 것들 또는 프로세스가 행하는 것들을 나타낸다. 각종 모양들 사이의 선들은 모양 들 간의 관계를 나타내는 커넥터들이다. 도 2A에서, 커넥터들은 예를 들면, <사용> 또는 <확장> 유형일 수 있고 다른 커넥터 타입일 수도 있다.
예를 들면, 사용자(행위자)(201)가 주문(208)을 할 수 있다. 주문 하기는 커넥터(211)에 의해 도시된 카탈로그 요청(204)으로 확장할 수 있다. 주문 하기는 커넥터들(212 내지 214)에 의해 도시된 바와 같이, 고객 데이터를 공급하기(202), 제품 주문하기(203) 및 지불 결정하기(205)의 행위를 사용한다. 지불의 유형들은, 커넥터들(215 및 216)에 의해 도시된 바와 같이, 현금(206)일 수 있거나 신용거래로 결정될 수 있다.
상술한 바와 같이, 디자이너 도구/애플리케이션(120)은 흐름 다이어그램(200)을 수신하여 흐름 다이어그램(200)을 상술한 대로 수직 및 수평 방향 양쪽으로 및 잠재적으로는 대각선 방향으로 크기조절하기, 줄이기 및 늘리기에 의해 변경될 수 있는 하위-부분들(231-237)을 포함하는 2차원 트리형 구조로 변환할 수 있다. 도 2B를 이제 참조하면, 흐름 다이어그램(200)은 변환 및 디스플레이 프로세스를 겪은 후에 디자이너 도구/애플리케이션(120)에서 나타날 수 있는 대로 도시된다. 트리형 구조(190)에 대응할 수 있는 흐름도(200)는, 비록 요구되는 것은 아니지만, 이전에 설명된 객체들(201 내지 208)을 여전히 포함함을 유념해야 한다. 또한 디자이너 도구/애플리케이션(120)에 의해 사용자 대화형(UI; user interactive) 요소들(221 내지 229)이 트리형 구조에 또한 추가되어 있음을 유념해야 한다. UI 요소들은 사용자가 트리형 구조(200)의 하위-부분들을 동적으로 변경하는데 사용된다.
도 2B에서, 커넥터들(212, 213 및 214)은 <사용> 유형 커넥터들인 그것들의 공통성(commonality)에 기초하여 단일한 연결 가지로 변환되었다. 유사한 방식으로, 커넥터들(215 및 216)은 그것들의 공통 커넥터 유형에 기초하여 단일한 연결 가지로 변환되었다. 이들 양쪽 모두는 멀티-커넥터의 예시인데, 여기서 2차원 트리형 구조로의 변환중에, 하위-부분들 간의 둘 이상의 연결부들이, 결합된 커넥터들을 대표하는 커넥터로 결합된다. 물론, 환경이 갖춰진다면, 상이한 유형의 커넥터들이 단일한 커넥터로 결합될 수 있는 경우도 가능하다. 예를 들면, 도 2에서 일반적으로 하위-부분(237)에 대응하는 수직선은 멀티-커넥터일 반면에 하위-부분들(233 및 234)에 대응하는 수평선은 전용 커넥터들(specific connectors)일 것이다. 이러한 실시예에서, 상이한 유형의 커넥터들이 단일한 커넥터로 결합되었다는 표시는 하위-부분들(233 및 234)에 대응하는 수평 커넥터들 다음에 위치될 수 있다.
다이어그램에서, 사용자(201)는 트리형 구조의 뿌리 역할을 한다. 복수의 뿌리가 존재할 수 있음을 유념해야 한다. 예를 들면, "주문하기(Place Order)"(208)가 그것에서 분기한 두개 가지들의 뿌리일 수 있는 반면에 "지불 결정(Arrange Payment)"(205)도 역시 분기한 가지의 뿌리 역할을 할 수 있다. 트리형 구조(200)는 가지의 끝으로 역할하는 몇 개의 끝 부분을 더 포함한다. 예를 들면, "카탈로그 요청(Request Catalog)"(204)은 가지의 끝이므로 끝 부분일 수 있다. 이러한 방식으로 "고객 데이터 공급(Supply Customer Data)"(202), "제품 주문(Order Product)"(203), "신용거래 결정(Arrange Credit)"(207), 및 "현금 지 불(Pay Cash)"(206)이 가지의 끝이므로 그것들은 또한 끝 부분으로 간주될 수 있다. 일부 실시예에서는, 끝 부분이 아닌 하위-부분들에 변경이 생길 수 있다. 다른 실시예에서는, 모든 하위-부분들에 변경이 생길 수 있다.
상술한 바와 같이, 디자이너 도구/애플리케이션(120)은 UI 요소들(221 내지 229)을 2차원 트리형 구조(200)에 추가한다. 이러한 UI 요소들은 사용자가 각종 하위-부분들(231 내지 237)을 수평 및 수직 양쪽으로 동적으로 변경하게 한다. 변경은 일반적으로 각종 하위-부분들을 크기조절하기, 줄이기, 또는 늘리기 중 하나이다. 몇 가지의 예시들이 이제 설명될 것이다. 비록 예시들은 예시적인 변경으로서 일반적으로 줄이기를 사용하지만, 명백하게 언급되지 않더라도 늘리기 및/또는 크기조절하기가 또한 수행될 수 있다.
예를 들면, UI(222)가 선택되어, 수직 방향으로 객체(204)를 포함하는 하위-부분(232)의 줄이기를 도출할 수 있다. 동시에, UI(223)가 선택되어, 하위-부분들(233 내지 237)의 대응하는 객체들과 함께 그 부분들의 줄이기를 도출할 수 있다. 따라서, 2차원 트리형 구조(200)가 수평 및 수직 중 어느 한 쪽으로 변경되는 능력을 갖는다. 도 2B에는 도시되지 않았지만, 2차원 트리형 구조가 이하에 도 3에 관하여 설명될 바와 같이, 대각선으로 또한 변경될 수 있다.
또한, 하위-부분들은 수평 및 수직 방향 양쪽에서 또한 변경될 수 있다. 예를 들면, UI(226)가 선택되어, 수직 방향으로 객체들(206 및 207)의 줄이기를 도출할 수 있다. 역으로, UI(227 및/또는 228)가 선택되어, 객체들(206 및/또는 207)의 수평적 줄이기를 도출할 수 있다. 이러한 방식으로, 하위-부분들(233, 234 및 237)은, UI(223)가 선택된 경우에 수직으로 변경될 수 있고, UI(224, 225 및 229)가 각각 선택되는 경우에는 수평으로도 변경될 수 있다.
일부 실시예들에서는, 2차원 트리형 구조(200)가 또한 변경중인 하위-부분으로부터의 분지인 하위-부분들에는 변경을 자동으로 만들지 않은 채 트리형 구조(200)의 하위-부분에 변경을 만드는 능력을 갖는다. 예를 들면, UI(225)는 줄어들 수 있다. 이는 객체(205)를 포함하는 하위-부분(234)을 줄일 것이다. 그러나, 하위-부분들(235 및 236)이 마찬가지로 자동으로 줄어들지는 않을 것이다. 그것들은 이용가능한 보기 공간을 최적화하기 위해 단순히 크기가 재조정될 수 있다. 물론, 사용자가 객체(206) 만을 디스플레이하는 것을 원할 수 있는데, 이를 위한 사용자 상호작용의 수신시 객체(207)가 수평으로 줄어들 수도 있다.
다른 예시로서, 객체(208)를 포함하는 하위-부분(231)은 UI(221)를 선택함으로써 줄어들 수 있다. 많은 종래의 1차원 트리형 구조들에서, 이는 트리형 구조의 나머지를 자동으로 줄일 것이다. 2차원 트리형 구조에서, 비록 일부 실시예들에서는 디스플레이의 최적화를 허용하기 위해 다른 하위-부분들이 자동으로 크기조절될 수 있지만, 사용자 상호작용이 그 하위-부분들에 대한 변경을 특정할 때까지 그 하위-부분들이 여전히 디스플레이되어 있다. 따라서, 사용자는 사용자에게 바람직한 하위-부분들만을 디스플레이하도록 트리형 구조(200)를 동적으로 변경할 수 있다.
도 2B 및 다음의 도 3 및 도 4에서는, 각각의 객체 또는 하위-부분마다 단 하나의 UI 요소만이 도시됨을 유념해야 한다. 도시된 UI 요소들은 하위-부분들의 줄이기 및 늘리기를 허용한다. 보다 많은 UI 요소들이 또한 사용될 수 있음이 이 해될 것이다. 이러한 추가적인 UI 요소들은 속성 플래그, 사용자 코멘트, 객체들 및/또는 하위-부분들 간의 추가적인 관계들 등의 늘리기 및 줄이기에 사용될 수 있다. 따라서, 임의의 개수의 UI 요소들을 구현하는 2차원 트리형 구조는 본원에 개시된 실시예들에 의해 고찰될 수 있다.
디자이너 도구/애플리케이션(120)에 의해 제공되는 동적 변경 행위를 더 설명하기 위하여, 도 1의 트리형 구조(190)에 대응할 수 있는 생성된 2차원 트리형 구조(300)가 도 3A에 도시된다. 도 3A는 각종 모양들(301 내지 313)을 포함한다. 이들 모양들은 각종 객체들, 속성들, 동작들, 연관성 등을 포함하거나 설명함을 유념해야 한다. 모양들(301 내지 313)의 정확한 성질(the exact nature)은 본원에 기재된 실시예들에게는 중요하지 않고, 이를 반영하기 위한 각종 모양들로서 예시된다. 트리형 구조(300)는 또한 늘리기/줄이기 및 크기조절 메커니즘을 통해 트리형 구조의 하위-부분들의 동적 변경을 허용하기 위해 트리형 구조에 위치한 UI 요소들(321 내지 333)을 포함한다. 트리형 구조(300)의 전체적인 레이아웃은 단지 예시를 위한 것이며 본원에 개시된 실시예들을 제한하기 위해 사용되어서는 안된다는 점에 유념해야 한다.
비록 다른 요소들도 역시 트리형 구조의 뿌리가 될 수 있지만, 모양(301)이 트리형 구조의 뿌리로서 역할할 수 있다. 뿌리로부터 분지된 것은 각종 하위-부분들(350 내지 361)이다. 하위-부분들의 일부가 수평 방향을 향하고 있고, 일부는 수직방향을, 그리고 일부는 대각선 방향을 향하고 있음을 유념해야 한다. 트리형 구조(300)가 2차원이므로, 이는 조건이 맞는 한 그 방향들 중 임의의 방향으로 변 경될 수 있다. 상술한 바와 같이, 변경들은 통상적으로 크기조절하기, 줄이기, 또는 늘리기이다.
도 3B를 참조하면, 하위-가지들의 일부가 변경된 후의 트리형 구조(300)가 도시된다. 예를 들면, 사용자가 대각선의 하위-부분(350)을 변경하기 원할 수 있다. 사용자는 UI 요소(321)를 선택하는 입력을 제공할 수 있으므로, 모양(302)을 포함하는 하위-부분(350)을 대각선 방향으로 줄인다. 일부 실시예에서는, 하위-부분들(351 및 352)은 UI(321)가 선택되는 경우에 대각선으로 또한 줄어들 수 있다. 다른 실시예에서는, 하위-부분들(351 및 352)을 그대로 디스플레이하는 동시에 2차원 트리형 구조(300)가 대각선의 하위-부분(350)만을 줄이기만 한다. 1차원 트리형 구조에서는, 하위-부분들(351 및 352)이 통상적으로 줄어들 것이다. 나중에, 대각선의 하위-부분(350)을 동적으로 늘리는 것이 바람직하다면 이를 위해 UI(321)가 선택될 수 있다.
유사한 방식으로, 사용자는 수직의 하위-부분(360)을 변경하기를 또한 원할 수 있다. 사용자는 UI 요소(331)를 선택하는 입력을 제공할 것이므로, 모양(312)을 포함하는 하위-부분(360)을 수직 방향으로 줄인다. 1차원 트리형 구조에서는, 하위-부분(360)이 통상적으로 또한 줄어들 것이다. 그러나, 일부 실시예들에서는, 하위-부분(361)을 그대로 디스플레이하는 동시에 2차원 트리형 구조(300)가 수직의 하위-부분(360)만을 줄이기만 한다. 수직의 하위-부분(360)을 동적으로 늘리는 것이 바람직하다면 이를 위해 UI(331)가 선택될 수 있다.
마찬가지로, 사용자는 수평의 하위-부분(354)을 변경하기를 또한 원할 수 있 다. 사용자는 UI 요소(326)를 선택하는 입력을 제공할 것이므로, 모양(306)을 포함하는 하위-부분(354)을 수평 방향으로 줄인다. 상술한 대로, 1차원 트리형 구조에서는, 하위-부분들(355 및 356)이 통상적으로 또한 줄어들 것이다. 일부 실시예들에서는, 하위-부분들(307 및 308)을 그대로 디스플레이하는 동시에 2차원 트리형 구조(300)가 수평의 하위-부분(306) 만을 줄이기만 한다. 대각선 및 수직의 변경들과 마찬가지로, 나중에, 수평의 하위-부분(354)을 동적으로 늘리는 것이 바람직하다면 이를 위해 UI(326)가 선택될 수 있다.
또한, 도 3B는 모양(314) 및 UI 요소(334)를 포함하는 새로운 하위-부분(362)이 2차원 트리형 구조(300)에 추가되었음을 또한 도시한다. 디자이너 도구/애플리케이션(120)은 새로운 하위-부분에 추가되는 것이 바람직할 트리형 구조(300)의 일부분을 사용자로 하여금 선택할 수 있다. 예를 들면, 사용자로 하여금 새로운 그래픽 하위-부분 또는 객체를 선택하고 드래그하여 이를 원하는 위치의 트리형 구조에 위치시키게 하는 사용자 인터페이스를 사용자가 이용할 수 있게 한다. 그러면 트리형 구조(300)가 크기조절되어 이용가능한 디스플레이 공간을 최적화하면서 디자이너 도구/애플리케이션(120)은 새로운 하위-부분 또는 객체를 자동으로 추가할 수 있다. 따라서, 사용자는 새로운 하위-부분들 또는 객체들을 트리형 구조(300)에 동적으로 추가할 수 있다.
도 3C를 참조하면, 2차원 트리형 구조(300)에 다른 변경들이 도시되어 있다. 이 도시에서는, 모양(311)을 포함하는 끝 부분(359) 및 뿌리 모양(301)이 도시된다. 또한 도 3A의 하위-부분(350)과 하위-부분(350) 아래 하위-부분들 전부를 나 타내는 상자(380)가 도시된다. 마찬가지로, 상자(390)는 도 3A의 하위-부분(353)과 하위-부분(353) 아래의 하위-부분들 전부를 나타낸다. 상자들(380 및 390)은 편리함의 용이함 만을 위해서 사용될 뿐, 디자이너 도구(120)에 의한 임의의 실제 디스플레이를 내포하기 위한 것은 아니다.
도 3C는 변경되고 있는 부분의 분지인 하위-부분들을 함께 변경하지 않은 채 임의의 하위-부분을 변경하게 하는 2차원 트리형 구조(300)의 능력을 도시한다. 비록 트리형 구조(300)에는 단 3가지의 예시적인 변경들만이 도시되었지만, 도 3A에 도시된 다른 하위-부분들 중 임의의 것이 또한 원하는 대로 수평, 수직, 및/또는 대각선으로 크기조절되거나, 줄어들거나, 또는 늘어날 수 있다. 따라서 사용자에 의해 바람직하다고 여겨지는 이 부분들을 디스플레이하기 위해 사용자는 상자들(380 및 390)의 부분들을 동적으로 확장하는 능력을 갖는다. 이는 사용자가 가장 큰 관심을 갖는 하위-부분들에 집중하게 해준다.
또한, 도 3C는 원한다면 뿌리 모양 및 끝 부분을 제외한 모든 요소들을 줄이는 능력을 갖는 트리형 구조(300)를 도시한다. 이는 예를 들어 프로세스의 시작과 끝만을 디스플레이하는 것이 바람직한 수백의 하위-부분들을 갖는 트리형 구조에게 유리할 수 있다. 비록 도시되진 않았지만, 도 3B 및 도 3C에 변경이 생긴 경우에 이용가능한 디스플레이 공간을 최적으로 맞추기 위해 디자이너 도구(120)가 또한 트리형 구조(300)를 동적으로 크기조절할 수 있음을 유념해야 한다.
본원에 개시된 일부 실시예들은 변경중인 하위-부분의 분지된 하위-부분 또는 끝 부분을 변경하지 않고도 변경될 수 있는 하위-부분들을 갖는 2차원 트리형 구조와 관련이 있다고 위에서 여러 번 언급되었다. 이는 1차원 트리형 구조들이 통상적으로 변경되는 방법과는 상이하다. 이러한 1차원 트리형 구조들은 일반적으로 중심 가지(main branch)를 분지하는 각종 하위-부분들 및/또는 다른 하위-부분들을 포함하는 하나 이상의 가지와 뿌리를 갖는 것으로 디스플레이된다. 1차원 트리형 구조의 예시들은 컴퓨터 운영 체제의 공지된 파일 및 폴더 디렉토리들을 포함한다. 1차원 트리형 구조들은 사용자가 각종 하위-부분들을 줄이고 늘리도록 허용한다. 그러나, 상술한 2차원 트리형 구조들의 일부 실시예들과는 달리, 끝 부분으로서 동작하는 하위-부분은 통상적으로 상기한 임의의 다른 하위-부분이 변경될 때면 언제든지 또한 변경된다.
예를 들면, 도 5는 통상의 1차원 트리형 구조(500)를 도시한다. 트리형 구조(500)는 임의의 그래픽 객체들일 수 있는 모양들(501 내지 504)을 포함한다. 제2 하위-부분(522)은 제1 하위-부분(521)의 분지이고, 이 트리형 구조에서 끝 부분의 역할도 하는 제3 하위-부분(523)은 제2 하위-부분(522)의 분지이다. 사용자가 제1 하위-부분(521)을 줄이면, 모양들(502, 503 및 504)를 포함하는 제2 및 제3 하위-부분들(522 및 523)도 자동으로 줄어들 것이다. 이러한 방식으로, 제2 하위-부분(522)을 줄이는 것은 모양(503 및 504)을 포함하는 제3 하위-부분(523)을 자동으로 줄일 것이다. 다만, 사용자가 제3 하위-부분(523)은 그대로 디스플레이하면서 제2 하위-부분(522)을 줄이거나 제2 및/또는 제3 하위-부분들(522, 523)은 그대로 디스플레이하면서 제1 하위-부분(521)을 줄이는 것은 불가능하다. 이러한 방식으로, 하위-부분들(521 및/또는 522)을 늘리는 것은 또한 하위-부분(523)을 자동으로 늘린다. 상기한 모든 시나리오에서, 끝 부분(523) 위쪽의 하위-부분에 대한 임의의 변경은 끝 부분(523)이 또한 변경되는 결과를 낳는다.
도 4A 내지 도 4C를 이제 참조하면, 2차원 트리형 구조의 일부 실시예들의 추가적인 변경 양태의 다른 예가 도시된다. 도 4A에서는, 도 1의 트리형 구조(190)에 대응할 수 있는 2차원 트리형 구조(400)가 모양들(401 내지 405)로 도시되어 있다. 이전의 예시들과 같이, 모양들(401 내지 405)의 정확한 성질은 중요하지 않다. 이 예시에서는, 모양(401)은 하위-부분들(410 내지 413)을 또한 포함하는 트리형 구조(400)의 뿌리를 나타낸다. 상술한 바와 같이, 하위-부분(411)을 변경하는 사용자 입력이 수신될 수 있다.
도 4B를 참조하면, 하위-부분(411)의 변경은 축소된 모양들(402 및 403)을 나타내는 UI 요소(460)를 발생시킨다. 트리형 구조(400)는 이제 모양들(401, 404 및 405)을 포함한다. 또한, 그 후 하위-부분들(410, 412) 및 UI 요소(460)를 포함하는 하위-부분(430)이 생성된다.
이제 도 4C를 참조하면, 사용자가 하위-부분(430)을 변경한 걸로 도시되는데, 이는 이전에 줄어든 모양들을 나타내는 UI 요소(460) 뿐만 아니라 줄어든 모양들(401 및 404)을 나타내는 UI 요소(461)도 발생시킨다. 비록 UI 요소(460)가 도 4C에서 UI 요소(461) 내에 도시되어 있지만, 이는 필수적인 특징은 아닐 수 있다. 예를 들면, 일부 실시예에서, 단일한 UI 요소는, 사용자에 의해 선택되는 경우에 UI 요소들(460 및 461)의 모든 줄어든 하위-부분들 모두가 늘어나게 할 수 있다. 다른 실시예에서는, UI 요소(460)가 UI 요소(461)에 숨겨질 수 있어서 UI 요 소(461)가 늘어날 때까지는 가시적이지 않을 수 있다.
다른 실시예에서는, 도 4C는 디자이너 도구(120)가 숨겨진 하위-부분들의 상태를 기억할 수 있다고 도시한다. 예를 들면, UI 요소(461)가 사용자에 의해 추후에 늘어난 경우에는, 모양들(401 및 404)이 디스플레이될 것이지만, 모양들(402 및 403)은 UI 요소(460)가 추후에 늘어날 때까지는 여전히 UI 요소(460)에 의해 줄어든 채로 나타날 것이다.
다른 실시예에서는, 상술한 바와 같이, 컴퓨팅 시스템(100)이 2차원 트리형 구조에 생겨난 변경을 유지하는 데 사용될 수 있는 영구 메모리(170)를 포함한다. 예를 들면, 도 4A 내지 도 4C로 돌아가면, 하위-부분(411)이 UI 요소(460)로 줄어들 때에, 이 변경은 영구 메모리에 유지될 수 있다. 사용자에 의해 디자이너 도구/애플리케이션(120)이 종료될 경우에는, 변경을 잃어버릴 것이다. 추후에, 사용자가 디자이너 도구/애플리케이션(120)을 재활성화시킨 경우에는, 트리형 구조(400)가 도 4B에 도시된 대로 디스플레이될 것이다.
유사하게는, 사용자가 기존의 디자이너 도구/애플리케이션(120)을 종료하기 전에 하위-부분(430)을 UI 요소(461)로 줄이면, 하위-부분(430)에 생겨난 변경 및 하위-부분(411)에 생겨난 변경 양쪽 모두는, 숨겨질 수 있으며, 영구 메모리(170)에서 유지된다. 나중에, 사용자가 디자이너 도구/애플리케이션(120)을 재활성화시킨 경우에는, 트리형 구조(400)가 도 4C에 도시된 대로 디스플레이될 것이다. 유리하게는, UI 요소(460)에 의해 나타나는 변경도, 숨겨져 있거나 숨겨져 있지 않거나에 상관없이, 보존되어서, 사용자가 UI 요소(460)를 늘리면 UI 요소(460)는 도 4B에서처럼 디스플레이될 것이다. UI 요소(460)가 그 후 늘어나는 경우에는, 트리형 구조(400)는 도 4A에 도시된 대로 디스플레이될 것이다. 따라서, 트리형 구조를 실행하는 애플리케이션을 종료하더라도 숨겨진 변경 또는 숨겨지지 않은 변경을 지속하는 능려은, 그 애플리케이션의 종료시 행해지는 모든 변경을 추적할 필요 없이 사용자에게 변경 능력을 허용할 수 있다. 이는 수백의 중첩된 하위-부분들을 포함하는 트리형 구조에 특히 유용하다. 변경이 지속되지 않는 경우에는, 애플리케이션이 시작될 때 마다 사용자가 변경을 다시 실행(redo)해야만 할 것이다.
본 발명은 또한 기능적 단계들 및/또는 비-기능적 행위들을 포함하는 방법의 견지에서 설명될 수 있다. 다음은 본 발명을 실시하는 단계에서 수행될 수 있는 단계들 및/또는 행위들의 설명이다. 통상, 기능적 단계들은 얻어지는 결과의 견지에서 본 발명을 설명하는 반면에, 비-기능적 행위들은 특정 결과를 얻기 위한 보다 특정한 행위를 설명한다. 비록 기능적 단계들 및/또는 비-기능적 행위들은 특정한 순서로 설명되거나 요구될 수 있지만, 본 발명은 임의의 특정한 순서 또는 단계들 및/또는 행위들의 조합으로 반드시 제한될 필요는 없다. 또한, 청구항들의 인용에서 - 그리고 도 6 내지 도 9의 흐름 다이어그램의 다음의 설명에서 - 단계들 및/또는 행위들의 사용은 그러한 용어들의 바람직한 특정 사용을 지시하기 위해 사용된다.
상술한 바와 같이, 도 6 내지 도 9는 본 발명의 각종 예시적인 실시예들을 위한 흐름도를 도시한다. 다음의 도 6 내지 도 9의 설명은 도 1 내지 도 4의 대응하는 요소들을 이따금씩 언급한다. 비록 이 도면들의 특정 요소에 참조부호가 만 들어지지만, 이러한 참조부호들은 예시적인 목적만을 위해 사용될 뿐 명시적으로 요구되지 않는 한 설명된 실시예들의 범위를 제한하거나 또는 좁히려는 것은 아니다.
우선 도 6을 참조해보면, 그래프형 가시적 언어를, 디스플레이와 사용자 상호작용의 용이함 및 최적의 디스플레이를 허용하는 2차원 트리형 구조들로 동적으로 레이아웃하는 방법(600)의 흐름도가 설명된다. 방법(600)은 트리형 구조의 뿌리에서 출발하고 복수의 하위-부분을 포함하는 적어도 하나의 가지를 포함하는 그래픽 트리형 구조를 디스플레이하는 단계(601)를 포함하는데, 여기서 하위-부분들은 적어도 하나의 끝 부분을 포함한다. 하위-부분들은 하나 이상의 객체들, 속성들, 동작들, 또는 연관성들에 대한 기능적 관계성 및 내적 행동들의 견지에서 시스템, 서비스, 또는 프로세스를 모델링한다.
예를 들면, 디자이너 도구/애플리케이션(120)의 레이아웃/프레젠테이션 모듈(130)은 2차원 트리형 구조(190)를 디스플레이할 수 있다. 트리형 구조들(200, 300 및 400)은 상술한 정의를 만족하는 2차원 트리형 구조들의 예시들이다.
방법(600)은 또한 적어도 하나의 끝 부분을 제외한 트리형 구조의 하나 이상의 하위-부분들을 변경하는 사용자 상호작용을 수신하는 단계(602)를 포함한다. 예를 들면, 디자이너 도구/애플리케이션(120)의 변경 모듈(140)은 트리형 구조(190)의 하위-부분을 변경하는 사용자 입력(180)을 수신할 수 있다. 일부 실시예들에서는, 사용자 상호작용은 크기조절하기, 줄기기, 또는 늘리기를 위해 하나 이상의 하위-부분들을 선택할 수 있다. 이는 변경될 하위-부분과 연관된 UI 요소 를 활성화시킴으로써 행해질 수 있다.
일부 실시예들에서는, 디자이너 도구/애플리케이션(120)의 변경 모듈(140)은 트리형 구조(190)가 변경되어 디스플레이될 방법을 특정하는 하나 이상의 사전 정의된 규칙(160)을 또한 수신한다. 규칙들 및 수신된 사용자 상호작용에 기초하여, 트리형 구조(190)가 동적으로 변경된다.
방법(600)은 또한 사용자 상호작용에 기초하여, 끝 부분을 변경하지 않은 채 사용자 상호작용의 용이, 디스플레이의 최적화, 또는 양쪽 모두를 허용하기 위해 끝 부분이 아닌 하나 이상의 하위-부분들을 크기조절하기, 늘리기, 또는 줄이기 중 하나에 의해 동적으로 변경하는 단계(603)를 더 포함한다. 예를 들면, 디자이너 도구/애플리케이션(120)의 변경 모듈(140)은 트리형 구조(190)를 동적으로 변경할 수 있는데, 이 트리형 구조는 그 후 레이아웃 모듈(130)에 의해 디스플레이되기 위해 최적화될 수 있다. 하위-부분들은 수직, 수평, 대각선, 또는 그것들 중 임의의 조합으로 변경될 수 있다.
예를 들면, 일부 실시예들에서 하나 이상의 하위-부분들은 도 3B에 도시된 대로 끝 부분은 줄이지 않은 채, 수직, 수평, 대각선, 또는 그것들의 임의의 조합으로 줄어들 수 있다. 이러한 실시예에서, 줄이기는 하위-부분들 중 적어도 하나의 하위-부분을 상술한 UI 요소와 같은 단일한 그래픽 객체로 자동으로 포맷하는 것을 포함할 수 있다. 단일한 그래픽 객체는 일반적으로 추가적인 사용자 상호작용의 수신에 따라 그 적어도 하나의 하위-부분으로 다시 늘어날 수 있도록 구성될 것이다. 추가적인 사용자 상호작용은 사용자가 UI 요소를 늘리는 것만큼 간단할 수 있다.
다른 실시예에서, 제1 하위-부분에 결합된 적어도 하나의 노드를 갖는 제2 하위-부분은 동적으로 크기조절되거나, 줄어들거나, 늘어날 수 있다. 제1 하위-부분은 그러면 끝 부분은 변경시키지 않은 채 제2 하위-부분에 후속하여 동적으로 변경될 수 있다. 이는 도 4A 내지 도 4C에 도시한 바와 같이 트리형 데이터 구조 내에 숨겨진 변경들이 숨겨질 수 있게 한다.
다른 실시예들에서는, 하나 이상의 하위-부분들은 또한 끝 부분은 늘리지 않고 수직, 수평, 대각선, 또는 그것들의 임의의 조합으로 또한 늘어날 수 있다. 이러한 실시예에서, 늘리기 단계는 UI 요소와 같은 늘어날 수 있는 그래픽 객체를 적어도 하나의 하위-부분으로 자동으로 포맷하는 단계를 포함할 수 있다.
또 다른 실시예들에서는, 동적 변경은 새로운 하위-부분을 트리형 구조에 추가하는 것을 포함할 수 있다. 예를 들면, 모양(314)을 포함하는 하위-부분(362)이 2차원 트리형 구조(300)에 추가된다. 새로운 하위-부분은 트리형 구조 내에 원하는 위치를 선택함으로써 그리고 또한 자동으로 트리형 구조의 균형을 맞추는 동안에 디자이너 도구/애플리케이션(120)이 새로운 하위-부분을 자동으로 배치(position)하게 함으로써 추가될 수 있다.
이제 도 7로 돌아가면, 가시적 트리형 구조의 하나 이상의 하위-가지들(sub-branches)에 대한 변경을 메모리에서 영구적으로 보유하여, 트리형 구조를 변경하는 데 사용된 애플리케이션이 사용자에 의해 종료되더라도 트리형 구조의 디스플레이에 생긴 변경이 유지되게 하는 방법(700)의 흐름 다이어그램이 도시된다. 방 법(700)은 트리형 구조의 뿌리에서 출발하고 복수의 하위-가지를 포함하는 적어도 하나의 가지를 포함하는 트리형 구조를 디스플레이하는 애플리케이션을 활성화시키는 단계(701)를 포함한다. 하위-가지들은 하나 이상의 객체들, 속성들, 동작들, 및 연관성들을 위한 기능적 관계성 및 내적 행동들의 견지에서 시스템, 서비스, 또는 프로세스를 모델링하기 위한 것이다.
예를 들면, 디자이너 도구/애플리케이션(120)은 트리형 구조(190)를 디스플레이하도록 활성화될 수 있는데, 그 예시들은 도 2 내지 도 4에 도시되어 있다. 일부 실시예들에서, 트리형 구조는 또한 1차원 트리형 구조일 수 있다.
방법(700)은 또한 복수의 하위-가지 중에서 적어도 하나를 변경하는 사용자 입력을 수신하는 단계(702)를 포함한다. 예를 들면, 변경 모듈(140)은 트리형 구조(190)의 하나 이상의 하위-가지들을 변경하는 사용자 입력(140)을 수신한다. 일부 실시예들에서, 사용자 입력은 하위-가지를 늘리거나 줄이는 UI 요소를 선택할 수 있다. 변경은 변경중인 하위-가지를 크기조절하는 단계, 줄이는 단계, 늘리는 단계를 포함할 수 있다.
방법(700)은 사용자 입력에 기초하여, 사용자에 의해 애플리케이션이 종료된 후 추후에 재활성화되면, 트리형 구조가 그 애플리케이션이 종료되었을 때 나타났던 대로 정확히 디스플레이될 수 있도록 하위-가지에 생겨난 변경을 영구 메모리에 유지하는 단계(703)를 더 포함한다. 예를 들면, 트리형 구조(190)에 생겨난 변경은 영구 메모리(170)에 유지될 수 있다. 디자이너 도구/애플리케이션(120)이 종료된 후에 추후에 재활성화되는 경우에, 트리형 구조(190)의 디스플레이는 디자이너 도구/애플리케이션(120)이 종료되었을 때 한 번 더 디스플레이된다.
일부 실시예들에서는, 제1 하위-가지에 결합된 노드를 갖는 제2 하위-가지를 변경하기 위해 사용자 입력이 수신된다. 제2 하위-가지가 변경된다. 이 변경에 후속하여, 제2 하위-가지의 변경이 숨겨지게끔 제1 하위-가지가 변경된다. 숨겨진 제2 하위-가지의 변경된 상태는 그러면 영구 메모리에 보존될 수 있다. 애플리케이션이 추후에 실행되는 경우에는, UI 요소를 선택하는 것과 같은 사용자 입력의 수신은 숨겨진 제2 하위-가지가 디스플레이되게 한다.
예를 들면, 도 4A 내지 도 4C를 참조하면, 하위-부분(411)이 UI 요소(460)로 줄어들 수 있다. 이에 후속하여, 하위-부분(430)은 상술한 대로 UI 요소(460)를 숨기는 UI 요소(461)로 줄어들 수 있다. UI 요소(461)를 포함하는 트리형 구조(400)를 영구 메모리(170)에 보존하는 것은, 애플리케이션(120)이 재활성화될 때에, 상술한 대로 하위-부분(411)의 복구(recovery)를 허용한다.
도 8을 참조하면, 가시적 트리형 구조를 2차원 트리형 구조로 변환하는 방법(800)이 도시된다. 방법(800)은 변경될 수 없는 복수의 하위-부분을 포함하는 제1 트리형 구조 또는 그래프형 가시적 언어를 수신하는 단계(801)를 포함한다. 다른 실시예에서는, 제2 트리형 구조는 트리형 구조의 뿌리에서 출발하고 복수의 하위-부분을 포함하는 적어도 하나의 가지를 포함한다. 하위-부분들은 하나 이상의 객체들, 속성들, 동작들, 또는 연관성들에 관한 기능적 관계성들 및 내적 행동들의 견지에서 시스템, 서비스, 또는 프로세스를 모델링한다. 하위-부분들은 하나 이상의 하위-부분들이 변경될 때마다 변경되는 적어도 하나의 끝 부분을 포함한다.
예를 들면, 디자이너 도구/애플리케이션(120)의 레이아웃 모듈(130)은 변경될 수 없는 기존의 트리형 구조, 끝 부분이 변경될 때에만 변경될 수 있는 기존의 1차원 트리형 구조, 또는 기존의 임의적인 그래프형 가시적 언어일 수 있는, 그래프형 가시적 언어(110)를 수신할 수 있다. 그래프형 가시적 언어(110)는 또한 상술한 대로 사용자에 의해 생성된 이들 세가지 중 임의의 것일 수 있다. 임의적인 그래프형 가시적 언어는, 모델링되고 있는 시스템, 서비스, 또는 프로세스 내에 반드시 있어야 할 것들을 강조하는 구조 다이어그램, 모델링되고 있는 시스템, 서비스, 또는 프로세스 내에서 반드시 일어나야 할 것들을 강조하는 행위 다이어그램, 및 모델링되고 있는 시스템, 서비스, 또는 프로세스 내에서 데이터 및 제어의 흐름을 특히 강조하는 상호작용 다이어그램 중 하나를 포함할 수 있다. 이는 또한 UML(Unified Modeling Language)의 각종 다이어그램 유형, 데이터베이스 월드 내의 엔티티 관계성 다이어그램, 및 비즈니스 프로세스 디자인을 위한 비즈니스 프로세스 다이어그램을 포함할 수 있다.
방법(800)은 수신된 제1 또는 제2 트리형 구조 또는 임의적인 그래프형 가시적 언어를 2차원 트리형 구조로 변환하는 단계(802)를 더 포함한다. 2차원 트리형 구조는 2차원 트리형 구조의 뿌리에서 출발하고 끝 부분을 포함하는 복수의 하위-부분을 포함하는 적어도 하나의 가지를 포함하는데, 여기서 끝 부분이 아닌 하위-부분들은 끝 부분을 변경하지 않은 채 크기조절하기, 줄이기, 또는 늘리기에 의해 변경될 수도 있다.
예를 들면, 변환 모듈(150)은 수신된 트리형 구조 또는 그래프형 가시적 언 어를 2차원 트리형 구조(190)로 변환할 수 있다. 2차원 트리형 구조는 상술한 대로 수직, 수평, 대각선, 또는 이 3 가지 중 임의의 조합으로 변경될 수 있다. 변환된 2차원 트리형 구조는 또한 기타 방법 및 본원에 설명된 실시예들과 관련하여 2차원 트리형 구조에 관하여 상술된 기능성 전부를 허용한다.
도 9를 참조하여, 그래프형 가시적 언어의 다이어그램을 디스플레이와 사용자 상호작용의 용이함 및 최적의 디스플레이를 허용하는 2차원 트리형 구조로 동적으로 레이아웃하는 방법(900)의 흐름도가 도시된다. 방법(900)은 트리형 구조의 뿌리에서 출발하고 수직 방향 및 수평 방향으로 변경되도록 구성된 복수의 하위-부분을 갖는 적어도 하나의 가지를 포함하는 그래프형 트리형 구조를 디스플레이하는 단계(901)를 포함한다. 하위-부분들은 하나 이상의 객체들, 속성들, 동작들, 또는 연관성들에 관한 기능적 관계성 및 내적 행동들의 견지에서 시스템, 서비스, 또는 프로세스를 모델링한다. 하위-부분들은 또한 대각선 방향으로도 마찬가지로 변경되도록 구성될 수 있다.
예를 들면, 디자이너 도구/애플리케이션(120)의 레이아웃/프레젠테이션 모듈(130)은 2차원 트리형 구조(190)를 디스플레이할 수 있다. 트리형 구조(200, 300 및 400)는 상술한 정의를 만족하는 2차원 트리형 구조의 예시들이다.
방법(900)은 또한 적어도 하나의 끝 부분을 제외한 그래픽 트리형 구조의 하나 이상의 하위-부분들을 변경하는 사용자 상호작용을 수신하는 단계(902)를 포함한다. 예를 들면, 디자이너 도구/애플리케이션(120)의 변경 모듈(140)은 트리형 구조(190)의 하위-부분을 변경하는 사용자 입력(180)을 수신할 수 있다. 일부 실 시예에서는, 사용자 상호작용은 수직, 수평, 및 잠재적으로는 대각선으로 크기조절하기, 줄이기, 또는 늘리기 위해 하나 이상의 하위-부분들을 선택할 수 있다. 이는 변경될 하위-부분과 연관된 UI 요소를 활성화시킴으로써 행해질 수 있다.
방법(900)은, 사용자 상호작용에 기초하여, 사용자 상호작용의 용이함, 및 디스플레이의 최적화, 또는 양쪽 모두를 허용하기 위해 수평, 수직, 또는 양쪽 모두로 동적으로 변경하는 단계(903)를 더 포함한다. 예를 들면, 디자이너 도구/애플리케이션(120)의 변경 모듈(140)은 트리형 구조(190)를 동적으로 변경할 수 있는데, 이 트리형 구조는 그 후 레이아웃 모듈(130)에 의해 디스플레이하기에 최적화될 수 있다. 하위-부분들은 크기조절되거나, 늘어나거나, 줄어들 수 있다.
다른 실시예에서는, 제1 하위-부분에 결합된 적어도 하나의 노드를 갖는 제2 하위-부분이 동적으로 변경될 수 있다. 제1 하위-부분은 그 후 제2 하위-부분에 대한 변경을 숨기는 방식으로 제2 하위-부분에 후속하여 동적으로 변경될 수 있다. 이는 도 4A 내지 도 4C에 도시된 바와 같이 트리형 데이터 구조 내에 변경을 숨길 수 있게 한다. 숨겨진 변경은 추가적인 사용자 입력을 수신하면 추후에 디스플레이될 수 있다.
또 다른 실시예에서는, 동적 변경은 트리형 구조에 새로운 하위-부분을 추가하는 것을 포함할 수 있다. 예를 들면, 모양(314)을 포함하는 하위-부분(362)은 2차원 트리형 구조(300)에 추가된다. 트리형 구조에서 원하는 위치를 선택함으로써 그리고 자동으로 트리형 구조의 균형을 또한 맞추는 동안에 디자이너 도구/애플리케이션(120)이 새로운 하위-부분을 자동으로 배치하게 함으로써 새로운 하위-부분 이 추가될 수 있다. 다수의 커넥터를 하나의 커넥터로 결합시키는 등의 다른 변경 기술들이 또한 구현될 수 있다.
추가적인 실시예들에서, 그래픽 트리형 구조의 디스플레이의 최적화는, 디스플레이 장치 또는 창의 애스펙트비를 최적화하기 위해 하나 이상의 하위-부분들을 수평 방향에서 수직 방향으로 자동으로 전환하는 단계 또는 하나 이상의 하위-부분들을 수직 방향에서 수평 방향으로 자동으로 전환하는 단계를 포함한다. 예를 들면, 일부 환경에서, 그래픽 트리형 구조의 하나 이상의 가지들은 디스플레이 장치의 애스펙트비에 대해 최적화되지 않은 그래픽 트리형 구조의 디스플레이를 만들 수 있다. 예를 들면, 디스플레이 장치 또는 창(window)이 사용되지 않은 디스플레이 공간을 수평으로 갖는 반면에, 그래픽 트리형 구조는 수직으로 길 수 있다. 이러한 경우에는, 디자이너 도구/애플리케이션(120)이 하나 이상의 수직 하위-부분들을 자동으로 전환하여 수평으로 디스플레이되게 할 수 있다. 이러한 하위-부분들은, 디스플레이가 계속 최적화되도록 전환을 요구하는 그래픽 트리형 구조에 새로운 요소가 추가되는 등의 환경이 갖춰진 추후에 수직으로 디스플레이되도록 다시 전환될 수 있다.
예를 들면, 도 3A를 참조하면, 일부 실시예들에서, 디자이너 도구/애플리케이션(120)은, 수직 하위-부분들(360, 316)을 디스플레이 장치의 애스펙트 비를 최적화하여 요소(310)로부터 수평으로 분지하는 것으로서 디스플레이하도록 수직 하위-부분들(360 및 316)의 디스플레이를 자동으로 전환할 수 있다. 이러한 방식에서, 디자이너 도구/애플리케이션(120)은, 환경이 갖춰진다면 요소(305)로부터 수직 으로 분지하는 것으로서 디스플레이하도록 수평적 하위-부분들(354 내지 356)(또는 이들 하위-부분들의 임의의 부분집합)의 디스플레이를 자동으로 전환할 수 있다. 디자이너 도구/애플리케이션(120)은 디스플레이 장치 또는 창의 애스펙트 비에 대해 최적화하기 위해 필요하면 도 3A 및 도 3B의 요소들 중 임의의 것의 디스플레이 방향을 자동으로 전환할 수 있다.
본 발명은 본 발명의 사상 또는 주요 특징들로부터 일탈함이 없이 다른 특정한 형태들로 구체화될 수 있다. 설명된 실시예들은 모든 양태들에서 제한이 아니라 단지 예시적으로서 고려되는 것이다. 따라서, 본 발명의 범위는 상술한 명세서에 의해서가 아니라 첨부된 청구항들에 의해 나타난다. 청구항들의 등가물의 의미 및 범위 내에 들어가는 모든 변경들은 그것들의 요지 내에 포함되는 것이다.

Claims (19)

  1. 통상적으로 수동 변경 및 크기조절을 요구하는, 시스템, 서비스, 또는 프로세스와 같은 것들 또는 전체적인 객체 시스템을 나타내는 것들에 대한 그래픽 다이어그램들을 모델링하도록 그래프형 가시적 언어(110; graph-like visual language)를 사용하는 컴퓨팅 시스템(100) 내에서, 디스플레이와 사용자 상호작용의 용이함 및 그래픽 트리형 구조의 최적의 디스플레이를 허용하도록 상기 다이어그램들을 2차원 트리형 구조(200)에 동적으로 레이아웃하는 방법으로서,
    그래픽 트리형 구조(200)의 뿌리(201)에서 출발하고 하나 이상의 객체들, 속성들, 동작들, 연관성들에 대한 기능적인 관계성들 및 내적 행동들의 견지에서 전체적인 객체 모델을 나타내기 위한 하나 이상의 하위-부분들(231 내지 237)을 포함하는 적어도 하나의 가지를 포함하는 상기 그래픽 트리형 구조(200)를 디스플레이하는 단계(901) - 상기 하나 이상의 하위-부분들(231 내지 237)은 수직적 방향 및 수평적 방향으로 변경되도록 구성됨 - ;
    상기 그래픽 트리형 구조의 하나 이상의 하위-부분들(231 내지 237)을 변경하는 사용자 상호작용(180)을 수신하는 단계(902); 및
    사용자 상호작용의 용이함, 상기 그래픽 트리형 구조(200)의 디스플레이의 최적화, 또는 양쪽 모두를 허용하기 위해, 상기 사용자 상호작용에 기초하여, 상기 하나 이상의 하위-부분들(231 내지 237)을 수직으로, 수평으로, 또는 양쪽 모두로 동적으로 변경하는 단계(903)
    를 포함하는 동적 레이아웃 방법.
  2. 제1항에 있어서, 상기 하나 이상의 하위-부분들을 수직으로, 수평으로, 또는 양쪽 모두로 변경하는 단계는 상기 하위-부분들을 크기조정하는 단계, 줄이는 단계, 또는 늘리는 단계 중 하나 이상을 포함하고, 상기 하나 이상의 하위-부분들은 대각선 방향으로 크기조절되거나, 줄어들거나, 늘어날 수 있는 동적 레이아웃 방법.
  3. 제1항에 있어서,
    제1 하위-부분에 결합된 적어도 하나의 노드를 갖는 제2 하위-부분을 동적으로 변경하는 단계; 및
    상기 제2 하위-부분을 변경하는 단계에 후속하여 상기 제1 하위-부분을 동적으로 변경하여 상기 제1 하위-부분이 변경될 때에 상기 제2 하위-부분에 대한 변경이 숨겨지게 하는 단계
    를 포함하고,
    상기 제2 하위-부분에 대한 숨겨진 변경들은 추가적인 사용자 상호작용을 수신하면 디스플레이될 수 있는 동적 레이아웃 방법.
  4. 제1항에 있어서,
    새로운 하위-부분은, 상기 그래픽 트리형 구조의 원하는 위치에 상기 새로운 하위-부분을 배치함으로써 상기 그래픽 트리형 구조에 추가되고,
    상기 새로운 하위-부분은 상기 그래픽 트리형 구조에 자동으로 추가되는
    동적 레이아웃 방법.
  5. 제1항에 있어서, 상기 그래프형 가시적 언어는, 모델링되고 있는 상기 시스템, 서비스, 또는 프로세스에 있는 것들을 강조하는 구조 다이어그램, 모델링 되고 있는 상기 시스템, 서비스, 또는 프로세스에서 일어나는 일들을 강조하는 작용 다이어그램, 및 모델링되고 있는 상기 시스템, 서비스, 또는 프로세스에서 데이터 및 제어의 흐름을 특히 강조하는 상호작용 다이어그램 중 하나 이상을 포함하는 동적 레이아웃 방법.
  6. 제1항에 있어서, 상기 그래픽 트리형 구조의 디스플레이의 최적화는 디스플레이 장치 또는 창(window)의 애스펙트 비에 대해 최적화하기 위해 하나 이상의 하위-부분들을 수평 방향에서 수직 방향으로 자동으로 전환하거나 하나 이상의 하위-부분들을 수직 방향에서 수평 방향으로 전환하는 단계를 포함하는 동적 레이아웃 방법.
  7. 실행되는 경우에 제1항의 동적 레이아웃 방법을 구현하는 것이 가능한 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 프로그램 제품.
  8. 통상적으로 수동 변경 및 크기조절을 요구하는, 시스템, 서비스, 또는 프로세스와 같은 것들, 또는 전체적인 객체 시스템을 나타내는 것들에 대한 그래픽 다이어그램들을 모델링하도록 그래프형 가시적 언어(110)를 사용하는 컴퓨팅 시스템(100) 내에서, 사용자 상호작용의 용이함 및 그래픽 트리형 구조들의 최적의 디스플레이를 허용하도록 상기 다이어그램들을 2차원 트리형 구조(300)에 동적으로 레이아웃하는 방법으로서,
    그래픽 트리형 구조(300)의 뿌리(301)에서 출발하고 하나 이상의 객체들, 속성들, 동작들, 연관성들에 대한 기능적인 관계성들 및 내적 행동들의 견지에서 전체적인 객체 모델을 나타내기 위해 복수의 하위-부분(350 내지 361)을 포함하는 적어도 하나의 가지를 포함하는 상기 그래픽 트리형 구조(300)를 디스플레이하는 단계(601) - 상기 하위-부분들(350 내지 361)은 적어도 하나의 끝 부분(361)을 포함함 -;
    상기 적어도 하나의 끝 부분이 아닌 상기 그래픽 트리형 구조의 하나 이상의 하위-부분들(350 내지 361)을 변경하는 사용자 상호작용(180)을 수신하는 단계(602); 및
    상기 끝 부분은 변경하지 않은 채, 사용자 상호작용의 용이함, 상기 그래픽 트리형 구조(300)의 디스플레이의 최적화, 또는 양쪽 모두를 허용하기 위해, 상기 사용자 상호작용에 기초하여, 상기 적어도 하나의 끝 부분(361)이 아닌 상기 하나 이상의 하위-부분들(350 내지 361)을 크기조정하는 단계, 늘리는 단계, 또는 줄이는 단계 중 하나 이상에 의해 동적으로 변경하는 단계(603)
    를 포함하는 동적 레이아웃 방법.
  9. 제8항에 있어서, 상기 하나 이상의 하위-부분들은 수직으로, 수평으로, 대각선으로, 또는 이들의 조합으로 변경될 수 있는 동적 레이아웃 방법.
  10. 제8항에 있어서,
    상기 트리형 구조가 어떻게 변경되고 디스플레이되는 지를 특정하는 하나 이상의 사전정의된 규칙들을 수신하는 단계; 및
    상기 하나 이상의 규칙들 및 상기 수신된 사용자 상호작용에 기초하여, 상기 적어도 하나의 끝 부분이 아닌 하위-부분을 동적으로 크기 조절하거나, 늘리거나, 줄이는 단계
    를 포함하는 동적 레이아웃 방법.
  11. 제8항에 있어서, 1차원 그래픽 트리형 구조와 변경불가능한 그래픽 트리형 구조 중 하나를 2차원 그래픽 트리형 구조로 동적으로 변환하는 단계를 더 포함하는 동적 레이아웃 방법.
  12. 제8항에 있어서, 둘 이상의 하위-부분들의 연결선들의 세그먼트들을 단일한 연결선으로 결합시키는 단계를 더 포함하는 동적 레이아웃 방법.
  13. 제8항에 있어서, 상기 사용자 상호작용을 수신하는 단계는, 크기조절하는 단계, 줄이는 단계, 또는 늘리는 단계를 위해 하나 이상의 하위-부분들을 선택하는 단계를 포함하는 동적 레이아웃 방법.
  14. 제8항에 있어서, 상기 줄이는 단계는,
    상기 하위-부분들 중 적어도 하나의 하위-부분을 단일한 그래픽 객체에 동적으로 포맷하는 단계를 포함하고, 상기 단일한 그래픽 객체는 추가적인 사용자 상호작용의 수신에 따라 상기 적어도 하나의 하위-부분으로 다시 늘어날 수 있도록 구성되는, 동적 레이아웃 방법.
  15. 제8항에 있어서, 상기 늘리는 단계는,
    늘어날 수 있는 그래픽 객체를 적어도 하나의 상기 하위-부분으로 자동으로 포맷하는, 동적 레이아웃 방법.
  16. 실행되는 경우에 제8항의 동적 레이아웃 방법을 구현하는 것이 가능한 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 프로그램 제품.
  17. 시스템, 서비스, 또는 프로세스와 같은 것들, 또는 가시적 트리형 구조(200)로서 디스플레이되는 전체적인 객체 시스템을 나타내는 것들에 대한 그래픽 다이어그램들을 모델링하도록 그래프형 가시적 언어(110)를 포함하는 컴퓨팅 시스템(100) 내에서, 상기 가시적 트리형 구조(200)를 변경하는 데 사용된 애플리케이션(120)이 사용자에 의해 종료되더라도 사용자에 의해 상기 가시적 트리형 구조(200)의 디스플레이에 생겨난 변경들이 유지되도록 상기 가시적 트리형 구조(200)의 하나 이상의 하위-가지들(231 내지 237)에 대한 변경들을 메모리에 영구적으로 보존하는 방법으로서,
    상기 그래픽 트리형 구조(200)의 뿌리(201)에서 출발하고 하나 이상의 객체들, 속성들, 동작들, 연관성들에 대한 기능적인 관계성들 및 내적 행동들의 견지에서 전체적인 객체 모델을 나타내는 복수의 하위-부분(231 내지 237)을 포함하는 적어도 하나의 가지를 포함하는 상기 그래픽 트리형 구조(200)를 디스플레이하는 애플리케이션(120)을 활성화시키는 단계(701);
    상기 복수의 하위-부분(231 내지 237) 중 적어도 하나를 변경하는 사용자 입력(180)을 수신하는 단계(702); 및
    상기 사용자 입력에 기초하여, 사용자에 의해 상기 애플리케이션이 종료된 후 추후에 재활성화되면, 상기 그래픽 트리형 구조(200)는 상기 애플리케이션(120)이 종료되기 전에 나타났던 대로 디스플레이되도록 상기 변경을 영구 메모리(170)에 유지하는 단계(703)
    를 포함하는 영구적 변경 보존 방법.
  18. 제17항에 있어서, 상기 변경은 변경되고 있는 상기 하위-부분을 줄이는 단계 또는 늘리는 단계를 포함하는 영구적 변경 보존 방법.
  19. 제18항에 있어서,
    제1 하위-가지에 결합된 적어도 하나의 노드를 갖는 제2 하위-가지의 변경을 수행하기 위한 사용자 입력을 수신하는 단계;
    상기 제1 하위-가지를 변경하는 단계 전에 상기 제2 하위-가지를 변경하여 상기 제1 하위-가지가 변경될 때에 상기 제2 하위-가지에 대한 변경이 숨겨지게 하는 단계; 및
    상기 애플리케이션의 종료시 숨겨진 상기 제2 하위-가지의 변경된 상태를 상기 영구 메모리에 보존하여, 추후에 상기 애플리케이션의 실행시 상기 제2 하위-가지에 대한 숨겨진 변경들이 추가적인 사용자 상호작용의 수신에 따라 디스플레이될 수 있게 하는 단계
    를 더 포함하는 영구적 변경 보존 방법.
KR1020087023857A 2006-03-31 2007-02-21 그래프형 다이어그램을 편집하기 위한 2차원 트리들의 동적레이아웃 방법, 영구적 변경 보존 방법, 및 컴퓨터 프로그램 제품 KR20080107444A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/395,624 US7661076B2 (en) 2006-03-31 2006-03-31 Two dimensional trees to edit graph-like diagrams
US11/395,624 2006-03-31

Publications (1)

Publication Number Publication Date
KR20080107444A true KR20080107444A (ko) 2008-12-10

Family

ID=38560991

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087023857A KR20080107444A (ko) 2006-03-31 2007-02-21 그래프형 다이어그램을 편집하기 위한 2차원 트리들의 동적레이아웃 방법, 영구적 변경 보존 방법, 및 컴퓨터 프로그램 제품

Country Status (6)

Country Link
US (1) US7661076B2 (ko)
EP (1) EP2008201A4 (ko)
JP (1) JP4629792B2 (ko)
KR (1) KR20080107444A (ko)
CN (1) CN101416180B (ko)
WO (1) WO2007120388A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8369860B2 (en) * 2006-08-18 2013-02-05 Interdigital Technology Corporation Sending and reducing uplink feedback signaling for transmission of MBMS data
US7703045B1 (en) * 2006-09-05 2010-04-20 Oracle America, Inc. Method and apparatus for interacting with objects in a user interface
US20090158178A1 (en) * 2007-12-17 2009-06-18 Dorian Birsan Graphically navigating tree structures
US9563657B2 (en) * 2008-01-08 2017-02-07 International Business Machines Corporation Generating data queries using a graphical selection tree
US8826174B2 (en) * 2008-06-27 2014-09-02 Microsoft Corporation Using visual landmarks to organize diagrams
US8583707B2 (en) * 2008-12-11 2013-11-12 International Business Machines Corporation Method, computer program, and system-model converter for converting system model
EP2244176A1 (de) * 2009-04-03 2010-10-27 Jurasoft GmbH & Co. KG Verfahren zum Steuern einer Anzeigeeinrichtung mittels einer Steuereinrichtung in einem Computersystem sowie Computerprogramm-Produkt
WO2011099808A2 (en) * 2010-02-12 2011-08-18 Samsung Electronics Co., Ltd. Method and apparatus for providing a user interface
US20130318478A1 (en) * 2011-02-17 2013-11-28 Nec Casio Mobile Communications Ltd. Electronic device, display method and non-transitory storage medium
CN102779116B (zh) * 2011-05-10 2015-02-11 姜宇平 一种标准体系表自动生成***和方法
CN102737108B (zh) * 2012-04-05 2015-06-17 李姮乐 处理流程图的方法及装置
US8874553B2 (en) 2012-08-30 2014-10-28 Wal-Mart Stores, Inc. Establishing “is a” relationships for a taxonomy
US9092547B2 (en) 2012-09-19 2015-07-28 Wal-Mart Stores, Inc. Transforming a graph to a tree in accordance with analyst guidance
KR101627985B1 (ko) * 2012-10-12 2016-06-07 미쓰비시덴키 가부시키가이샤 화면 천이도 작성 장치
US20140325400A1 (en) * 2013-04-30 2014-10-30 Hewlett-Packard Development Company, L.P. Multi-panel view interface for a browser operating on a computing device
CN107545057A (zh) * 2017-08-29 2018-01-05 广州视源电子科技股份有限公司 展示思维导图的方法、装置、设备及存储介质
CN109117051B (zh) * 2018-09-05 2021-05-11 广州视源电子科技股份有限公司 思维导图的展示方法、装置、设备及存储介质
CN110162239A (zh) * 2019-05-23 2019-08-23 北京字节跳动网络技术有限公司 思维导图中的卡片折叠方法、装置、电子设备和存储介质
CN110737380B (zh) * 2019-09-05 2021-09-07 广州视源电子科技股份有限公司 思维导图展示方法、装置、存储介质及电子设备
US11563558B2 (en) 2020-03-03 2023-01-24 International Business Machines Corporation Behavior driven graph expansion
CN112132980B (zh) * 2020-09-22 2022-10-11 广西农业职业技术学院 一种用于心理咨询的思维导图操作方法
CN112783405B (zh) * 2021-01-25 2022-03-01 张飞 一种在计算机上制作和显示流程图的方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2097232C (en) * 1993-05-28 1999-01-19 Phillip J. Beaudet Displaying partial graphs by expanding and collapsing nodes
US5680619A (en) * 1995-04-03 1997-10-21 Mfactory, Inc. Hierarchical encapsulation of instantiated objects in a multimedia authoring system
JP3888483B2 (ja) * 1997-05-13 2007-03-07 株式会社日立製作所 データベースの表示方法
US6931625B1 (en) * 1999-10-05 2005-08-16 Borland Software Corporation Method and system for collapsing a graphical representation of related elements
JP3478331B2 (ja) * 1999-10-29 2003-12-15 株式会社リコー 構造表示方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2001046798A2 (en) * 1999-12-20 2001-06-28 Headway Research Limited System and method for computer-aided graph-based dependency analysis
US6636250B1 (en) * 2000-04-12 2003-10-21 Emc Corp Methods and apparatus for presenting information to a user of a computer system
US6532471B1 (en) * 2000-12-11 2003-03-11 International Business Machines Corporation Interface repository browser and editor
US6952208B1 (en) * 2001-06-22 2005-10-04 Sanavigator, Inc. Method for displaying supersets of node groups in a network
US6907417B2 (en) * 2002-03-28 2005-06-14 International Business Machines Corporation System and method for converting node-and-link knowledge representations to outline format
US20030218641A1 (en) * 2002-05-23 2003-11-27 International Business Machines Corporation Method and system for navigating a hierarchical structure in a data processing system
US20040169688A1 (en) * 2003-02-27 2004-09-02 Microsoft Corporation Multi-directional display and navigation of hierarchical data and optimization of display area consumption
US7242413B2 (en) * 2003-05-27 2007-07-10 International Business Machines Corporation Methods, systems and computer program products for controlling tree diagram graphical user interfaces and/or for partially collapsing tree diagrams
US7877737B2 (en) * 2004-07-23 2011-01-25 University Of Maryland Tree-to-graph folding procedure for systems engineering requirements
US7814427B2 (en) * 2005-01-05 2010-10-12 Microsoft Corporation Object model tree diagram

Also Published As

Publication number Publication date
CN101416180B (zh) 2015-11-25
US7661076B2 (en) 2010-02-09
JP2009532755A (ja) 2009-09-10
EP2008201A4 (en) 2012-04-25
JP4629792B2 (ja) 2011-02-09
CN101416180A (zh) 2009-04-22
US20070234237A1 (en) 2007-10-04
EP2008201A1 (en) 2008-12-31
WO2007120388A1 (en) 2007-10-25

Similar Documents

Publication Publication Date Title
KR20080107444A (ko) 그래프형 다이어그램을 편집하기 위한 2차원 트리들의 동적레이아웃 방법, 영구적 변경 보존 방법, 및 컴퓨터 프로그램 제품
US10346013B2 (en) Manipulating graphical objects
US20230010571A1 (en) System and method for extended dynamic layout
US8810576B2 (en) Manipulation and management of links and nodes in large graphs
US8886669B2 (en) File access via conduit application
US9787752B2 (en) Hotspot editor for a user interface
JP2009532755A5 (ko)
US20100194778A1 (en) Projecting data dimensions on a visualization data set
KR101494844B1 (ko) 메타 데이터를 이용한 차트 변환 시스템 및 그 방법
US20140325418A1 (en) Automatically manipulating visualized data based on interactivity
WO2015017227A1 (en) Three dimensional conditional formatting
WO2012045024A2 (en) Manipulating graphical objects
US20140184592A1 (en) Creating, editing, and querying parametric models, e.g., using nested bounding volumes
US9886465B2 (en) System and method for rendering of hierarchical data structures
CN108228121A (zh) 一种浏览器分屏的方法、装置及移动终端
CN102236679A (zh) 基于浏览器页面的工作流输出方法及装置
CN113419806B (zh) 图像处理方法、装置、计算机设备和存储介质
CN110909220A (zh) 拓扑可视化方法及装置
CN111782309A (zh) 显示信息的方法、装置及计算机可读存储介质
AU2013299742B2 (en) Manipulating graphical objects
CN113918152B (zh) 页面搭建过程中的低代码应用开发方法及设备
JP2017072977A (ja) コンピュータ・プログラム
CN112612952A (zh) 网页展示方法、网页展示***和可读存储介质
CN114241079A (zh) 银行***架构图的自动生成方法及装置
CN115857778A (zh) 页面生成方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
SUBM Surrender of laid-open application requested