KR950014164B1 - 적응가능한 사용자 인터페이스 시스템 및 방법 - Google Patents

적응가능한 사용자 인터페이스 시스템 및 방법 Download PDF

Info

Publication number
KR950014164B1
KR950014164B1 KR1019920005131A KR920005131A KR950014164B1 KR 950014164 B1 KR950014164 B1 KR 950014164B1 KR 1019920005131 A KR1019920005131 A KR 1019920005131A KR 920005131 A KR920005131 A KR 920005131A KR 950014164 B1 KR950014164 B1 KR 950014164B1
Authority
KR
South Korea
Prior art keywords
user interface
information
user
uii
nodes
Prior art date
Application number
KR1019920005131A
Other languages
English (en)
Other versions
KR920018579A (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 KR920018579A publication Critical patent/KR920018579A/ko
Application granted granted Critical
Publication of KR950014164B1 publication Critical patent/KR950014164B1/ko

Links

Classifications

    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Digital Computer Display Output (AREA)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

내용 없음.

Description

적응가능한 사용자 인터페이스 시스템 및 방법
제1도는 본 발명에 따른 특정의 장치 특성에 대한 사용자 인터페이스에 관한 AND/OR 그래프의 예를 도시한 도면.
제2도는 본 발명에 따른 사용자 인터페이스의 전체적인 구성도.
제3도는 본 발명에 따른 개발 툴(tools)을 나타낸 블럭도.
제4도는 예1에 도시된 UII(사용자 인터페이스 정보)로부터 얻어진 패널을 나타낸 도면.
제5도는 예2에 도시된 UII로부터 얻어진 패널을 나타낸 도면.
제6도는 예3에 도시된 UII로부터 얻어진 패널을 나타낸 도면.
제7도는 예4에 도시된 UII로부터 얻어진 패널을 나타낸 도면.
제8도는 예6에 도시된 UII로부터 얻어진 패널을 나타낸 도면.
제9도는 예7에 도시된 UII로부터 얻어진 패널을 나타낸 도면.
제10도는 2개 이하의 선택 항목이 있는 경우에, 예 7에 도시된 UII로부터 얻어진 패널을 나타낸 도면.
제l1도는 사용자 인터페이스를 위한 다른 AND/OR 그래프를 나타낸 도면.
제12도는 대화 인터페이스(dialog interface)를 사용하여 작성된 윈도우를 나타낸 도면.
제13도는 그래픽 인터페이스를 사용하여 작성된 윈도우를 나타낸 도면.
제14도는 그래픽 인터페이스에서 복사(copy) 명령을 사용하여 작성된 윈도우를 나타낸 도면.
제15도는 대화 인터페이스를 사용하여 장치 속성(attributes)의 입력을 가능하게 하는 패널을 나타낸 도면.
* 도면의 주요 부분에 대한 부호의 설명
1 : 장치 특성 2 : 장치 어드레스
3 : 장치 종류 4 : 장치 형식
101 : 하드웨어 구성 105 : 제어 장치 목록
107 : 장치 목록 109 : 장치 클래스
본 발명은 컴퓨터 시스템에서 대화 방식의 사용자 인터페이스를 개발(developing)하여 지정(specifying)하기 위한 방법 및, 복수의 사용자 인터페이스 형식을 포함하는 컴퓨터를 운영하기 위한 프로그래밍 시스템(programming system)에 관한 것이다.
미국 특허출원 제 4,845,665호에는 컴퓨터 프로그램 외부 인터페이스의 시뮬레이션이 공지되어 있다. 이 특허는 표시 스크린과 윈도우(display screens and windows)로 알려쳐 있는 컴퓨터 프로그램의 외부 인터페이스(computer program external interface)를 개발하는 방법을 기술하고 있는데, 이 방법에 따르면, 인터페이스를 미리 시뮬레이트 해봄으로써, 비록 그 시뮬레이트된 프로그램에 대한 실제의 프로그램 코드가작성되기 전이라도, 사용자들 혹은 프로그래머들이 프로그램 설계를 평가할수 있도록 하고 있다. 이들 인터페이스는 시뮬레이트된 프로그램으로서 실행된다. 실행되는 동안, 인터페이스가 변경될 수도 있는데, 이 경우, 변경된 인터페이스를 사용하여 실행을 계속할 수 있다.
상기 공지된 방법은 인간을 위하여 시각적으로 지시하는 것과 관련된 사용자 인터페이스를 정의하고 시뮬레이트하는 것을 용이하게 하는 것에 관한 것이다. 이러한 종래의 기술은 일반적인 방법으로 복수의 사용자 인터페이스 형식에 대한 지원(support)을 제공하지 못한다.
프로그래밍 시스템이 반전됨에 따라 여러가지 형식의 사용자 인터페이스를 지원하는 것이 필요하게 된다.이러한 여러가지 형식의 사용자 인터페이스의 예로서는 다음과 같은 것들이 있다.
프로그래밍 이 가능하지 않거나(non-programmable) 프로그래밍 이 가능한 터미 널(terminals) 상에 표시될수 있는 데이타 입력 패널, 선택 패널 및 리스트(list) 패널을 갖춘 패널 지향형 대화 인터페이스(a paneloriented dialog interface) : 예를 들면 마우수 장치를 사용하여 사용자가 표시 스크린상에서 물체(objects)의 그래픽 표시를 직접 조작할 수 있는 직접 조작 인터페이스 ; 음성 입력 및 음성 출력 또는 그중 어느 하나의 인터페이스: 상기 대화식 인터페이스들의 조합 ;
숙련된 사용자를 위한 명령 언어(a command language) 인터페이스, 예를 들면, 더치(touch) 스크린 인터페이스라고 하는 또 다른 형식의 사용자 인터페이스는 오늘날 이미 공지되었으며, 또 다른 인터페이스도 장래에 출현할 것이다.
종종, 복수의 이와 같은 사용자 인터페이스 형식을, 예를 들면, 오퍼레이팅 시스템이라고 하는 프로그래밍 시스템에 의해 지원할 필요가 있다. 대부분의 프로그레밍 시스템에 대하여, 장래의 새로운 사용자 인터페이스 형식을 지원할 수 있는 쪽으로 확장가능한(extendable) 것도 유용한다.
오늘날 각종 시용자 인터페이스 형식을 위해, 여러가지의 사용자 인터페이스 구현 방법(implementing techniques)이 존재한다. 그리나, 이들 각 인터페이스를 개별적으로 구현하는데는 다음과 같은 단점이 있다. 재반하는데 많은 노력이 든다.
여러가지 형식의 사용자 인터페이스 구현 형태 사이의 일관성(consistency)을 확보하기가 더욱 어렵다. 따라서 각 형식의 사용자 인터페이스를 일관성있게 구현하리면, 생략시 값(default values)을 동일하게 하고 타당성 검사를 동일하게 할 수 있는 동일한 세트의 입력 파리미터가 요구된다. 이것에 의해, 예를들면, 어느 사용자 인터페이스 형식으로부터 다른 사용자 인터페이스로의 동적 전환이 가능하도록 복수의 사용자인터페이스 형식을 조합하여 통합시키는 것이 곤란하거나, 거의 불가능하게 된다.
과거에는 고려되는 사용자 인터페이스 형식의 수가 적었기 때문에 상술된 문제점 및 단점이 그렇게 심각하게 취급되지 않았다. 직접 조작 인터페이스나 음성 I/0 같은, 몇개의 진보된 사용자 인터페이스 형식은, 범용 프로그래밍 시스템에서는 아직 거의 드물계 사용된다. 그래서, 고려되고 있는 몇개의 사용자 인터페이스 형식에 의해 상기한 문제점이나 단점의 일부를 해결하기 위한 추가의 노력을 행하는 것도 받아들여졌다.
현재의 프로그래밍 시스템에서 복수, 즉 2개의 사용자 인터페이스 형식이 동시에 지원되는 가장 좋은 예는, 패널 지향의 대화 인터페이스 이의에 명령 언어 인터페이스도 지원하는 프로그래밍 시스템이다. 이러한 예는 IBM사의 운영제제 VSE, MVS 및 VM에서 공지되어 있다. 이와같은 프로그래밍 시스템에서 인터페이스를 구현하는 전형적인 방법은, 명령 인터페이스 최상부에 대화 인터페이스를 구현하는 것이다. 이렇게 함으로서 상술된 문제와 단점은 감소되지만, 이 해결책은 3개 이상의 사용자 인터페이스 형식을 지원하기위한 확장은 어렵다는 문제가 있다. 게다가 이 방법은 중첩된 대화 형식의 사용자 인터페이스의 융통성에 제한이 있도록 하는 것이다. 예를들어, 기초로 되는 명령 인터페이스가 호출되기도 전에, 사용자가 모든 업럭 파라메타들을 완전히 입력해야 한다.
그러므로, 본 발명의 목적은 복수의 상이한 사용자 인터페이스 형식이 일관성 있는 방법으로 동시에 지원될 수 있도록 인간-컴퓨터-인터페이스를 실현하는 개념과 방법을 제공하는 것이다. 또, 본 발명의 다른목적은 복수의 사용자 인터페이스 형식을 포함하는 컴퓨터 시스템을 운영할 수 있는 프로그래밍 시스템을 제공하는 것이다.
이들 목적 및 다른 목적들은 특허청구범위의 독립항 제1항과 5항에 서술된 특징으로 적용함으로서 근본적을 해결된다.
또 다른 유익한 개발 내용은 각 종속 청구항에 서술되어 있다. 세부적인 특징 및 장점은 자명하던가, 또는 하기의 더욱 설명에 의해 설명될 것이다.
본 발명은 다음과 같은 장점을 갖는다 :
1) 복수의 사용자 인터페이스 형식에 공통인 정보는, 단지 한번만, 즉 사용자 인터페이스 정보의 범용 부분(the general part of the user interface infomntion ; GP-UII)에 존재하던가, 또는 일관성 있는 개발툴을 사용하여 GP-UII로부터 작성되던가중의 어느 하나이기 때문에, 복수의 사용자 인터페이스 형식에대하여 일관된 지원을 보장한다.
2) 상이한 사용자 인터페이스 형식 사이에서 동적으로 전환할 수 있는 기능등의 통하된 기능(integrated facilities)을 구현하는 것을 가능케 한다. 이러한 기능은 단지 다음의 경우에만 실행가능하다.
a) 예를 들어, 비록 사용자 인터페이스 형식이 동적으로 전환되어드 유효 상태를 유지하는 공통의 제어정보가 존재하는 경우로서, 여기서, 유효한 공통의 제어 정보란 GP-UII를 뜻한다.
b) 사용자 인터페이스의 제어하에 있지만, 현재 작동중인(active) 사용자 인터페이스와는 독립한 중앙 기능(a central function)이 존재하는 경우이다. 이러한 목적을 위하여 범용화된 사용자 인터페이스 층(generalized uset interface layer) (GUIL) 이 제공된다.
3) 실행시간(run time) 프로그램 구조와 개발 툴의 양쪽에 의해, 복수의 사용자 인터페이스 형식중에서 공통적인 기능은 단지 한번만 구현되기 때문에, 개발 비용이 절약된다.
4) 응용 프로그램의 구조에 의해 기능 프로그램과 사용자 인터페이스를 취급하는 표시 전위 프로그램(thepresentation front-end programs)이 적절하게 분리되기 때문에, 프로그래밍 시스템을 인터페이스 형식으로 용이하게 확장할 수 있다.
이하 본 발명을 도면을 참조하여 예로서 더욱 상세히 설명한다.
본 발명의 방법은, 1) 각종 사용자 인터페이스 모두에 공동인 범용 부분, 즉 범용 부분-사용자 인터페이스 정보(GP-UII)와, 2) 사용자 인터페이스 형식에 특정한 정보, 즉, 특정 부분-사용자 인터페이스 정보(SP-UII)에서 모든 상이한 사용자 인터페이스에 대해 사용자 인터페이스를 정의하는 정보를 그룹핑(grouping)하는데 기초를 두고 있다.
이러한 개념에 기초하여, 본 발명은 사용자 인터페이스의 구체적인 구현을 제공한다. 제공된 해결책은 다음의 세개 영역을 대상으로 한다.
a) 사용자 인터페이스를 기술하는 제어 정보의 구조와 내용, b) 실행시간에 사용자 인터페이스를 제공하는 프로그램의 구조 및 기능, 그리고 c) 각종 사용자 인터페이스 형식을 위한 제어 정보를 개발하는데 사용될 개발 툴.
이하에서 UII(사용자 인터페이스 정보)로 불리우는 사용자 인터페이스를 기술하는 정보는, 부노드(fathernodes)예 자노드(child nodes)가 종속되어 있는 AND/OR 그래프에 따라 구성된다. 이러한 형식의 그래프를 방향성 그래프(directed graph)라고 한다. 그래프중의 OR-노드는, 그중 하나를 사용자가 선택할 필요가 있는 대체안(alternatives)을 나타내고, AND-노드는 일면의 정보 단위를 나타내며, 또 AND-노드에 연결된 터미널 노드는, 통신(communicated)하고자 하는 데이타 입력 또는 출력을 나타낸다. UII의 각 노드는, 상술된 바와 같이 GP-UII와 복수의 SP-UII와 연관되어 있다.
제1도에, UII의 일 예가 그래픽 표시로 나타내어져 있다. 이 예에서, 노드(1)는 AND-노드(부노드)로서, 초기의 프로그램 로딩(initial program loading)(IPL)에 있어서의 장치 어드레스, 장치 클래스, 장치형식, 및 오프-라인(off-line)을 나타내는 노드(자노드)(2 내지 5)로 분기한다. 노드(5)는 두개의 터미널노드, 즉, 노드(6과 7)를 갖고, 이들은 사용자에 의해 선택되는 '예' 혹은 '아니오'를 나타내며, 따라서 장치가 IPL에서 오프-라인(off-line)인지의 여부를 지시한다. 또한 장치의 클래스를 정의하는데 있어서 OR-노드(3)는 프린터에 대하여 AND-노드(8)로, 테이프에 대하여 노드(9), 그리고 디스크에 대하여 노드(10)으로 분기한다. 다른 가능한 분기는 '기타'로 나타내어져 있다. 프린터는 노드()로 지시되는 모든 점 어드레스 가능 옵션(all-point-addresable option)과, 노드(12)로 지시되는 엔들리스 용지(endles paper) 옵션 및 노드(l3)로 지시되는 컬러 옵션을 지정하는 속성을 갖는다. 만일 상기 세가지 경우중 어느 것이 선택되면, 이때 이 사실은 터미널 노드(17 내지 21)상에서 YES 또는 NO 선택으로 지시된다. 본 예에서 AND-노드(10)는 크기를 지시하는 노드(14)와 디스크 액세스 시간을 나타내는 노드(15)로 이어진다.
실제의 프로그래임 시스템에서는, 그래픽 표시를(물론), 데이타 구조, 예를들면, "노드(Nodes)"목록에 맵(mapped)해야 한다. 이 경우, "노드"는 다음으로 구성된다.
·노드-명(node name)
·그래프에서 노드 명은 유일(unique)하거나, 또는 그것에 수식자(qualifier)를 부가하 유일하게 할 수 있어야 한다.
·구조 정보
-노드-형식(AND,OR, 터미널)
-자-노드(보다 깊은(deeper) 레벨)
-다음-노드(동일 레밸)
·모든 사용자 인터페이스 형식에 공통인 일반 정보, 이 정보는 구조 정보와 함께 상기 GP-UII를 구성한다.
·지원되고 있는 각 사용자 인터페이스 형식을 위한 특별 정보, 이것은 상술한 SP-UII이다. 제1도에 예시된 이 구조에 대한 상세(details)는 아래의 테이블1에 주어진다.
실행시간에 사용자 인터페이스를 제공하는 프로그램의 구조 및 기능은, 소위 범용 사용자 인터페이스 층(GUIL)을 갖는 복수의 사용자 인터페이스 형식을 지원하기 위한 프로그램 구조를 포함한다. 제2도에 도시된 바와 같이, 이 층은, 기능 프로그램과 표시 전위 프로그램 PFE-1,PFE-2,테이…PFE-n 사이에 상주한다. 기능 프로그램은, 사용자 인터페이스 형식과는 독립된 방법으로 프로그래밍 시스템의 기능을 구현한다.
이것은, 다른 말로 하면, 기능 프로그램이, 그의 복수의 PEF와 사용자 인터페이스 형식과는 독립된 방법으로 GUlL을 통해서 데이타를 교환한다는 것을 의미한다. GUIL은, 어느 특정의 사용자 인터페이스 형식이 현재 가동 상태이고, 대응하는 PFE를 호출하였는가를 알고 있는 프로그램이다. 더욱이, GUIL은 이미 획득된 사용자 인터페이스 파리미터를 추적하여, 소망하는 파라미터가 이미 이용가능한 경우에는, PFE의 호출을 스킵(skips)한다. 제2도에서, 문제 관리, 변경 관리, 구성 관리, 성능(perfomnnce) 관리, 업무(business) 관리와 같은 기능 프로그램의 예가 나타내어쳐 있다·기능 프로그램과 범용 사용자 인터페이스 층과 표시 전위 프로그램 사이의 제어 흐름의 샘플을 이하에 도시한다. 이 예에서는, 대화 인터페이스와 명령 인터페이스라고 하는 2개의 대체 인터페이스 형식이 있다. 이 예에서의 기능 프로그램은 장치를 추가하기 위한 구성 관리 기능이 있다.
기능 프로그램
-값 버퍼로 출력(초기/디폴트) 값을 입력한다.
-GUIL과 파라미터(값 버퍼, UII-테이블 명)를 호출한다
-값 버퍼로부터 입력값을 취하여 'Add Device' 기능을 수행한다.
범용 사용자 인페이스 층(GUIL)-현재 가동상태인 PFE를 결정한다.
-PFE와 파라미터(값 버퍼, UII-테이블 명)를 호출한다.
-기능 프로그램으로 리턴한다.
대화 인터패이스를 위한 표시 전위(PFE)
-UII-테이블로부터 다음 정보를 결정한다.
·패널 명
·패널내의 필드 명
·필드의 데이타 길이
·…
-필드에 값 버퍼로부터의 값을 입력한다.
-대화 인터페이스 관리 프로그램을 호출한다.
-검사-루틴(UII-테이블)을사용하여, 입력값을검증한다.-입력 값을 값 버퍼에 입력한다.
-GUIL로 리턴한다.
명령 인터페이스를 위한 표시 전위(PFE)
-UII-테이블로부터 명령 키워드를 결정한다.
-명령 입력 스트링 중에 각 키워드를 위치시킨다.
-명령 스트링으로부터의 각 키워드에 관련된 값을 취한다.
-검사-루틴(UII-테이블)을 사용하여 입력값을 검증한다.
-입력값을 값 버퍼에 입력한다.
-GUIL로 리턴한다.
이것은, 소정의 주어진 시스템으로 상이한 사용자 인터페이스 형식의 동시 지원을 가능하게 함은 물론,새로운 인터페이스 형식을 장래에 추가하는 것에 대비한 더욱 많은 장점을 제공한다.
이 방법으로 지원할 수 있는 몇개의 일반적인 사용자 인터페이스 형식은 다음과 같다.
·매뉴 지향 표시 장치 인터페이스, 즉 대화 인터페이스.
이러한 형식의 인터페이스는 오늘날 아마 가장 많이 사용되는 사용자 인터페이스 형식이다. 이러한 인터페이스 형식의 최신 버젼은 APA 표시 장치 및 마우스 장치를 팝업(pop-up) 윈도우, 작동 바(actionbars), 래디오(radio)버튼, 체크(check) 버튼 등의 기법으로 이용한다. 나중에 "사용자 인터페이스를 위한재발 과정"이라는 항에서, 이와 같은 사용자 인터페이스 형식의 전형적인 패널 형식에 UII를 어및게 하여 맵할 수 있는가를 설명한다.
·직접 조작 인터페이스
이 형식의 사용자 인터페이스에 의해, 어떤 기능에 관한 포캣이 표시 장치의 스크린에 도시되고, 사용자는 표시 스크린상에서 대상을 직접 조작함으로서 이들 대상에 대한 액션을 일으킨다. 고려되는 모든 형식의 인터페이스 중에서, 직접 조작 인터페이스는 UII로 번역될 때 최고도의 추상화(abstraction)를 필요로 한다. 그럼에도 불구하고, 만일 다른 인터페이스 형식을 지원하는 경우만 아니라면, UII를 반영하는(reflecting) 인터페이스 층(즉, 제2도에 도시된 범용 사용자 인터페이스 층)에 직접 조작 인터페이스를 맵하는 것이 유용하다.
·명령 인터페이스
메뉴 지향 인터페이스를 보충하는 것으로서, 명령 인터페이스는, 숙련된 사용자가 기능에 고속으로 액세스하는데 유용하다. UIl 개념에서 볼때 UII를 반영하는 인터페이스에 명령 언어 인터페이스를 맵하는 데에는 문제가 없다.
·음성 입력 또는 음성 출력 또는 그 양쪽
UII에 의해 지원되는 구성을 음성 출력 스테이트먼트(statements)에 용이하게 맵할 수 있다. 목록을 취급하는 데에는 특별한 규칙이 도입될 필요가 있다. 한정된 고정 어휘 이의의 것에 대하여 음성 입력을 지원하는 문제를 해결할 필요가 있지만, 이것은 UII 개념의 사용과는 무관하므로 본 발명의 일부가 아니다.
·프로그램 호출 인터페이스
외부의 사용자 인터페이스를 지원하는 것 의에, 임의 (arbitrary)의 프로그램으로부터 액세스될 수 있는내부 인터페이스를 통하여 동일 기능에 액세스하는 것을 지원하는 것은, 종종 바람직하다. 분명히, 제2도에 도시된 범용 사용자 인터페이스 층은, 이와 같은 프로그램 호출 인터페이스의 지원에는 이상적이다. 프로그램 호출 요구 구문(syntax), 리턴 정보의 형식 및 포맷(format), 검사 규정 등에 대한 규칙이 정의되어야 한다.
제2도에 도시된 바와 같이 "범용 사용자 인터페이스 층"(GUIL)은 UII-테이블에 의하여 제어된다. UII-테이블은 UII의 내부(즉, 프로그램 판독가능한)의 포맷을 반영한다. 즉, UII-테이블은, 컴퓨터와 인간과의 사이에 통신되는 필수적인 정보, GU-UII 및 대화 구성에 관한 정보를 정의한다. 인터페이스 형식특유의 정보, SP-UII로의 액세스는, 일반적으로 UII-테이블중에서 인터페이스 형식 특유의 제어 정보의 참조를 포함시킴으로서 지원된다. 그러나 제2도에 도시된 바와 같이 UII-테이블중에서 이미 지원되고 있는 기본 사용자 인터페이스 형식을 위한 각각의 제어 정보를 포함하는 것도 유용하다.
테이블2에 나타내어진 UII-테이블의 배치(layOut)에는 메뉴 지향 표시'장치 인터페이스와 명령 인터페이스에 필요한 정보가 포함되어 있다.
직접 조작 인터페이스와 음성 I/0는, 도시되어 있는 사래에서는 고려되지 않는다.
테이블 2는 테이블 1에서 설명한 바와 같이 노드에 대해 기계가 판독가능한 포맷을 나타낸다.
노드-형식은 'AND-노드', 'OR-노드', lN-필드', 'OUT-필드', 또는 '(OR-노드의) ALTERNA-TIVE'어느 것이어도 좋다. 'LIST'들에 대하여 특정 노드의 형식을 지원하는 것도 유용하다. UII의 구조는AND-노드,OR-노드의 후속 노드와 이들 노드에 계속하는 리스트를 저장함으로서 표현된다. 이와 같은후속 노드의 리스트는 Node-Type=END를 가진 항목에 의해 종료된다.
테이블3은 나중에 설명되는 예3과 제6도의 패널과 관련된 UII-테이블을 나타낸다.
상술한 구조는, 대화 관리자(메뉴 저항 표시 장치 인터페이스를 위한)로의 인터페이스를 지원하는데, 명령 및/또는 프로그램의 호출 인터페이스를 위한 오퍼랜드를 해석(parse)의 실행에 적합하다.
제2도로부터 알 수 있는 바와 같이, 범용 사용자 인터페이스 층은 UII-테이블로 부터의 정보 GP-UII에 의해 제어된다. 다른 표시 전위 프로그램 PFE-1, PFE-2등은 연관된 특정 부분의 정보 SP-UII-1및 SP-UII-2에 의해 각각 제어된다. 표시 전위 프로그램은 여러가지의 사용자 인터페이스 형식을 지원한다.
GUIL(프로그램)은 UII(테이블)로부터 GP-UII를 사용하여 다음과 같은 기능을 제공한다.
a) 최종 사용와 데이타를 교환하기 위한 기능 프로그램영 공통 인터페이스, 이 공통 인터페이스는 실제의 사용자 인터페이스 형식과는 무관한 기능 프로그래을 작성한다.
b) 모든 형식의 사용자 인터페이스에 유용한 기구(facilities) , 이와 같은 기구의 한 예는 일반적인 방법으로, 즉 명령 인터페이스에 의해 액세스되고, 따라서 사용자 인터페이스 세션(sessions)의 "재생(replay)"을 가능하게 하는 양식에서 사용자에 의해 만들어진 모든 지정을 기록하는 명령 기록 기구이다.
c) 예를 들면 각종 인터페이스 형식 사이의 동적 전환이 가능하도록 한 각종 인터페이스 형식의 통합.
제3도에 관련하여. 개발 과정에서 사용되는 개발 툴이 나타내어져 있다. 툴(TO)에 의해, 중립 양식(neutral form)이 확립되도록 개발자로부터 데이타가 수집된다. 따라서 중립 양식에서는, 여러가지 다른형식의 사용자 인터계이스에 대해 범용 부분-사용자 인터페이스 정보인 GP-Ul1와 특수 부분-사용자 인터페이스 정보인 SP-UII가 중립 양식에서 생성된다. 거기서부터, 특수 부분 사용자 인터페이스 정보를 특정한 양식으로 생성시키기 위하여 여러가지 툴(T1 내지 Tn)이 사용된다.
사용자 인터페이스 제어 정보(SP-UII)의 사용자 인터페이스 형식 특정 부분은 어떤(certain) 포맷으로 요구될 수도 있다. 예를 들면, 패널 지향 대화 인터페이스는 통상 어떤 내학 관리자 구성부분에 의해 지정된 포맷으로 패널을 정의할 것을 필요로 한다. 마찬가지로, 음성 입력 또는 출력 기구는 특정 데이타 제트의 형식으로 어휘에 대한 정의를 요구할 수도 있다. 이들 사용자 인터페이스 형식의 특정 정의를 일관성 있게 유지하기 위하여, 복수의 사용자 인터페이스 형식을 통합시키는 개념은 또한 각종 사용자 인터페이스 형식의 특정 정의를 생성하기 위해 사용되는 개발 툴에 대한 통합된 해결책을 포함한다.
본 발명에 의해 제공되는 해결책이 제3도에 도시된다. 제3도에 도시된 바와 같이, 개발 과정은 모든 다른 사용자 인터페이스 형식에 공통이 되는 제어 정보의 범용 부분을 정의하므로써 시작한다. 그리고, 사용자 인터페이스 형식의 특정 정의를 생성하는 것에 의해 개발은 계속된다. 이런 종류의 정보 수짐과 기존의프로그램에 의해 필요한 포맷으로의 변환은 특정한 툴(Tl,…,Tn)에 의해 지원된다.
사용자 인터페이스 정보를 지정하기 의해 가능한 표기법(notation).
앞서의 설명에서, UII는 어떤 비공식적인 표기법으로 기술되었다. UII는 각종 기능 프로그램의 개발자에 의해 지정되어야 하기 때문에, UII를 명기하기 위한 양호하게 정의된 언어(language)가 필요하다. 이하에,이와 같은 UII 언어를 위해 가능간 표기법을, 사용자 인터페이스 형식의 특정 부분이 없이 나타낸다.
UII의 지정에는, 필수적으로 두가지 구성 개념이 필요하다. 즉, 엔티티(entities)의 세트 또는 목록을 지정하는 방법, 그리고 대체안을 지정하는 방법이 필요하다. 그러므로, 그래픽 표시로서, AND/OR 그래프가UII를 나타내는 세련된 방법이다. 본 발명에 의해 고려된 적용에 대하여 이하에 서술된 UII 표기법은 사용하였다.
○ 만일, 항목(item) 'element-x'가 대체안 alternative-1, alternative-2,테이…, alterantive-n'의 제트로서 정의될 수 있다면, 이것은 다음과 같이 표현된다.
○ 만일, 항목 'element-x'가 부항목(subitem) subitem-1, subitem-2,…, subitem-n의 세트로 구성되는 것으로 정의될 수 있다면, 이것은 다음과 같이 표현된다.
상기 <in>유니트는 입력 항목을 나타낸다. 또 출력 데이타를 나타내기 위하여 <OUT>이 사용될 수도있다.
부가적으로, 다음과 같은 규칙이 사용된다.
○ 비-터미널 기호(symbols), 즉 다른 UII 정의가 존재하는 기호는 '%'문자 또는 <Link> 태그(tag)를 사용하여 시작한다.
예 :
"further details"은 복수의 <set> 또는 <select> 유니트에 <Link>될 수도 있다.
○ UII의 어떤 점에 대하여 항목 'element-y'의 목록이 필요한 경우에는, 이것은 항목 'element-y'에 접미어 '-list'를 덧불임으로서 기술된다.
예:
이때, 'element-y'('element-y-list'가 아님)에 대하여 다른 정의 가 있다면 충분하다.
이때 항목 'element-x'는 'element-y'에 있어서의 모든 부항목과 부항목 'element-z'를 포함하게 된다. 'element-y'는 다음과 같이 기술된다:
'-list' 접미어의 사용은 모든 부항목이 함께 취급되어야 할때, 예를 들면 모든 부항목이 동시에 입력되어야 할때 특히 유용하고, 그 밖에 어느 것도 입력 과정을 인터럽트하지 않는다.
O 반열, 항목 'element-x'가 단지 두개의 선택 사항 'YES'와 'NO'반을 가질 경우, 이것은 'element-x'에 접미어 '-OPT'를 덧불임으로서 표현될 수 있다.
예:
와 등가이다.
○ 코멘트(comments)는 '/*'로 시작하고 '*/'로 끝맷음으로서 놓여질 수 있다.
예:
/* 이것은 코멘트이다 */
패널 형식과의 관계
본 발명에 의한 UII 개념의 도임에 의해, 각종 형식의 통신 장치, 예를 들면 디스플레이, 타이프라이터, 음성 I/0와 메뉴 지향형이나 객제 지향형등의 사용자 인터페이스 형식으로부터의 독립이 가능하게 된다.
앞서 설명된 UII 기법은 분명히 이러한 목표를 지원한다.
특정한 장치 형식을 관찰하면 이 장치 형식에 의해 지원되는 사용자 인터페이스 구조에 UII를 맵하기 위한 특별한 규칙을 확립할 수 있다.
다음은 대화 지향 표시 장치 인터페이스로 인식될 수 있는 각종 패널 형식에 UII가 어떻게 맵될 수 있는가를 설명 한다. 예로서, IBM CUA 표준(IBM System Application Architecture-Common User AccessPanel Design and User Interaction, SC 26-4351)에 의해 지원되는 패널 형식이 고려되며, 이들로는, 하기와 같은 것이 있다.
1. 메뉴 패널
메뉴 패널은 사용자에 의해 선택되어야 할 선택사항을 보여준다.
문자 표시 장치에 의해 상기 선택사항에는 번호가 매겨지거나 또는 간략한 기호 문자가 부여되어, APA(모든 점을 어드레스 가능한) 표시 장치, 소위 레디오(radio) 버튼도 사용할 수 있다.
2. 입력 패널
입력 패널은 데이타 변수에 대한 값을 입력시키는데 사용된다.
3. 입력 및 메뉴의 혼합 패널
데이타 입력 및 선택 사항의 선택(altemative selections)은 하나의 패널내에 혼합될 수도 있다.
4. 리스트 패널
리스트 패널은 데이타 레코드 리스트상에서, 예를 들면 화열 디렉트리상에서 동작하는 유용한 인터페이스이다. 열반적으로 리스트는 화면 이동가능하며(scrollable), 개변적인 리스트 항목에 적용될 수 있는 패널에 나타나는 1제트의 고정된 액션(actions)이 있다.
5. 정보 패널
정보 패널은 사용자에게 헬프(help)나 지침서(tutorial text) 등과 같은 정보를 표시한다.
추가로, 예를 들면,
o 작동 바(Action Bars)와
o복수 선택사항(Choice) 선정
과 같은 특수 패널이 주어진 UII로부터 어떻게 발생되는가를 설명한다.
4. 리스트 패널
리스트 패널에 대한 UII는 이전에 "사용자 인터페이스 정보를 지정하기 위해 가능한 표시"에서 설명된-list' 접미어를 사용함으로서 정의될 수 있다.
1. 메뉴페널
<select> 유니트는(만일 이하에 설명된 어느 경우에도 구체화되지 않은 경우에,) 메뉴 패널로 된다.
예 1 :
결과로서 얻어지는 메뉴 패널이 제 4 도에 도시된다.
2. 엔트리 패널
무지(無地)의 <set> 유니트는 엔트리 패널로 된다.
결과로서 얻어지는 입력 패널이 제 5 도에 도시된다.
3 엔트리 및 메뉴의 혼합 패널
엔트리 및 메뉴의 혼합 패널은 <set> 유니트내에 <select> 유니트를 포함시킴으로서 구성될 수 있다.
예 3 :
결과로서 얻어지는 패널이 제 6 도에 도시된다.
4. 리스트 패널
리스트 패널에 대한 UII는 이전에 "사용자 인터페이스 정보를 지정하기 위해 가능한 표시"에서 설명된 '-list' 접미어를 사용함으로서 정의될 수 있다.
예 4 :
결과로서 얻어지는 메뉴 패널이 제7도에 도시된다
만일 상기 리스트에 액션(actions)이 적용될 수 있는 경우에는, UII 표시기법으로 이들을 정의하는데 두가지 방법이 있다.
l. 각 리스트 항목에 액션이 적용될 수 있는 경우에는, 이들 액션이 리스트 단위내에서 <in>과 <out>필드의 레벨로 정의되어야 한다(예 4 참조).
2. 리스트에 대해 전체적으로 또는 하나의 리스트 항목에만 액션이 적용되는 경우에는, 이들 액션이 리스트 단위 밖에서 정의되어야 한다.
리스트와 관련된 액션은 이후에 설명되는 규칙을 사용하여 액션 바(Action Bar)로서 지정될 수 있다.
5. 정보 패널
정보 패널은 사용자에게 정보를 표시하지만, 사용자 입력(예를 들면, 데이타 입력 또는 선택 사항선정)은 전혀 요구하지 않는다. UIl(정의마다의)는 설명 텍스트를 나타내지 않기 때문에, 정보 패널의 UII에 반영될 남아 있는 정보만이 패널 흐름을 설명하는 연결 정보(linkage information)이다. 또, 적어도 정보 패널텍스트의 요약을 코멘트의 형식으로 포함시키는 것이 유용할 수도 있다. 따라서 제5도는 후속 패널로'Info-Pane1-1'과 'Info-Panel-2'를 갖는 가능한 정보 패널의 UII을 도시한다.
예5.
6. 액션 바(Action Bars)의 지정
액션 바는,lBM System Application Architecture-the general user Access Panel Design and User Dialog, SC26-4351의 정의에서는, 패널 본체에 표시되는 대상에 적용될 수 있는 일련의 액션 형식을 나타내는 패널의 최상부의 영역이다. 액션 형식이 예를 들면, 마우스(mouse) 장치를 사용하므로써 선택되는 경우에는, 풀다운(pulldown) 메뉴가 나타나서, 이 액션 형태에 대해 대체가능한 액션을 나타낸다. 액션 바는, 접미어(suffix) '-action'을 사용하고 적절한 <select> 유니트를 제공함으로써 구성될 수 있다. 이것을 예 6에 도시한다.
예6:
제8도에 도시된 패널은 예 6에 따라 '갱신(Update)'을 위한 풀다운 윈도우(pulldown window)를 갖는액션 바를 나타낸다.
7. 복수의 선택 사항선택의 지정
<se1ect> 유니트는 소위 '단열 선택 사항 선택(single choice selection)'으로 된다. 단열 선택 사항 선택
이외에,IBM CUA 포준은 사용자가 주어진 목록으로부터 복수의 항목(items)을 선택할 수 있는 '복수 선택 사항 선택(multiple choice selections)'을 갖는 메뉴(menus)를 지원한다. UII에서, 복수 선택 사항 선택은 '-OPT' 접미어를 사용하여 열 군의 선택적인 항목으로 지정할 수 있다·이 지정이 예 7에 도시되고, 그 결과 얻어지는 패널이 제9도에 나타내어져 있다.
예7:
선택 사항 항목의 수가 일정한 수(예를 들어 3) 보다 작으면, 사용되는 툴(tools)은 복수의 선택 사항 선택에 일반적으로 사용되는 체크 박스(check boxes) 대신에 입력 필드(entry field)를 생성한다. 이 경우 얻어지는 패널이 제10도에 도시된 바와 같이 나타난다.
사용자 인터페이스에 대한 개발 과정
사용자 인터페이스에 관련하여, UII 지정 개념은 주로 하기와 같은 2재의 사용 방법, 즉
1. 개발 과정중의 설계 개념으로써와,
2. 사실상 사용자 인터페이스 프로그램 구성요소로부터 기능 프로그램을 분리하기 위해 실제로 실행되는 인터페이스로써의 사용 방법이 있다.
여기서는, 주로 확장된 표시 장치용의 사용자 인터페이스의 개발에 관하여, 상기 첫번째 사용 방법을 취급한다.
사용자 인터페이스의 설계는 UII를 정의함으로써 시작한다. 이렇게 하므로써 최종 사용자 인터페이스의 상세한 내용을 살펴보지 않고도 몇개의 설계 액션을 관련되는 설계 정보에 응용할 수 있다. 사용자 인터페이스를 위한 다음과 같은 설계 액션이 UII에 적용될 수 있다.
○ 대화 트리의 전체적인 설계
표시 장치를 위한 전형적인 사용자 인터페이스는 대화 트리(많은 경우에, 이것은 실제로는 방향성(directed) 그래프이다)에 의해 나타내어질 수 있다. 임의의 상세함을 갖는 이와 같은 대화 트리의 설계는UII에 의해 적절하게 실시될 수 있다.
○ 대화 설계의 세련(refinement)
대화 트리의 전체적인 설계는 UII를 기초로 하여(단계적으로) 세련될 수 있다. UII는 단계척 세면(stepwise refinement)에 이상적으로 적합하다. 표시 장치 지향형의 사용자 인터페이스의 설계에 대해서는,"패널 형태와의 관계(relation to panel types)"에서 나타내어진 바와 같이 특정한 폐덜 형태를 설계하는한, 세련을 실행할 수 있다.
○ 설계 지침(guidelines)의 정의 및 준수
사용자 인터페이스의 설계를 의해, 확립될 수 있는 많은 유용한 설계 지침이 있다. 이들중 대다수는 대화구조와 같은 국면(aspect)에 관한 겻으로 UII에 의해 표현되고 확인될 수 있다.
○ 각종 목적을 위한 설계 분석
사용자 인터페이스를 설계하는 동안에는, 각종 목각을 위해 설계가 분석돼야 한다고 하는 상황이 항상 존재한다. 예를 들면, 통신되는 정보에 있어서의 등가라고 하는 의미에서, 새롭게 설계된 사용자 인터페이스와 기존의 사용자 인터페이스를 비교하는 것이 필요할 수도 있다.
여기서, 또한, UII는 중요한 정보에 집중시킴으로써 UII의 업무를 용이하게 한다.
o 설계의 변경
불필요한 상세가 자료에서 빠져 있는 한, 설계 변경이 더욱 쉬워질 것임은 분명하다.
사용자 인터페이스의 (고레벨) 설계가 완료된 후, 텍스트 세련(text refinement), 패널 레이아웃 설계,I/0 장치 특성(예를 들면 컬러 디스플레이)의 활용과 같은 추가적인 상세가 정의되어야 한다. 표시 장치에대한 대화를 정의하는데는, 열반적으로 이러한 형태의 정보의 지정을 지원하는 언어 및 관련 툴이 존재한다.
이와 같은 언어의 예로서는 IBM SAA 다이열로그(IBM System Application Architecture dialog taglanguage 참조)가 있고, 이것은, SAA로 지원된 IBM 컴퓨터를 위해 디스플레이 지향형 대화의 정의를 지원한다. 소위 확장 툴(expansion too1)은, UII에 부여된 대화의 정의를 IBM SAA 대화 태그 언어로 변환하여 확장한다. UII 이의에, 확장 툴은 입력으로서 다음을 사용한다.
○ 변수 테이블
이것은 VII에 나타나는 각 항에 대하여, 기능 프로그램 중에서 참조로 사용되는 명칭, 변수의 길이 및 관련된 헬프(help) 패널의 명칭을 기술한다
o 확장 프로파열(profile)
이것은 명령 영역을 생성해야 할 겻인가 아닌가 등의 확장 실행(expansion run)의 파라미터, 생략시(default) 커서 위치등을 정의한다.
테이블 4는 제6도에 도시되는 예 3에서 나타내어진 UII로부터 생성된 대화 태그 언어(dialog taglanguage)(DTL)를 나타낸다.
데이타 통신
사용자 인터페이스의 주요 목적은 한 쪽이 사용자와 다른 쪽의 컴퓨터에서 실행되고 있는 응용 프로그램사이에서 통신하는 것이다. 세션(session)이라고도 불리워지는 프로그램 동작 동안에 사용자로부터 컴퓨터로 전송되는 데이타를 사용자 세션 데이타(USD)라고 부른다. 각종 인터페이스 형태가 컴퓨터에 의해 지원되기 때문에, 입력되는 USD는 사용되는 사용자 인터페이스 형식과 무관한 포맷으로 기억되어야 할 필요가있다. 이 인터페이스에 무관한(interface-independent) 기억 형태에 의해, 또한, 사용자는 동일 세션중에 다른 인터페이스 형식을 사용해서 사전에 입력되었던 데이타를 전혀 손실하는 일 없이 다른 사용자 인터페이스 형식간에 전환할 수 있다. 데이타가 기억되는 사용자 인터페이스에 무관한(user interface-independent) 포맷은 USD-목록이라고 부른다.
이하, USD-목록을 위해 데이타가 수집되는 방법이 제1도를 참조로 설명된다. 제1도에 도시된 UII 그래프는 최상부에서 아래로 향해 진행된다. 각 노드(node)에 대해, 사용자로부터 데이타가 언어지고 USD-목록에 기억된다. 데이타는 선택되는 특정 인터페이스 형식에 의존하기 때문에, 데이타가 입력되어야 할 특정한 순서(sequence)는 없다. 마찬가지로, 사용자로부터 데이타가 얻어지는 방법 또한 선택되는 사용자 인터페이스 형식에 의존하기 때문에, 관련이 없다. 처리된 각각의 노드에 대해, USD-목록에서 다음 세가지
즉,
(노드-명, 값, 네스팅(nesting) -레벨)
로 구성되는 입력이 이루어진다.
노드 명은 UII-그래프에서의 노드의 명칭을 참조하고, 각 노드에 대한 더욱 상세(further details)는 테이블 1에 주어져 있다. 값은 테이블 5에 도시된 바와 같이 노드 형식에 의존한다.
테이블 5
USD-목록내의 데이타는 트리 구조로 나타내어질 수 있다. 그때 내스팅-레벨 값은 트리내에서 네스팅레벨을 제공한다. 예를 들면 제1도의 노드 1은 트리에서 최초의 입구가 시작되기 때문에 1의 네스팅-레벨값을 가절 것이다. 노드 1의 자 노드인 노드 2 내지 5는,2의 네스팅-레벨값을 가진다.
데이타를 사용자로부터 언기 전에, 상기 데이타가 USD-목록에서 이미 유용한지 아닌지에 대한 검사를 실행할 필요가 있다. 이것은, UII 그래프를 처리할 때 두개의 사용자 인터페이스 형식이 데이타를 입력하는데 서로 다른 순서를 적용할 수도 있으므로, 다른 사용자 인터페이스 형식간의 전환시 특히 필요하게 된다. 인터페이스간의 전환에 필요한 또 다른 검사는, 함께 처리되야 하는 1군의 부항목(a group of sub-items)이 있을 때(즉, 항목이 '-list'이라는 접미어를 사용해서 정의된다)를 확증하는 것으로, 어떤 더 이상의 동작이 실행되기 전에 모든 항목이 취급된다.
사용자 세션 데이타의 USD-목록으로의 기억은 트리 구조가 결정될 수 있는 방법으로 실행되어야 한다.이것은 UII-그래프에서 최상위 노드에 대한 3중 관련부(triple relating)가 USD-목록의 선두에 있는 것과, UII-그래프에서 최하위 노드에, 즉 최하위 내스팅 레벨을 갖는 노드에 대한 3중 관련부가 USD-목록의 종단에 있는 것올 확중하므로써 실행된다. 다른 노드에 대한 3중 관련부가 USD-목록으로 삽입되어야할 경우에, 그것은, 그 부노드를 위한 3중 관련부의 후, 단 그 부노드의 다른 노드, 즉, 동일한 네스팅 레벨을 갖는 다른 노드의 전에, USD-목록으로 삽입된다.
각종 사용자 인터페이스 형식에 대한 USD-목록의 예
USD-목록을 생성하는 방법과 그 UII와의 관계의 몇가지 예를 설명한다. 사용자가, 프로세서, 제어-장치 및 장치류로 구성되는 주어진 시스템에 대한 하드웨어 구성을 정의하고자 한다고 가정하자. UII-그레프가 제11도에 나타내어져 있다. GP-UI1는 다음과 같은 포맷을 가질 것이다.
예 9-대화 :
여기서, 선택된 사용자 인터페이스가 '대화'라고 가정하면, 그때 대화에 특정한 SP-UⅡ는 UⅡ와 관련돼야 한다. 그러므로 UⅡ는 다음의 포맷, 즉, SP-UⅡ를 나타내는 대문자(capital letters)를 갖게 될 것이다.
UII지정 <set>장치-목록과 그 <set>에 중첩된(nested) 모든 UII 입력으로 얻어지는 패널이, 사용자가 시스템에 입력한 데이타와 함께 제12도에 도시된다. 이것은 다음과 같은 USD-목록을 생성한다.
장치-목록 0 3
장치어드레스 DEVXXX 4
장치 클래스 3 4
디스크 5 5
크기 70MB 6
액세스 시간 15000 6
장치 형식 IBM3380 4
IPL에 있어서의 오프라인 1 4
IPL. YES에 있어서의 오프라인 0 5
패널은 사용자 인터페이스 관리 프로그램, 예를 들면 SP-UII에 의해 제어되는 대화 관리 프로그램에 의해 작성된다. 만약, 다른 인터페이스 형식으로부터 대화 인터에피스 형식으로 전환하는 순간에, USD-목록의 일부가 이미 생성되어 있는 경우에는, USD-목록내의 데이타는 대화 패널의 각 입력 필드(fields)를초기화시키기 위해 사용된다. 만약 필요하다면, 이들 입력 필드는 대화 관리 프로그램에 의해 오버 타이핑(over-typing)으로부터 보호될 수 있다.
예 10-그래픽(graphic)
만약 사용자 인터페이스가 그래픽이면, 그래픽 SP-UII는 UII와 관련될 필요가 있다.
이것은 다음과 같이 나타내어진다.
이들 지정으로부터 얻어지는 윈도우가 제13도에 도시된다. 이 윈도우는 SP- UⅡ를 사용하는 그래픽 사용자 인터페이스 관리 프로그램에 의해 생성된다. 그래픽 사용자 인터페이스 관리 프로그램은 또한 USD-목록으로의 입력도 취급한다. 제13도의 예를 사용해서 생성되는 ,USD-목록은 다음과 같은 포맷을 갖는다.
하드웨어 구성 0 0
전체적인 하드웨어 구성 속성
/*여기에는 상세는 나타내지 않음*/
프로세서-목록 0 1
프로세서 속성
/*여기에는 상세는 나타내지 않음*/
제어-장치-목록 0 2
제어-장치속성
/*여기에는 상세는 나타내지 않음*/
장치-목록 0 3
장치 어드레스 DEVXXX 4
/*장치 속성*/
간단하게 하기 위해, 전반적인 하드웨어 구성, 프로제서, 제어 장치 또는 장치의 속성은 상술되어 있지않다. 이들은 원도우를 더 조작하는 것에 의해 USD-목록에 추가된다.
예 11-명령:
명령형 사용자 인터페이스(command user interface)에서는, 명령구문(syntax)을 정의 하는 SP-UII가 UII에 부가되야 한다. 이 결과는 다음과 같다.
따라서 하드웨어 구성을 정의하는 가능한 유효 명령(possible valid command)은 다음과 같다.
상기 명령 절차(command procedure)로부터의 사용자 입력은 명령 파서(command parser)에 의해 USD-목록에 맵(map)된다. 이렇게 하여 다음과 같은 USD-목록이 얻어진다.
하드웨어 구성 0 0
전체적인 하드웨어 구성 속성
/*여기에는 상세는 나타내지 않음*/
프로세서-목록 0 1
프로세서 속성
/*여기에는 상세는 나타내지 않음*/
제어-장치-목록 0 2
제어 장치 속성
/*여기에는 상세는 나타내지 않음*/
장치-목록 0 3
장치 어드레스 DEVXXX 4
장치 클래스 3 4
디스크 0 5
크기 70MB 6
액세스 시간 15000 6
장치 형식 IBM3380 4
IPL에 있어서의 오프라인 1 4
IPL,YES에 있어서의0 5
오프라인
장치 0 3
장치 어드레스 DEVYYY 4
장치 클래스 2 4
테이프 0 5
장치 형식 IBM3950 4
IPL에 있어서의 오프라인 2 4
IPL.YES에 있어서의 0 5
오프라인
상기 도시된 바와 같은 USD-목록을 작성하기 위해서는, 명령 파서가 UⅡ에 의해 필요가 있다.
임의의 사용자 인터페이스 형식으로부터 명령 모드로 전환하려면. UII에 의해 제어되고 입력으로서 USD-목록을 사용하는 '텍스트 생성기(Text Fenerator)'(상기 명령 파서의 역기능)가 필요하다.
예 12- 전환 :
이제부터는 사용자가 몇개의 사용자 인터페이스 형식을 사용하여 하드웨어 구성을 정의하고자 한다고 가정한다. 샘플 시나리오(sample scenario)는 다음과 같다. 우선, 사용자는 명령 목록으로 시작한다.
이 결과 다음과 같은 USD-목록이 얻어진다.
하드웨어 구성 0 0
전체적인 하드웨어 구성 특징
/*여기에는 상세는 나타내지 않음*/
프로세서-목록 0
프로세서 속성
/*여기에는 상세는 나타내지 않음*/
제어-장치-목록 0 2
제어 장치 속성
/*여기에는 상세는 나타내지 않음*/
장치-목록 0 3
장치 어드레스 DEVXXX 4
장치 클래스 3 4
디스크 0 5
그래서, 사용자는 제13도에 도시된 바와 같이 윈도우를 사용자에게 보여주는 사용자 인터페이스 형식=GRAPHIC으로 전환한다. 그래픽 모드에서 사용자는 DEVXXX 내지 DEVYYY를 그래픽 복사하므로써 다른 장치를 부가할 수 있다(제14도 참조). 이것은 다음의 입력에 의해 USD-목록을 확장한다.
Device-lists 0 3
device address DEVXXX 4
device class 3
Disk 0 5
새로이 부가된 장치에 대해, 이제 사용자가 대화 형식의 사용자 인터페이스를 사용하여 장치 속성을 완성하고 갱신하고자 한다. 이것은 결과적으로 제15도에 도시된 바와 같은 대화 패널로 된다. 이 패널은 이미갱신된 장치 속성을 나타내고 있다.
이러한 갱신후, USD-목록은 다음과 같을 것이다.
하드웨어 구성 0 0
전체적인 하드웨어 구성 특징
/*여기에는 상세는 나타내지 않음*/
프로세서-목록
프로세서 속성
/*여기에는 상세는 나타내지 않음*/
제어-장치-목록 0 2
제어 장치 속성
/*여기에는 상세는 나타내지 않음*/
장치-목록 0 3
장치 어드레스 DEVXXX 4
장치 클래스 3 4
디스크 0 5
장치 0 3
장치 어드레스 DEVXXX 4
장치 클래스 2 4
테이프 0 5
장치 형식 IBM3950 4
IPL에 있어서의 오프라인 2 4
IPL.NO에 있어서의 오프라인 0 5
마지막으로, 사용자는 지금까지 무엿이 정의되었는가의 '텍스트 표시(textual view)'를 얻기 위해 명령모드로 다시 전환할 수도 있고, 명령 모드에서의 또 다른 정의도 가능하다. 예를 들어 텍스트 편집 프로그램을 사용하므로써 사용자는 DEVXXX에 대한 속성을 완성시킬 수도 있다.
물론, 전체적인 하드웨어 구성을 정의할 때, 사용자는 상기와 같은 동작의 순서에 한정되지 않는다. 사용자는, 어떤 형식의 인터페이스가 작업에 적절한가, 즉 가장 용이한 가를 자유롭게 선택할 수 있다.

Claims (16)

  1. 컴퓨터내에 구비되는 적응가능한 사용자 인터페이스 시스템(adaptable user interface system)으로서, 각각이 상이한 입력·출력 또는 대화 모드중 하나를 갖는 다수의 상이한 사용자 인터페이스 형식을 통합하는(integrating) 수단과, 사용자가 상이한 입력·출력 또는 대화 모드 사이에서 스위칭을 개시할 수 있게 하는 수단을 포함하는 상기 적응가능한 사용자 인터페이스 시스템에 있어서, 방향성 그래프의 노드에 각각 연관되는 정보 제트를 포함하는 사용자 인터페이스 정보를 방향성 그래프 형식으로 기억하는 수단으로서, 상기 방향성 그래프의 노드에 연관되는 각 정보 세트는 상기 모든 상이한 사용자 인터페이스 형식에 공통인 제1부본(GP-UII)과, 상기 상이한 사용자 인터페이스 형식중 하나에 할당되는 제2부분(SP-UII1,SP-UII2)를 포함하되, 상기 제2부분의 각각은 상기 노드에 할당된 인터페이스 형식이 수행할 수 있는 다른 동작 모드를 지정하는 인터페이스 정보의 부속세트(subsets)를 포함하는, 상기 기억 수단과 : 상이한 사용자 인터페이스 형식중 하나를 각각 나타내는 상기 노드중 적어도 하나의 인터페이스 정보를 표시 전위 프로그램 (presentation front-end programs) (PFE-1, PFE-2) 의 제어 하에, 액세스하므로써 사용자 인터 페이스 형식을 선택하는 수단(GUlL)과 : 상기 액세스되는 인터페이스 정보의 상기 제2부분의 상기 부속제트 사이에서 스위칭하므로써 상기 다른 동작 모드중 하나를 선택하는 수단을 포함하는 적응가능한 사용자인터페이스 시스템.
  2. 제1항에 있어서, 상기 사용자 인터페이스 정보를, 상기 상이한 사용자 인터페이스 형식의 특성을 지정하는 제어 정보로 변환하는 수단(GUIL)을 더 포함하되, 상기 변환 수단(GUIL)은 사용자 관련 프로그램의 분리를 수행하여 힌재 액티보인 사용자 인터페이스 형식으로 향하도륵 되어 있는 적응가능한 사용자 인터페이스 시스템.
  3. 제2항에 있어서, 상기 변환 수단(GUIL)을 호출하고, 사용자 인터페이스 형식과는 무관한 방식으로, 프로그래밍 시스템의 기능상의 의미 판단(the function semantics)을 실행하는 하나 이상의 기능 프로그램을 더 포함하는 적응가능한 사용자 인터페이스 시스템.
  4. 제1항 내지 제3항중 한 항에 있어서, 상기 변한 수단(GUIL)은 상기 사용자 인터페이스 정보의 제1부분(GP-UIl)에 의해 제어되고, 상기 제2부분(SP-UII1,SP-UII2)는 상기 각각의 표시 전위 프로그램(PFEs)에 의해 상기 연관된 사용자 인터페이스 형식을 제어하는 적응가능한 사용자 인터페이스 시스템.
  5. 제1항 내지 제3항중 한 항에 있어서, 사용자 인터페이스에 무관한 포맷으로(in an userinterface-independent fornnt), 또한 상기 방향성 그래프에 관해서, 사용자로부터 언어진 데이타가, 할당된 노드 명칭(node name)과 내스팅 레벨값(nesting level value)을 갖는 것에 의해 상기 방향성 그래프의상기 노드들중 하나에 관련되는 방식으로, 사용자 대신 데이타(USD)를 기억하는 수단(USD-Iist)을 더 포함하는 적응가능한 사용자 인터페이스 시스템.
  6. 제4항에 있어서, 사용자 인터페이스에 무관한 포맷으로(in an user interface-independentfonnat), 또한 상기 방향성 그래프에 관해서, 사용자로부터 얻어진 데이타가, 할당된 노드 명칭(nodename)과 네스팅 레벨 값(nesting level value)을 갖는 것에 의해 상기 방향성 그래프의 상기 노드들중 하나에 관련되는 당식으로, 사용자 세션 데이타(USD)를 기억하는 수단(USD-list)을 더 포함하는 적용가능한 사용자 인터페이스 시스템.
  7. 제1항에 있어서, 상기 방향성 그래프의 노드는, 상기 방향성 그래프의 그 다음 하부 레벨의 노드 또는 노드들에 대한 접속을 지정하는 AND노드 및/또는 OR노드인 적응가능한 사용자 인터페이스 시스템.
  8. 제7항에 있어서, 상기 변환 수단(GUIL)은 상기 사용자 인터페이스 정보의 제1부분(GP-UII)에의해 제어되고, 상기 제2부분(SP-Ull1,SP-UII2)는 상기 각각의 표시 전위 프로그램(PFEs)에 의해 상기 연관된 사용자 인터페이스 형식을 제어하는 적응가능한 사용자 인터페이스 시스템.
  9. 제7항에 있어서, 사용자 인터페이스에 무판한 포맷으로(in an user interface-independentfornnt), 또한 상기 방향성 그래프에 관해서, 사용자로부터 얻어진 데이타가, 할당된 노드 명칭(nodename)과 네스팅 레벨 값(nesting level value)을 갖는 것에 의해 상기 방향성 그래프의 상기 노드들중 하나에 관련되는 방식으로 사용자 세션 데이타(USD)를 기억하는 수단(USD-Iist)을 더 포함하는 적응가능한사용자 인터페이스 시스템.
  10. 적응가능한 사용자 인터페이스 시스템을 포함하는 컴퓨터에서, 각각이 상이한 입력·출력 또는 대화모드중 하나를 갖는 다수의 상이한 사용자 인터페이스 형식을 통합하고, 사용자가 상이한 입력·출력 또는 대화 모드 사이에서 스위칭을 개시할 수 있게 하는 방법에 있어서, 상기 방향성 그래프의 노드에 각각 연관되는 정보 제트를 포함하는 사용자 인터페이스 정보를 방향성 그래프 형식으로 기억하는 단계와, 상기 각정보 세트를 상기 각 정보 제트를, 상기 모든 상이한 사용자 인터페이스 형식에 공통인 제1부분(GP-UII)과 상기 상이한 사용자 인터페이스 형식중 하나에 할당되는 제2부분(SP-UII1,SP-UII2)를 포함하되, 상기 제2부분의 각각은 상기 노드에 할당된 인터페이스 형식이 수행할 수 있는 다수의 다른 동작 모드를 지정하는 인터페이스 정보의 부속제트(subsets)를 포함하는 상기 방향성 그래프의 노드에 연관시키는 단계와; 상기 상이한 사용자 인터페이스 형식중 하나를 각각 나타내는 상기 노드중 적어도 하나의 인터페이스 정보를, 표시 전위 프로그램(presentation front-end programs)(PFE-1, PFE-2)의 제어하에, 액세스하므로써 사용자 인터페이스 형식을 선택하는 단계와; 상기 액세스되는 인터페이스 정보의 상기 제2부분의 상기 부속세트 사이에서 스위칭하므로써 상기 다른 동작 모드중 하나를 선택하는 단계를 포함하는 적응가능한 사용자 인터페이스 방법.
  11. 제10항에 있어서, 상기 방향성 그래프의 상기 노드는, 상기 방향성 그래프의 그다음 하부 레벨의 노드 또는 노드들에 대한 접속을 지정하는 AND노드 및 또는 OR노드인 적응가능한 사용자 인터페이스 방법.
  12. 제10항에 있어서, 상기 사용자 인터페이스 정보를 상기 상이한 사용자 인터페이스 형식의 특정을 지정하는 제어 정보로 변환하는 단계를 더 포함하고, 사용자 인터페이스 관련 프로그램을 분리하여 현재 액티브인 사용자 인터페이스 형식을 향하도록 하는 적응가능한 사용자 인터페이스 방법.
  13. 제12항에 있어서, 사용자 인터페이스 형식과 무관한 방법으로 상기 프로그램 시스템의 기능상의 의미판단을 실행하는 단계를 더 포함하는 적응가능한 사용자 인터페이스 방법.
  14. 제10항 내지 제13항중 한 항에 있어서, 상기 사용자 인터페이스 정보의 상기 제l부분(GP-UII)은 상기 사용자 인터페이스 정보를 상기 제어 정보로 변환하는 것을 제어하고, 상기 사용자 인터페이스 정보의상기 제2부분(SP-UII1,SP-UII2)은 상기 표시 전위 프로그램(PFEs)에 의해 상기 연관된 사용자 인터페이스 형식을 제어하는 적응가능한 사용자 인터페이스 방법.
  15. 제10항 내지 제13항중 한 항에 있어서, 사용자 세션 데이타(USD)를 사용자 인터페이스-독립된 포팻으로 기억하는 단계를 더 포함하고, 상기 사용자 세신 데이타는 상기 방향성 그래프에 대하여, 사용자로부터 얻어진 데이타가 노드 명칭 및 네스팅 레벨 값을 할당하므로써 상기 방향성 그래프의 상기 노드중 하나에 관련되는 관계로 구성되는 적응가능한 사용자 인터페이스 방법.
  16. 제14항에 있어서, 사용자 세션 데이타(USD)를 사용자 인터페이스-독립된 포맷으로 기억하는 단계를 더 포함하고, 상기 사용자 세션 데이타는 상기 방향성 그래프에 대하여, 사용자로부터 얻어진 데이타가노드 명칭 및 네스팅 레벨 값을 할당하므로써 상기 방향성 그래프의 상기 노드중 하나에 관련되는 관계로구성되는 적응가능한 사용자 인터페이스 방법.
KR1019920005131A 1991-03-30 1992-03-28 적응가능한 사용자 인터페이스 시스템 및 방법 KR950014164B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP91105137.3 1991-03-30
EP91105137 1991-03-30
EPPCT/EP91/01642 1991-08-29
PCT/EP1991/001642 WO1992017838A1 (en) 1991-03-30 1991-08-29 Method for specifying user interfaces and programming system running a multiple user interface type computer

Publications (2)

Publication Number Publication Date
KR920018579A KR920018579A (ko) 1992-10-22
KR950014164B1 true KR950014164B1 (ko) 1995-11-22

Family

ID=8206592

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920005131A KR950014164B1 (ko) 1991-03-30 1992-03-28 적응가능한 사용자 인터페이스 시스템 및 방법

Country Status (9)

Country Link
EP (1) EP0578634B1 (ko)
JP (1) JPH0750434B2 (ko)
KR (1) KR950014164B1 (ko)
CN (1) CN1046360C (ko)
AT (1) ATE140810T1 (ko)
BR (1) BR9107292A (ko)
CA (1) CA2100589C (ko)
DE (1) DE69121113T2 (ko)
WO (1) WO1992017838A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0602263A1 (en) * 1992-12-15 1994-06-22 International Business Machines Corporation User interface program generator
US7685252B1 (en) 1999-10-12 2010-03-23 International Business Machines Corporation Methods and systems for multi-modal browsing and implementation of a conversational markup language
US7213027B1 (en) 2000-03-21 2007-05-01 Aol Llc System and method for the transformation and canonicalization of semantically structured data
GB0029622D0 (en) 2000-12-05 2001-01-17 Nokia Networks Oy Improved user interface
JP3322262B2 (ja) 2000-12-22 2002-09-09 日本電気株式会社 無線携帯端末通信システム
GB2402507A (en) * 2003-06-03 2004-12-08 Canon Kk A user input interpreter and a method of interpreting user input
US7756154B2 (en) 2005-03-22 2010-07-13 Netapp, Inc. Shared implementation for multiple system interfaces
US7734869B1 (en) 2005-04-28 2010-06-08 Netapp, Inc. Interfaces for flexible storage management
US7953928B2 (en) 2007-02-22 2011-05-31 Network Appliance, Inc. Apparatus and a method to make data sets conform to data management policies
US8117165B1 (en) 2008-04-30 2012-02-14 Netapp, Inc. Disk-to-disk backup of database archive logs
CN105389619B (zh) * 2014-08-31 2021-08-03 通用电气公司 用于改进健康护理生态系统内的连接的方法和系统
CN110554894A (zh) * 2018-05-31 2019-12-10 阿里巴巴集团控股有限公司 界面描述文件、应用程序的处理方法、装置及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754409A (en) * 1985-06-26 1988-06-28 International Business Machines Corporation Method for dynamically collecting current data from specified external processes and procedures for use in an expert system
US5097533A (en) * 1988-11-29 1992-03-17 International Business Machines Corporation System and method for interfacing computer application programs written in different languages to a software system

Also Published As

Publication number Publication date
EP0578634B1 (en) 1996-07-24
DE69121113T2 (de) 1997-02-06
CN1046360C (zh) 1999-11-10
CA2100589C (en) 1999-08-24
CN1066517A (zh) 1992-11-25
CA2100589A1 (en) 1992-10-01
DE69121113D1 (de) 1996-08-29
BR9107292A (pt) 1994-05-31
EP0578634A1 (en) 1994-01-19
JPH0750434B2 (ja) 1995-05-31
KR920018579A (ko) 1992-10-22
WO1992017838A1 (en) 1992-10-15
JPH05508045A (ja) 1993-11-11
ATE140810T1 (de) 1996-08-15

Similar Documents

Publication Publication Date Title
US5606702A (en) Method for specifying user interfaces and programming system running a multiple user interface computer
US5890122A (en) Voice-controlled computer simulateously displaying application menu and list of available commands
US20030081002A1 (en) Method and system for chaining and extending wizards
KR950014164B1 (ko) 적응가능한 사용자 인터페이스 시스템 및 방법
US20040030710A1 (en) Rules-based task browser for engineering systems
KR20040063823A (ko) 액티브 콘텐츠 위저드: 태스크 및 구조화 콘텐츠 실행
US5682542A (en) Language processing system using object networks
JP2004537134A (ja) ブラウザ対応ヒューマンインターフェイスデスクリプションを生成し且つ処理するための方法およびシステム
Edwards et al. Access to graphical interfaces for blind users
EP1279096A1 (en) Improvements relating to computer systems
EP1634165B1 (en) Interpreter and method for interpreting user inputs
EP0503944A2 (en) Command generator for a data processing system
US20030097486A1 (en) Method for automatically interfacing collaborative agents to interactive applications
JPH0273392A (ja) 指導動作可能計算システム及び指導方法
JPH01169577A (ja) 翻訳辞書名の出力方式
Alonso et al. A framework for blind user interfacing
Bornat et al. A minimal graphical user interface for the Jape proof calculator
Pasian et al. User interfaces in astronomy
EP0524103B1 (en) Metaphor environment control system
Alty et al. Microtechnology and user friendly systems—the CONNECT dialogue executor
US20030033332A1 (en) Control/display unit page builder software tool
White et al. Using Python to modernize astronomical software
JP2000172498A (ja) デ―タ出力装置
Tarpin-Bernard et al. Achieving usability of adaptable software: the AMF-based approach
Bouillon et al. User Interface Reverse Engineering.

Legal Events

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