KR100228938B1 - 데이타 프로세싱 시스템 및 프로그램 생성방법 - Google Patents

데이타 프로세싱 시스템 및 프로그램 생성방법 Download PDF

Info

Publication number
KR100228938B1
KR100228938B1 KR1019950046451A KR19950046451A KR100228938B1 KR 100228938 B1 KR100228938 B1 KR 100228938B1 KR 1019950046451 A KR1019950046451 A KR 1019950046451A KR 19950046451 A KR19950046451 A KR 19950046451A KR 100228938 B1 KR100228938 B1 KR 100228938B1
Authority
KR
South Korea
Prior art keywords
parameter
displaying
parameters
list
selection
Prior art date
Application number
KR1019950046451A
Other languages
English (en)
Other versions
KR960025208A (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 KR960025208A publication Critical patent/KR960025208A/ko
Application granted granted Critical
Publication of KR100228938B1 publication Critical patent/KR100228938B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Abstract

본 발명은 그래픽 사용자 인터페이스를 사용하여 객체 지향 환경에서 프로그램을 효율적으로 생성하는 데이타 프로세싱 시스템 및 프로그램 생성 방법에 관한 것이다. 객체는 그래픽 사용자 인터페이스내에서 그래픽적으로 디스플레이되며, 여기서 객체는 객체 지향 언어로 작성된 방법을 포함한다. 이 방법은 다수의 파라미터를 갖는다. 각각의 파라미터는 GUI 내에서 그래픽적으로 디스플레이된다.
이러한 디스플레이는 그래픽적으로 디스플레이된 객채의 선택에 응답할 수 있다. 각각의 파라미터는 그래픽적으로 디스플레이된 객체와 시각적으로 연관된다. 파라미터 선택에 응답하여 다수의 파라미터에서 하나의 파라미터에 대한 선택 리스트가 디스플레이된다.
사용자에 의해 선택 리스트를 사용한 파라미터의 지정이 허용되며, 여기서 선택 리스트를 사용하여 지정된 파라미터는 객체를 생성하기 위해 사용된 객체 지향 언어로 상기 방법으로 전파된다. 파라미터와 디스플레이된 객체사이의 관계를 디스플레이하기 위해 트리 구조가 사용될 수 있다.

Description

데이타 프로세싱 시스템 및 프로그램 생성 방법
제 1 도는 본 발명이 적용될 수 있는 퍼스널 컴퓨터 데이타 프로세싱 시스템을 도시한 도면
제 2 도는 본 발명에 따른 퍼스널 컴퓨터 시스템의 다양한 구성요소를 나타내는 퍼스널 컴퓨터 시스템의 블럭도
제 3 도는 본 발명의 바람직한 실시예에 따라 도시된 객체 지향 시스템의 블럭도
제 4 도는 본 발명의 바람직한 실시예에 따라 도시된 시각 프로그래밍에 사용되는 시각 프로그래밍 윈도우를 도시한 도면
제 5a - 5j 도는 파라미터와 아이콘으로서 디스플레이되는 객체 사이의 관계를 제공하는데 사용되는 트리 구조를 도시한 도면
제 6a 및 6b 도는 본 발명의 바람직한 실시예에 따라 도시된 시각 프로그래밍 환경에서 메쏘드 파라미터를 지정하는 프로세싱을 흐름도를 도시한 도면
* 도면의 주요부분에 대한 부호의 설명
10 : 퍼스널 컴퓨터 시스템 12 : 시스템 장치
14 : 모니터 16 : 키보드
20 : 프린터 26 : 마이크로프로세서
28 : 캐시 제어기 32 : 버퍼
38 : 버스 제어 타이밍 44 : 마이크로채널 버스
54 : 어드레스 MUX 66 : 디코더
68 : 플레이너 입/출력 버스 78 : 병렬 어댑터
82 : 디스켓 어댑터 86 : ROM
300, 330 : 객체 302 : 객체
320 : 메시지 라우터 404 : 화면 구성 영역
408, 410 : 제어부 414 : 윈도우
본 발명은 전반적으로 데이타 프로세싱 시스템에 관한 것으로, 특히 데이타 프로세싱 시스템내의 시각 프로그래밍(visual programming)을 위한 시스템 및 방법에 관한 것이다. 보다 구체적으로 본 발명은 데이타 프로세싱 시스템에서 사용하기 위한 소프트웨어를 생성하는 시각 프로그래밍을 위한 시스템 및 방법에 관한 것이다.
데이타 프로세싱 시스템을 위한 애플리케이션 및 시스템 소프트웨어의 개발은 통상적으로 시간이 많이 소요되는 작업이었다. 소프트웨어 엔지니어링(software engineering) 분야는 새롭고 더 효율적인 소프트웨어 개발 모델을 제안하므로써 통상적인 기법의 한계를 극복하기 위해 노력을 기울여 왔다. 객체지향 프로그래밍(object oriented programming)이 객체의 신속한 개발(development), 구현(implement) 및 커스텀화(customization) 가능한 유망한 기법으로 부각 되었다. 각각의 새로운 객체는 소정의 데이타 속성 및 이 데이타상에서 동작하는 프로세스 혹은 메쏘드(method)를 갖는다. 데이타는 객체에 의해 "캡슐화(encapsulated)"된다고 일컬어지며, 객체 메쏘드에 의해서만 수정(modify)될 수 있다. 객체 메쏘드는, 이 객체 메쏘드를 식별하고 필요한 인자(arguments)를 제공하는 메시지를 전송하므로써 호출된다.
객체 지향 시스템은 캡슐화에 부가하여 두가지 중요한 특성을 갖는다. "상속(inneritance)"은 기존 객체로 부터 새로운 객체를 유도(derive)하고, 메쏘드 및 데이타 구조를 포함하는 모든 특성을 기존 객체로부터 계승하는 능력이다. 새로운 객체는 기존 객체의 클래스를 오버라이드(override)하거나 혹은 수정하므로써 제공되는 소정의 고유한 특징(certain unique feature)을 가질 수도 있다. 예를들면, 새로운 서브클래스(subclass)는 기존의 보다 일반적인 클래스로부터 이 서브클래스를 구별하는 기능(functions) 및 데이타만을 지정할 필요가 있을 뿐이다.
기존의 메쏘드 기술(method description)을 오버라이드하는 능력은, 객체에 대한 단일 메시지가 객체 자체에 따른 상이한 방식으로 처리되도록 하는 능력인 다형성(polymorphism)을 가능하게 한다.
상속 및 다형성은 새로운 소프트웨어 시스템을 구현하기 위한 강력한 구조를 생성한다. 소프트웨어 개발자는 시스템의 각 부분을 개발할 필요는 없으며, 단지 시스템의 특유한 특징만을 지정할 필요가 있다.
객체 지향 시스템의 성능은 시스템 "프레임워크(frameworks)"의 개발을 통해서 실현된다. 프레임워크는 최종 시스템 제품을 생성하기 위해 시스템 구현자(system implementor)에 의해 사용될 수 있는 베이스 클래스(base classes)의 집합(a collection of base classes)이다. 프레임워크는 시스템으로서 함께 동작하도록 정의되고 개발된다. 개념적으로, 프레임워크는 컴퓨터 하드웨어 제조자에 의해 사용되는 표준 하드웨어 구성요소의 세트(a set of standard hardware components)와 매우 유사하다. 각각의 구성요소는 소정의 정의된 기능을 가지고 있고, 엔지니어는 특정 설계에 따라 이들 구성요소를 조립하여 고유한 하드웨어 시스템을 형성한다.
객체 지향 프로그래밍 시스템의 일 예는 SOM(System Object Model)이다. SOM에 관한 상세한 정보는 IBM 사의 SOMobjects Developer Toolkit User Guide, 버전 2.0을 참조할 수 있다.
시각 프로그래밍 기법은 사용자 및 프로그래머가 통상적인 FORTRAN, C,PASCAL, COBOL 혹은 BASIC 등의 프로그래밍 언어를 사용한 프로그래밍보다 훨씬 신속하게 문제점에 대한 프로그래밍 솔루션(solution)을 생성할 수 있게 해준다. 시각 프로그래밍 환경(visual programming environments)은 사용자와 프로세싱 시스템 사이의 인터페이스로서 GUI(Graphic user Interface:GUI)를 제공한다. GUI내에서, 시각 프로그래밍은 예를 들면 사용자에게 디스플레이된 구성요소의 팔레트(pallet)로 부터 사용자 인터페이스 구성요소를 드래깅 및 드로핑(dragging and dropping)하므로써 수행될 수 있다. 프로그램 로직은 전형적으로, 통상적인 프로그램 언어에 의해 작성하는 방법, REXX와 같은 사용자에게 보다 친숙한 스크립트 언어(scripting language)에 의해 작성하는 방법, 혹은 시각 프로그래밍 환경내에서 시각적으로 구성요소를 접속하는 방법중의 하나에 의해 명시된다.
통상적인 프로그래밍 혹은 스크립트 언어를 사용하여 프로그래밍을 하려는 사용자는 여전히 생소한 이들 언어를 배워야 한다. 비록 스크립트 언어가 통상적인 프로그래밍 언어에 비해서 간단하기는 하지만, 여전히 이들 언어는 비 프로그래머에게는 중요한 장애 요소로 작용하고 있다.
GUI를 사용하여 구성요소를 시각적으로 접속하므로써 프로그램 로직을 명시하는 것이 비 프로그래머에게는 좀 더 효율적일 수 있다. 이러한 시각적 프로그래밍 환경이 몇몇 경우에서는 전문적인 프로그래머에 의한 코딩보다 훨씬 생산적일 수가 있다. 그러나, 현재의 구현에서는 대규모 애플리케이션의 스케일링(sealing)에 문제점이 있다. 시각 프로그래밍 기법은, 통상은 적은 수의 접속(connection)에는 잘 동작하지만, 현실적인 규모의 애플리케이션에는 사용될 수 없게 되는 경항이 있다. 이 스케일링 문제점의 주요 원인에는 메쏘드 호출과 연관된 파라미터의 지정이 포함된다.
비 객체 지향 언어(non-object oriented language)에서의 함수 호출과 같은 메쏘드 호출은 전형적으로 하나 이상의 파라미터를 요구한다. 각각의 파라미터는 다시 동일한 혹은 상이한 객체상의 또다른 메쏘드 호출을 이용하여 제공될 수도 있다. 파라미터 결정 자체가 GUI내에서 객체간의 시각적인 접속을 도시하므로써 지정될 경우, 접속의 수는 급속히 커지게 되어 개개의 접속을 구별할 수 없게 된다. 따라서, 사용자가 시각적으로 파라미터를 지정할 수 있게 해주는 시각 프로그래밍 기법을 제공하는 시스템 및 방법을 사용하는 것이 유리하며, 상기 방법은 현실적인 대규모의 애플리케이션의 생산적인 개발을 지원할 수 있어야 한다.
따라서 본 발명의 목적은 개선된 데이타 프로세싱 시스템을 제공하는 데 있다.
본 발명의 다른 목적은 데이타 프로세싱 시스템내에 시각 프로그래밍을 위한 개선된 방법 및 시스템을 제공하는 데 있다.
본 발명의 또다른 목적은 데이타 프로세싱 시스템에서 사용하기 위한 소프트웨어를 생성하는 시각 프로그래밍을 위한 개선된 방법 및 시스템을 제공하는 데 있다.
본 발명은 GUI를 사용하여 객체 지향 환경내에서 프로그램을 효율적으로 생성하는 데이타 프로세싱 시스템 및 그 방법을 제공한다. 객체는 GUI에서 그래픽 방식으로 디스플레이되고, 이 객체는 객체 지향 언어로 작성된 메쏘드를 포함하며, 이 메쏘드는 다수의 파라미터를 구비한다. 각각의 파라미터는 GUI에서 그래픽 방식으로 도시된다. 이러한 디스플레이는 그래픽 방식으로 도시된 객체의 선택에 응답하여 이루어 질 수 있다. 각각의 파라미터는 그래픽 방식으로 디스플레이된 객체와 식각적으로 연관된다. 선택 항목의 리스트(a list of selections)는 파라미터의 선택에 응답하여 다수의 파라미터중의 하나의 파라미터에 대해 디스플레이된다. 사용자는 선택 항목의 리스트를 사용하여 파라미터를 지정할 수 있으며, 선택 항목의 리스트를 사용하여 지정된 파라미터는 객체를 생성하기 위해 사용된 객체 지향 언어로 메쏘드에 전파된다.
객체 및 파라미터는 객체 및 파라미터를 나타내는 아이콘을 사용하여 GUI내에서 그래픽 방식으로 디스플레이될 수 있다. 이들 아이콘의 디스플레이는 확장(expand)될 수도 있고 혹은 붕괴(collapse)될 수도 있는 트리 구조(tree structure)로 이루어 질 수 있다. 메쏘드의 파라미터는 여러가지 방법으로 지정될 수 있다. 파라미터는 부가적인 파라미터를 갖춘 메쏘드를 갖는 또 다른 객체를 사용하여 지정될 수 있다. 이러한 경우, 그 두번째 객체 및 이 객체의 파라미터는 트리 구조내의 "서브트리"로서 디스플레이될 수 있다. 파라미터를 지정하는데 사용되는 이들 선택 항목 혹은 소스는 팝 업 메뉴(pop-up menu)로 사용자에게 디스플레이될 수 있다. 이 팝 업 메뉴는, 사용자가 파라미터에 대한 선택 혹은 소스를 지정할 수 있게 해주는 선택 항목을 포함하여, GUI내에 도시된다.
본 발명의 전술한 목적 및 부가적인 목적, 특징 및 장점들은 첨부 도면을 참조한 이하 개시되는 상세한 설명으로부터 더욱 명확하게 이해될 것이다.
제 1 도를 참조하면, 본 발명이 적용되는 데이타 프로세싱 시스템, 즉 퍼스널 컴퓨터 시스템(10)이 도시되어 있다. 도시된 바와 같이, 퍼스널 컴퓨터 시스템(10)은 상호접속된 다수의 구성요소를 포함한다. 특히, 시스템 유닛(12)은 (통상적인 비디오 디스플레이와 같은) 선택사양인(optional) 모니터(14)와 접속되어 이 모니터를 구동할 수 있다. 시스템 유닛(12)은 또한 PC 키보드(16) 혹은 마우스(18)와 같은 입력장치에 선택에 따라 접속될 수 있다. 마우스(18)는 (도시되지 않지만) 좌 우 버튼을 구비한다. 좌측 버튼은 일반적으로 주 선택 버튼으로 이용되며, 따라서 제 1 마우스 버튼 혹은 마우스 버튼 1 로 칭해진다. 우측 버튼은 전형적으로 이하 개시되는 보조 기능을 선택하는 데 이용된다. 따라서 우측 마우스 버튼은 제 2 마우스 버튼 혹은 마우스 버튼 2 로 칭해진다. 프린터(20)와 같은 선택사양적 출력 장치가 또한 시스템 장치(20)에 접속될 수 있다. 최종적으로, 시스템 장치(12)는 디스켓 장치(22)와 같은 하나 이상의 대용량 저장 장치를 포함할 수 있다.
이하 개시되는 바와 같이, 시스템 유닛(12)은 PC 키보드(16), 마우스(18) 혹은 지역 네트워크 인터페이스와 같은 입력 장치에 응답한다. 부가적으로, 플로피디스크 드라이브(22), 디스플레이(14), 프린터(20) 및 지역 통신 시스템과 같은 입력/출력(I/O) 장치 및 지역 통신 시스템이 잘 알려진 방법으로 시스템 유닛(12)에 접속된다. 물론, 당업자라면, 다른 통상적인 구성요소들이 또한 시스템 유닛(12)에 접속되어 상호작용할 수 있다는 것을 잘 이해할 것이다. 본 발명에 따르면, 퍼스널 컴퓨터 시스템(10)은 랜덤 액세스 메모리(random access memory:RAM), 판독 전용 메모리(read only memory:ROM), 및 다수의 입/출력 장치에 상호접속되는 시스템프로세서를 포함한다.
통상의 사용에서, 퍼스널 컴퓨터 시스템(10)은 서버로서 소규모 집단의 사용자들에게 혹은 단일의 사용자에게 독립적인 계산 능력을 제공하도록 설계될 수 있으며, 개인이나 혹은 소규모 사업주가 구입할 수 있도록 저가로 책정될 수 있다. 동작시, 시스템 프로세서는 IBM 사의 OS/2 운영 체제 혹은 DOS와 같은 운영 체제하에서 수행된다. OS/2 는 IBM 사의 등록 상표이다. 이러한 유형의 운영체제는 I/O 장치 및 운영 체제 사이에 BIOS(Basic Input/Output)를 포함한다. 마더보드(motherboard) 혹은 플레이너(planar)상의 ROM에 저장될 수 있는 BIOS는 POST(power on self test)로 칭해지는 진단 루틴(disgnostic routines)을 포함한다.
전술한 구조를 본 발명에 연계시키기 전에, 퍼스널 컴퓨터 시스템(10)의 일반적인 동작을 검토해 보는 것이 도움이 될 것이다. 제 2 도를 참조하면, 본 발명에 따른 퍼스널 컴퓨터 시스템(10)의 각종 구성요소를 나타내는 퍼스널 컴퓨터 시스템(10)의 블럭도가 도시되어 있다. 제 2 도에는 또한 플레이너(11)의 구성요소, I/O 슬롯(46a-46d) 및 퍼스널 컴퓨터 시스템(10)의 다른 하드웨어에 대한 플레이너(11)의 접속이 도시되어 있다. 마이크로프로세서로 구성된 시스템 중앙 처리장치(system central processing unit:CPU)도 플레이너에 접속된다. 이 CPU는 고속 CPU 지역 버스(24)에 의해 버스 제어 타이밍 장치(38)를 통해서 메모리 제어 장치(50)로 접속되며, 이 메모리 제어 장치는 휘발성 랜덤 액세스 메모리(RAM)(58)로 접속된다. 임의의 적절한 마이크로프로세서가 CPU(26)용으로 사용될 수 있지만, 하나의 적절한 예로서 인텔(Intel)사의 펜티엄 마이크로프로세서를 들 수 있다. "펜티엄(Pentium)"은 인텔 사의 등록 상표이다.
이하 개시되는 본 발명은 제 2 도에 도시된 특정한 시스템 블럭도를 참조하여 개시되지만, 본 발명에 따른 장치 및 방법이 플레이너 보드의 다른 하드웨어 구조를 이용하여 구현될 수 있다는 사실을 이해하여야 한다. 예를 들면, 시스템 프로세서는 인텔 사의, 80286, 80386 마이크로프로세서를 사용할 수도 있다. 이들 특정한 마이크로프로세서는 실 어드레싱 모드(real addressing mode) 혹은 보호 어드레싱 모드(protected addressing mode)에서 동작할 수 있다. 각 모드는 마이크로프로세서 메모리의 상이한 영역을 액세스하기 위한 어드레스 방안을 제공한다.
이제 제 2 도를 참조하면, (데이타 버스, 어드레스 버스 및 제어 버스를 포함하는)CPU 지역 버스(24)는 선택사양인 수치 코프로세서(27), 캐시 제어기(28) 및 캐시 메모리(30)를 CPU(26)와 접속시킨다. 또한 버퍼(32)가 지역 버스(24)에 접속된다. 버퍼(32)는 (CPU 지역 버스와 비교했을 때) 저속인 시스템 버스(34)에 접속되며, 이 시스템 버스는 또한 어드레스 버스, 데이타 버스 및 제어 버스를 포함한다. 시스템 버스(34)는 버퍼(32) 및 또 다른 버퍼(36) 사이에 연장되어 있다. 시스템 버스(34)는 또한 버스 제어 및 타이밍 장치(38)와 직접 메모리 액세스 장치(Direct Memory Access)(40)에 접속된다. DMA 장치(40)는 중앙 중재 장치(central arbitration unit)(48) 및 DMA 제어기(41)를 포함한다. 버퍼(36)는 시스템 버스와 마이크로 채널 버스(44)와 같은 선택사양인 특정 버스 사이에 인터페이스를 제공한다. "마이크로 채널(Micro Channel)"은 IBM 사의 등록 상표이다. 마이크로 채널 어댑터 카드를 수용하기 위한 다수의 입/출력 슬롯(46a-46d)이 버스(44)에 접속되며, 이들 카드에는 입/출력 장치 혹은 메모리가 더 접속될 수도 있다. 도시된 예에서, 입/출력 슬롯(46a)은 자신에 접속된 하드 디스크 드라이브를 가지며, 입/출력 슬롯(46b)는 자신에 접속된 CD-ROM 드라이브를 가지고, 입/출력 슬롯(46c)은 자신에 접속된 어댑터 카드상의 ROM를 갖는다. 모뎀과 같은 또다른 장치가 I/O 슬롯에 접속될 수도 있다. 중재 제어 버스(42)는 DMA 제어기(41)와 중앙 중재 장치(48)를 입/출력 슬롯(46) 및 디스켓 어댑터(82)에 접속한다. 메모리 제어장치(50)가 또한 시스템 버스(34)에 접속되며, 이 메모리 제어 장치는 메모리 제어기(52), 어드레스 멀티플렉서(54) 및 데이타 버퍼(56)를 포함한다. 메모리 제어 장치(50)는 또한 RAM 모듈(58)로서 표시된 랜덤 액세스 메모리에 접속된다. 메모리 제어기(52)는 CPU(26)로 또한 CPU(26)로 부터 RAM(58)의 특정 지역으로 어드레스를 매핑하는 로직을 포함한다. 본 발명의 컴퓨터 시스템은 기본 1 메가바이트 RAM 모듈을 가지고 도시되지만, 제 2 도에 도시된 바와 같이 선택사양인 메모리 모듈(60-64)과 같은 부가적인 메모리가 상호접속될 수도 있다.
또 다른 버퍼(68)가 시스템 버스(34)와 플레이너 I/O 버스(68) 사이에 접속된다. 플레이너 I/O 버스(68)는 어드레스 버스, 데이타 버스 및 제어 버스를 포함한다. 플레이너 I/O 버스(68)에는 또한, 다양한 I/O 어댑터 및 (선택사양인 디스플레이(14)를 구동하는데 사용되는)디스플레이 어댑터(70), 클럭(72), 비휘발성(nonvolatile) RAM(74)(이후 "NVRAM"으로 칭해짐), RS232 어댑터, 병렬 어댑터(78), 다수의 타이머(80), 디스켓 어댑터(82), PC 키보드/마우스 제어기(84) 및 판독 전용 메모리(ROM)(86)와 같은 다른 주변장치 구성요소가 접속된다. ROM(86)은 다수의 장치 사이에 사용자 투명 통신(user transparent communication)을 제공하는 BIOS를 포함한다.
시간 계산을 위해 클럭(72)이 사용되며, 시스템 구성 데이타(system configuration data)를 저장하기 위해 NVRAM(74)이 사용된다. 즉, NVRAM은 시스템의 현재 구성을 나타내는 값을 보유할 것이다. 예를 들면, NVRAM(74)은 고정 디스크 혹은 디스켓의 용량, 디스플레이의 유형, 메모리 량 등을 나타내는 정보를 보유한다. 특히 중요하게, NVRAM(74)은 시스템 콘솔 구성을 나타내는데 사용되는 데이타, 즉 PC 키보드가 키보드/마우스 제어기(84)에 접속되었는지의 여부 및 디스플레이 제어기가 사용가능한지 혹은 ASCII 터미날이 RS232 어댑터(76)에 접속되었는지를 나타내는 데이타를 보유한다. 또한, 이들 데이타는 특수한 구성 프로그램(special configuration program)이 수행될 때마다 NVRAM(74)에 저장된다. 구성 프로그램의 목적은 전력이 시스템으로 부터 제거될 때 이 시스템의 구성을 특징지우는 값을 NVRAM(76)으로 저장하는데 있다.
포트 A 및 포트 B 가 키보드/마우스 제어기(84)에 접속된다. 이들 포트는 PC키보드 및 마우스를 PC 시스템에 접속하는데 사용된다. RS232 커넥터가 RS232 어댑터 장치(76)에 접속된다. 선택사양인 ASCII 터미날이 이 커넥터를 통해 시스템에 접속될 수 있다.
퍼스널 컴퓨터(10)는 IBM PS/2 컴퓨터 혹은 IBM RISC SYSTEM/6000 컴퓨터와 같은 임의의 적당한 컴퓨터를 활용하여 구현될 수 있다. 상기 두 컴퓨터는 IBM사의 제품이다. "RISC SYSTEM/6000" 및 "PS/2"는 IBM사의 등록 상표이다.
제 3 도를 참조하면, 본 발명의 바람직한 실시예에 따른 객체 지향 시스템의 객체 블럭도가 도시되어 있다. 객체는 데이타 및 이 데이타상에서 동작하는데 필요한 메쏘드를 캡슐화한다. 객체는 제 3 도에 도시된 바와 같이 "도너츠 다이아그램(doughnut diagram)"으로 도시될 수 있다. 객체 데이타는 적용가능한 메쏘드들(304 내지 314)에 의해 둘러싸인 중심부(302)에 위치한다. 데이타(302)는 그 객체의 메쏘드에 의해서만 수정될 수 있다. 메쏘드(301-314)은 다른 객체로 부터 메시지를 수신하므로써 호출된다. 전형적인 객체 지향 시스템은 객체 사이의 메시지를 라우트하는 메시지 라우터(320)를 가질 것이다. 따라서, 객체(330)는 메시지 라우트하는 메시지 라우터(320)로 전송하여 이 메시지(32)가 객체(300)의 메쏘드 C(308)로 전송되도록 하므로써 메쏘드 C9308)를 호출한다.
객체 프레임워크는 애플리케이션 및 시스템 개발자가 주문받은 시스템(delivered system)을 구성하는데 사용할 수 있는 객체 세트(a set of objects)를 제공하기 위해 구성된다. 예를 들면, IBM SOM 프레임워크는 시스템 개발에 사용하기 위한 언어 독립 객체 세트(a language independent set of objects)를 제공한다.
객체는 관련된 클래스로 그루핑(grouping)된다. 클래스 기술(class description)은 각 객체에 의해 유지되는 인스탄스 변수(instance variables) 및 사용가능한 객체 메쏘드의 기술을 포함하여, 클래스내의 모든 객체에 관한 정보를 포함한다. 객체 인스탄스(object instance)는 상기 정보에 기초하여 생성(혹은 "인스탄스화")되며, 객체 클래스에서 정의된 특성을 갖는다. 예를 들면, 객체 클래스 "DOG"는 인스탄스 변수 "dog_type" 및 "dog_name"과 짓기 메시지에 대한 응답을 구현하는 "bark" 메쏘드를 포함한다. 개의 인스탄스, 예를 들면, ROVER는 인스탄스 변수의 유형 및 명칭을 유지할 것이며, 짓기 메시지에 응답할 것이다.
추상적 객체(abstract object)는 메쏘드를 구현함에 있어 세부사항(details)을 제공함이 없이 클래스에 의해 사용되리라 예상되는 인터페이스 및 메쏘드를 기술하는데 사용된다. 추상적 객체는 세부 내용을 구현(implementation detail)을 구현자에게 맡기는 프레임워크에서 유용한다. 구체적 클래스(concrete classes)는 추상적 클래스의 서브클래스로써 생성되어 이들 클래스를 구현한다.
본 발명은 메뉴 구동 방식(menu-driven approach)을 사용하여 메쏘드 호출을 위한 파라미터를 지정하는 트리 다이아그램을 생성한다. "메쏘드(method)"란 용어는 객체 지향 프로그래밍에서 객체 값을 설정하거나, 자신을 디스플레이하거나, 객체 값을 소거하는 등의 객체가 수행할 수 있는 특정 함수를 식별하는데 사용된다. 이 용어는 통상적인 프로그래밍에서 함수 호출, 프로시져 혹은 서브 루틴의 그것과 유사하다.
제 4 도 및 제 5a-5j 도를 참조하면, 시각 프로그래밍 환경에서 메쏘드 파라미터의 지정을 나타낸 도면이 본 발명의 바람직한 실시예에 따라 도시되어 있다. 먼저 제 4 도를 참조하면, 시각 프로그래밍에서 사용되는 각각 프로그래밍 윈도우인 윈도우(400)가 본 발명의 바람직한 실시예에 따라 도시되어 있다. 본 발명이 구현될 수 있는 시각 프로그래밍 환경의 일 예로 IBM 사의 VisualAge를 들 수 있다. 본 발명이 구현될 수 있는 또 다른 예로는, 미합중국, 캘리포니아 90045-5409, 로스앤젤레스, 9841 에어포트 Blvd 에 위치한 DigTalk 사의 Part Workbench를 들 수 있다. "PARTS Workbench"는 DigTalk 사의 등록 상표이다. 윈도우(400)내에는 GUI 제어부를 보유하는 팔레트(402)가 이 윈도우의 좌측편을 따라 도시되어 있다. 이들 제어부는, 상수 텍스트(constant text), 엔트리 필드(entry field), 메뉴(menus), 메뉴 바(menu bars), 푸시 버튼(push button), 다이알(dials), 슬라이더(sliders), 데이타베이스(databases), 코멘트(comments), 링크(links), 리스트(list), 다이알로그(dialogues), 체크 박스(check boxes), 라디오 버튼(radio buttons) 및 GUI 용 프로그램을 생성하는데 일반적으로 사용되는 또 다른 표준 사용자 인터페이스를 포함할 수 있다. 이들 다양한 제어부에 대한 더 상세한 정보는 IBM 사의 System Application Architecture Common User Access Guide Advance Interface Design Reference에서 찾아볼 수 있다. 이들 제어부는 시각 프로그래밍 환경에서의 사용에 관한 정보는 DigTalk 사가 1992년 6월에 발행한 PARTS Workbench User Guide에서 찾아 볼 수 있다.
사용자는 포인터(406)를 사용하여 제어부를 팔레트(402)로부터 구성 영역(build area)(404)로 드래깅 및 드로핑하므로써 프로그램을 제작할 수 있다. "마우스"란 용어는, 본 명세서에서 사용될 때, 운영 체제가 지원하는 유형의 그래픽 포인팅 장치(graphic pointing device)를 나타내며, 마우스, 트랙 볼(track ball), 라이트 펜(light pen), 터치 스크린(touch screen) 등을 포함하나 이에 한정되는 것은 아니다. 포인팅 장치는 전형적으로 데이타 프로세싱 시스템의 사용자가 데이타 프로세싱 시스템의 GUI와 상호작용하는데 사용된다. "포인터"는 마우스 및 다른 유사 장치에 의해 제어되는 아이콘 이미지(iconic image)를 나타내며, 데이타 프로세싱 시스템의 비디오 디스플레이상에 디스플레이되어 선택되거나 조절될 수 있는 아이콘, 메뉴 등을 시각적으로 가리킨다.
제어부는 제 4 도 및 제 5a-5j 도에 도시된 화살표와 같이, 링크를 사용하여 접속될 수 있다. 소스 혹은 목표 객체를 조작할 때 선택할 수 있는 제어부는 GUI내에서 사용자에게 디스플레이된다. 각 링크는 화살표의 꼬리부분에 위치하는 소스 객체와 화살표의 머리 부분에 위치하는 목표 객체 사이의 관계를 나타낸다. 전형적인 관계는 이벤트-동작 관계이다. 즉, 결과적인 프로그램이 실행되고, 사용자가 포인팅 장치를 이용하여 객체상에서 클릭하는 등의 소정의 이벤트가 소스객체상에 발생할 때, 엔트리 필드와 같은 목표 객체에 의한 동작이 수행된다.
도시된 실시예에서, 프로그램을 구성하는 사용자는 제어부(408, 410)를 구성영역(404)에서 드로깅 및 드로핑했다. "Dolt" 로 표시된 제어부(408)는 소스 객체이며, "TotalField"로 표기된 제어부(410)는 목표 객체이다. 이들 두 객체는 링크(412)를 통해 접속되어 있다. 특히, 제어부(408)는 제어부(410)상의 동작을 트리거(trigger)하기 위해 사용되는 푸시 버튼이며, 본 발명의 바람직한 실시예에 따른 엔트리 필드이다. 제 5a-5j 에 도시된 특정 실시예에서는 제어부(408)상의 어느 이벤트가 제어부(410)상의 어느 동작을 트리거하는데 사용되는지를 지정하는 메쏘드 및 이 동작을 위한 지정 파라미터가 본 발명의 바람직한 실시예에 따라 도시되어 있다. 사용자가 링크(412)를 이용하여 제어부(408,410)사이의 접속을 생성한 후, 사용자에게 윈도우(414)가 제시되며, 이 윈도우는 본 발명의 바람직한 실시예에 따라 동작, 이벤트 및 파라미터를 지정하는데 사용되는 "트리 윈도우"이다.
윈도우(414)는 본 발명의 바람직한 실시예에 따라 객체 및 파라미터를 나타내기 위해 제어 아이콘을 디스플레이한다. 트리 구조는 제 5a-5i도를 참조하면 알 수 있는 바와 같이 아이콘에 의해 디스플레이되는 파리미터와 객체 사이의 연관을 제공한다. 이 트리 구조에서는 제어 아이콘으로 디스플레이된 다수의 노드가 제공되며, 여기서 하나의 노드는 루트 노드(root node)이고 나머지 노드는 서브트리(subtree)라 일컬어지는 분리된 세트(disjoint set)로 분할되며, 이들 서브트리는 자체로 하나의 트리를 형성한다. 서브 트리는 본 발명의 바람직한 실시예에 따라 확장(expand)될 수도 있고 트리의 상부 노드로 부터 붕괴(collapse)될 수도 있다.
제 5a 도를 참조하면, 제어 아이콘(408)(Dolt 버튼), 제어 아이콘(410)(TotalField) 및 링크(412)가 윈도우(414)내에 도시되어 있다. 또한, 제어 아이콘(410)은 자신과 연관된 제 2 제어 아이콘 (416)을 포함한다. 도시된 실시예에서, 윈도우(414)는 윈도우(400)(도시되지 않음)를 겹쳐서 상단 부분에 나타나며, 윈도우(400)에서의 접속은 제 4 도에서 이루어졌다. 초기에, 윈도우(414)는 제어 아이콘(408)명칭 DoltButton 이 제어 아이콘(408)과 연관도니 디폴트 이벤트(413)(제 5 도에서는 "clicked")를 나타내며, 이 디폴트 이벤트에 대해 동작이 정의되게 된다. 또한, 윈도우(414)는 요구되는 동작을 수행할 제어 아이콘(410)의 명칭 즉 TotalField와 제어 아이콘(416)과 연관된 디폴트 동작(415)의 명칭 "clear"를 포함한다.
윈도우(414)에는 또한 링크(412)가 도시되며, 이 링크는 제어 아이콘(408,410)을 접속하여 소스 객체와 목표 객체 사이의 관계를 나타내게 된다. 본 발명의 바람직한 실시예에 따르면, 링크는 사용자의 편이를 위해 제어 아이콘에 의해 도시된 두 객체 사이의 관계를 강화하는데 사용되며, 본 발명에 있어서 반드시 필요한 것은 아니다.
제 5b 도를 참조하면, 사용자는 포인터(406)을 사용하여 디폴트 이벤트(413)를 선택하였는데, 이는 동작이 정의되고 있는 이벤트를 변경하고자 함을 나타낸다. 팝 업 메뉴(418)가 사용자에게 디스플레이되어 제어 아이콘(408)에 의해 도시된 소스 객체가 반응할 수 있는 가능한 이벤트를 리스트해준다. 팝 업 메뉴(418)는 "clicked", "pressed", "released" 및 "new event"를 포함한다. 사용자는 팝 업 메뉴로 부터 제 5B 도에 도시된 "pressed"등을 선택할 수 있다.
다음, 제 5c 도를 참조하면, 사용자는 목표 객체와 연관된 디폴트 객체 메쏘드(415)를 선택하였는데, 이에 의해 팝 업 메뉴(420)가 사용자에게 디스플레이된다. 팝 업 메뉴(420)는 "clear" getValue", "setArea" 및 "setValue" 와 같은 객체 TotalField에 대한 또 다른 동작들의 리스트를 포함하다. 이 시점에서, 사용자는 특정 동작을 선택하는 대신 객체 TotalField상에서 트리거될 수 있는 이벤트를 조사하기로 결정한다. 즉, 사용자가 객체에 대해 요구할 수 있는 하나의 동작은 특정 이벤트가 이 객체상에서 발생한 것을 시뮬레이트(simulate)하는 것이다.
제 5d 도를 참조하면, 사용자는 제어 아이콘(416)을 선택하였으며, 그 결과 팝 업 메뉴(422)가 사용자에게 디스플레이된다. 이 팝 업 메뉴는 다음의 리스트가 목표 객체가 수행할 수 있는 동작의 리스트(팝 업 메뉴(420))일 것인지 혹은 목표 객체가 응답할 수 있는 이벤트 리스트(제 5E 도에 도시된 팝 업 메뉴(424)일 것인지를 사용자가 지정할 수 있도록 해준다. 제 5E 도를 참조하면, 사용자는 제 5D 도의 팝 업 메뉴(422)에서 이벤트 메뉴를 선택하였으며 이에 따라, 팝 업 메뉴(424)가 도시되어 객체 TotalField가 응답할 수 있는 이벤트의 리스트가 디스플레이된다. 이 리스트는 "cleared", "entered" 및 "tabbed" 이벤트를 포함한다.
제 5f 도를 참조하면, 사용자는 이벤트를 사용하지 않기로 선택하였고 대신 전 단계로 복귀하여 팝 업 메뉴(422)로 부터 동작 메뉴를 선택하였다. 따라서, 제 5c 도의 팝 업 메뉴(420)가 디스플레이된다. 동작 "setArea"가 선택되어 그 결과 제 5f 도의 디폴트 메쏘드(415)내에 setArea 명칭이 디스플레이된다. 또한, setArea 동작에 필요한 파라미터의 리스팅이 제어 아이콘(426, 428, 430 및 434)과 함께 디스플레이 된다. 제어 아이콘(426)은 파라미터 x와 연관되어, 제어 아이콘(428)은 파리미터 y와 연관되고, 제어 아이콘(430)은 파라미터 w와 연관되고, 제어 아이콘(432)은 파리미터 h와 연관되며, 제어 아이콘(434)은 setArea 영역의 제어 아이콘(432)은 파라미터 h와 연관되며, 제어 아이콘(434)은 setArea 영역의 색상과 연관된다. 또한, 엔트리 필드(436, 438, 440, 442 및 444)도 디스플레이된다. 도시된 실시예에서, 요구되는 파라미터는 위치(x 및 y), 크기(w 및 h) 및 색상을 포함한다.
이들 파라미터 각각은 사용자에 의해(1) 엔트리 필드(436)에 의해 디스플레이되는 상수 "10"와 같은 특정한 값을 입력한다든지; (2) 특정한 값을 복귀시키는 함수(function)혹은 서브루틴(subroutine)의 명칭을 지정한다든지; (3) 특정한 값을 복귀시키는 동작을 제공하는 객체의 명칭을 사용자가 지정한다든지 ; (4) 특정한 값을 복귀시키는 사용자 작성 스크립트(user-written script)를 지정하는 등의 다수의 방법에 제공될 수 있다. 제 5f 도의 도시된 실시예에서는, 각 파라미터에 대한 디폴트 값은 상수인 것으로 도시되어 있다.
특정한 값을 복귀시키기 위해 또 다른 다양한 방법이 사용될 수도 있음을 이해해야 한다.
제 5g 도를 참조하면, 사용자는 또 다른 객체를 사용하여 제어 아이콘(430)과 연관된 폭 파라미터 w 를 지정하기로 결정하였다. 사용자는 제어 아이콘(430)을 선택하였으며, 이에 따라 팝 업 메뉴(446)가 사용자에게 디스플레이된다. 이 팝 업 메뉴는 본 발명의 바람직한 실시예에 따라 w에 대한 파라미터를 지정하는 여러 다른 방법(alternative methods)들을 디스플레이한다.
다음 제 5h 도를 참조하면, 사용자는 동작 팝 업 메뉴(446)로 부터 동작을 선택하였고, 이에 따라 엔트리 필드(440)내의 상수 "10"은 이 객체의 디폴트 객체이름과 디폴트 동작 이름으로 대치되었다. 이들 명칭 각각은 팝 업 리스트의 구성요소로서 사용자가 이 명칭을 선택할 때 노출된다. 본 발명의 바람직한 실시예에 따르면, 폭 파라미터 w 에 적절한 값을 복귀시키는 여러 다른 객체 및 동작만으로 구성된 리스트가 디스플레이될 수도 있다. 제 5i 도를 참조하면, 디폴트는 Dolt 버튼 객체 및 GetWidth 동작으로서 설정되었다. 제 5i 도에서는, Dolt 버튼을 하나의 선택으로서 포함하는 팝 업 메뉴(440)가 디스플레이된다. 팝 업 메뉴(440)에서는 단지 두 객체의 명칭만이 나타나는데, 그 이유는 윈도우(400)에서의 시각 프로그래밍 시스템에서 이제까지 단지 두 객체만이 정의되었기 때문이다.
사용자가 더 이상 변경을 가하지 않는다면, 결과적인 실행 시간 동작은 아래와 같이 정의된다.
Dolt 버튼이 눌러지면, TotalField는 그의 x 및 y 값이 모두 "10"이 될 것이고, 그 폭은 Dolt 버튼의 폭과 같이 설정될 것이며, 높이는 "100"으로 설정되고, 색상은 "청색"으로 설정될 것이다.
전체적인 효과는, Dolt 버튼의 폭이 시간에 따라 가변적이라면, 버튼이 눌려질 때 마다 TotalField 는 버튼과 동일한 폭이 될 것이다. 그 결과, 사용자는 임의의 통상적인 언어 지향 프로그래밍 방식을 사용하지 않고도 "프로그램"을 생성한 것이된다.
다음 제 5j 도를 참조하면, 제어부(443)는 NowButton과 연관된다. 이 도면은 서브트리를 허용하는 본 발명의 재귀적인 속성(recursive nature)를 나타낸다. NowButton 객체는 트라이앵글(triangle)이라 불리는 동작과 연관된 제어부(447)를 포함한다. 이 동작은 연관된 두 파라미터 h 및 I를 갖는다. 제어부(448, 450)는 이들 파라미터와 연관되어 디스플레이되며, 제어부(443)에 접속된다.
제 6a 도 및 6b 도를 참조하면, 시각 프로그래밍 환경에서 메쏘드 파라미터를 지정하는 프로세스의 흐름도가 본 발명의 바람직한 실시예에 따라 도시되어 있다.
이 프로세서는 메쏘드 파라미터 지정을 위해 사용자에게 트리 윈도우를 디스플레이하므로써 시작된다(단계 600). 이후, 프로세스는 사용자 선택을 획득하게 된다(단계 602). 이후, 프로세스는 소스 객체가 선택되었는지를 판정한다(단계 604). 소스 객체가 선택되었다면, 소스 이벤트 리스트가 디스플레이된다(단계 606). 이후, 프로세스는 사용자가 새로운 소스 이벤트를 선택할 수 있게 해준다(단계 608). 프로세스는 이후 단계(602)로 복귀되어 다른 사용자 선택을 수행하게 된다.
단계(604)를 다시 참조하면, 소스 객체가 선택되지 않았다면, 프로세스는 목표 이벤트가 설정되었는지를 판정한다(단계 610). 목표 이벤트가 사용자에 의해 선택되었다면, 목표 이벤트 리스트가 사용자에게 디스플레이된다(단계 612). 프로세스는 이후 사용자가 새로운 목표 이벤트를 선택할 수 있게 해준다(단계 614). 프로세스는 이후 추가적인 사용자 선택을 위해 단계(602)로 복귀하게 된다.
단계(610)를 다시 참조하면, 목표 이벤트가 선택되지 않았다면, 프로세스는 목표 메쏘드가 선택되었는지를 판정한다(단계 616). 목표 메쏘드가 설정되지 않았다면, 동작/이벤트(action/event:AE) 버튼이 선택되었는지를 판정한다(단계 618). 동작/이벤트 버튼이 선택되었다면, 프로세스는 동작과 이벤트 사이에서 목표 리스트를 토글(toggle)시킨다(단계 620). 프로세스는 이후 단계(604)로 복귀한다. 단계(618)를 다시 참조하면, 동작/이벤트 버튼이 선택되지 않았다면, 프로세스는 붕괴/확장(CE) 버튼이 선택되었는지에 대한 판정을 수행하게 된다(단계 622). CE 버튼이 선택되었다면, 프로세스는 선택된 부분 아래의 트리를 붕괴시키거나 혹은 확장시킬 것이며(단계 624) , 프로세스는 사용자 선택을 획득하기 위해 단계(602)로 복귀할 것이다. 단계(622)를 다시 참조하면, CE 버튼이 선택되지 않았다면, 프로세스는 선택이 이루어지지 않았음을 나타내고, 다음 사용자 이벤트를 획득하며(단계 626), 이후 프로세스는 종결된다.
단계(616)를 참조하면, 목표 메쏘드가 선택되었다면, 프로세스는 메쏘드 리스트를 디스플레이할 것이다(단계 628). 이후, 프로세스는 사용자가 새로운 메쏘드를 선택할 수 있게 해주며(단계 630), 이 메쏘드 및 사용자게 의해 선택된 이 새로운 메쏘드와 연관된 파라미터를 디스플레이한다(단계 632). 프로세스는 이후 디스플레이된 메쏘드 및 파라미터와 연관된 사용자 선택을 획득한다(단계 634). 옵션 버튼이 선택되었는지에 대한 판정이 이루어진다(단계 636). 옵션 버튼이 선택되었다면, 옵션 리스트가 사용자에게 디스플레이된다(단계 638). 프로세스는 이후 이 옵션 리스트로 부터 사용자 선택을 획득한다(단계 640).
이후, 프로세스는 옵션 "동작(action)"이 선택되었는지를 판정한다(단계 642). 이 판정 결과가 "예"이면, 프로세스는 디폴트 객체 및 메쏘드를 디스플레이한다(단계 644). 다음, 프로세스는 사용자가 디폴트 객체를 선택하였는지를 판정한다(단계 646). 사용자가 디폴트 객체를 선택하였다면, 프로세스는 사용자가 다른 객체를 선택하도록 허용하며(단계 648), 프로세스는 단계(634)로 복귀하여 또다른 사용자 선택을 획득한다. 사용자가 디폴트 객체를 선택하지 않았다면, 프로세스는 디폴트 메쏘드가 선택되었는지를 판정한다(단계 650). 사용자가 디폴트 메쏘드를 선택하였다면, 프로세스는 사용자가 다른 메쏘드를 선택할 수 있게 해주며(단계 652), 프로세스는 또 다른 사용자 선택을 획득하기 위해 단계(634)로 복귀한다.
다시 단계(642)를 참조하면, 사용자가 동작 옵션(action option)을 선택하지 않았다면, 프로세스는 사용자가 상수 옵션(constant option)을 선택하였는지를 판정한다. 사용자가 상수 옵션을 선택하였다면, 프로세스는 사용자가 새로운 상수를 입력할 수 있게 해주며(단계 656), 프로세스는 이후 단계(602)로 복귀된다. 단계(654)를 다시 참조하면, 사용자가 상수 옵션을 선택하지 않았다면, 프로세스는 스크립트 옵션이 선택되었다고 가정하며, 사용자가 함수 혹은 스크립트 명칭을 입력하도록 허용하고, 프로세스는 단계(602)로 복귀한다.
단계(636)를 다시 참조하면, 옵션 아이콘이 사용자에 의해 선택되지 않았다면, 프로세스는 파라미터 값이 선택되었는지를 판정한다. 파라미터 값이 선택되지 않았다면, 프로세스는 단계(634)로 복귀하여 사용자 선택을 획득한다. 파라미터 값이 선택되었을 경우, 프로세스는 사용자에 의해 선택된 파라미터 유형을 판정한다(단계 662). 사용자는 파라미터 유형으로서 메쏘드, 상수 또는 함수 혹은 스크립트를 선택할 수 있다. 상수가 파라미터 유형으로 선택되었다면, 프로세스는 사용자가 새로운 상수를 입력할 수 있게 해주며, 이후 단계(602)로 복귀한다. 파라미터 유형으로서 함수 혹은 스크립트를 선택하면 프로세스는 사용자가 함수 혹은 스크립트 명칭을 입력할 수 있게 해주며(단계 658), 프로세스는 이후 단계(602)로 복귀한다. 파라미터 유형으로서의 메쏘드 선택의 결과 프로세스는 단계(628)로 복귀하며, 이전에 도시된 바와 같이 메쏘드 리스트를 디스플레이 한다.
시각 프로그래밍 시스템에서 메쏘드 파라미터를 지정하기 위한 의사 코드(Pseudo code)가 별첨부에 예시되어 있다. 제 4, 5a-5i 및 6a-6b 도는 제 1 도 및 제 2 도에 도시된 데이타 프로세싱 시스템 분야의 당업자에 의해 구현될 수 있다. 본 발명의 프로세스는 또한 데이타 프로세싱 시스템에 의해 판독가능한 프로그램 저장 장치(program storage device)내에서 구현될 수 있다. 프로그램 저장장치는 하드 디스크 드라이브, 플로피 디스크, 광 디스크(optical disk), ROM 및 EPROM 과 같은 여러 유형을 취할 수 있으며, 이들 장치는 당업자에게는 잘 알려져 있다. 프로그램 저장 장치상에 저장된 프로세스는 데이타 프로세싱 시스템에 의해 프로그램 저장 장치가 사용되어 활성화되기 전까지는 휴면상태(dormant)로 존재하게 된다. 예를 들면, 본 발명의 데이타 프로세싱 시스템 실행가능 인스트럭션을 보유하는 하드 드라이브가 데이타 프로세싱 시스템에 접속될 수 있거나 본 발명의 데이타 프로세싱 시스템 실행가능 인스트럭션을 보유하는 플로피 디스크가 데이타 프로세싱 시스템내의 플로피 디스크내에 삽입될수 있거나; 혹은 본 발명의 데이타 프로세싱 시스템 실행가능 인스트럭션을 포함하는 ROM이 I/O 슬롯에 접속된 카드 혹은 어댑터를 거쳐서 데이타 프로세싱 시스템에 접속될 수 있다.
이상 본 발명이 바람직한 실시예에 따라 구체적으로 설명되었지만, 본 발명은 상기 실시에에 한정되는 것은 아니며, 그 사상 및 범주를 이탈하지 않는 범위내에서 여러 가지로 변경 가능함은 물론이다.

Claims (21)

  1. 데이타 프로세싱 시스템(a data processing system)에서, 그래픽 사용자 인터페이스(a graphic user interface)를 사용하여 객체 지향 환경(an object oriented environment)에서 프로그램(a program)을 효율적으로 생성하기 위한 방법에 있어서,
    객체(an object)를 그래픽 방식으로 디스플레이하는 단계 - 상기 객체는 객체 지향 언어(an object-oriented language)로 작성된 메쏘드를 포함하며 상기 메쏘드는 다수의 파라미터(a plurality of parameters)를 가짐 - 와,
    상기 그래픽 방식으로 디스플레이된 객체의 선택에 응답하여 상기 다수의 파라미터내의 각각의 파라미터를 디스플레이하는 단계 - 각각의 파라미터는 상기 그래픽 방식으로 디스플레이된 객체와 시각적으로 연관됨 - 와,
    파라미터에 대한 디스플레이된 아이콘(an icon)의 선택에 응답하여, 상기 다수의 파라미터내의 하나의 파라미터에 대한 선택 항목의 리스트(a list of selections)를 디스플레이하는 단계와,
    상기 선택 항목의 리스트를 사용하여 상기 파라미터의 지정을 허용하는 단계 - 상기 선택 항목의 리스트를 사용하여 지정된 상기 파라미터는 상기 객체에 대한 상기 언어로 상기 메쏘드에 전파됨 - 를 포함하는
    프로그램 생성 방법.
  2. 제 1 항에 있어서,
    객체를 그래픽 방식으로 디스플레이하는 상기 단계는 상기 객체를 나타내기 위해 상기 그래픽 사용자 인터페이스내에 아이콘을 디스플레이하는 단계를 포함하는
    프로그램 생성 방법.
  3. 제 2 항에 있어서,
    각 파라미터를 그래픽 방식으로 디스플레이하는 상기 단계는 상기 다수의 파라미터내의 각 파라미터에 대한 아이콘을 디스플레이하는 단계를 포함하되, 각각의 아이콘은 상기 다수의 파라미터중의 하나를 나타내는
    프로그램 생성 방법.
  4. 제 3 항에 있어서,
    각 파라미터를 그래픽 방식으로 디스플레이하는 상기 단계는 상기 다수의 파라미터에 대한 각각의 아이콘을 트리 구조(a tree structure)로 디스플레이하는 단계를 더 포함하되, 상기 트리 구조내의 각각의 아이콘은 상기 객체를 나타내는 상기 아이콘에 대한 그래픽 접속(a graphical connection)을 갖는
    프로그램 생성 방법.
  5. 제 4 항에 있어서,
    파라미터에 대한 선택 항목의 리스트를 디스플레이하는 상기 단계는 상기 그래픽 사용자 인터페이스내에 팝 업 메뉴(a pop-up menu)를 디스플레이하는 단계를 포함하되, 상기 팝 업 메뉴는 사용자에 의한 선택을 위해 상기 선택 항목의 리스트를 디스플레이하는
    프로그램 생성 방법.
  6. 제 4 항에 있어서,
    파라미터에 대한 선택 항목의 리스트를 디스플레이하는 상기 단계는 상기 선택 항목의 리스트내에 상기 파라미터에 대한 선택 항목으로서 객체 명칭(a name of an object)를 디스플레이하는 단계를 포함하는
    프로그램 생성 방법.
  7. 제 4 항에 있어서,
    파라미터에 대한 선택 항목을 리스트를 디스플레이하는 상기 단게는 상기 선택 항목의 리스트내에 상기 파라미터에 대한 선택 항목으로서 변수(a variable)를 디스플레이하는 단계를 포함하는
    프로그램 생성 방법.
  8. 제 4 항에 있어서,
    파라미터에 대한 선택 항목의 리스트를 디스플레이하는 상기 단계는 상기 선택 항목의 리스트내에 상기 파라미터에 대한 선택 항목으로서 상수(a constant)를 디스플레이하는 단계를 포함하되, 사용자에 의한 상기 상수의 선택은 상기 사용자가 상기 파라미터에 대한 수를 입력하는 것을 허용하는
    프로그램 생성 방법.
  9. 그래픽 사용자 인터페이스를 사용하여 객체 지향 환경에서 프로그램을 효율적으로 생성하기 위한 데이타 프로세싱 시스템에 있어서,
    객체를 디스플레이하는 제 1 디스플레이 수단 - 상기 객체는 객체 지향 언어로 작성된 메쏘드를 포함하며 상기 메쏘드는 다수의 파라미터를 가짐 - 과,
    상기 그래픽 방식으로 디스플레이된 객체의 선택에 응답하여 상기 다수의 파라미터내의 각 파라미터를 그래픽 방식으로 디스플레이하는 제 2 디스플레이 수단 - 상기 각 파라미터는 상기 그래픽 방식으로 디스플레이된 객체와 시각적으로 연관됨 - 과,
    파라미터에 대해 디스플레이된 아이콘의 선택에 응답하여, 상기 다수의 파라미터내의 하나의 파라미터에 대한 선택 항목의 리스트를 디스플레이하는 제 3 디스플레이 수단과,
    상기 선택 항목의 리스트를 사용하여 상기 파라미터의 지정을 허용하는 수단 - 상기 선택 항목의 리스트를 사용하여 지정되는 상기 파라미터는 상기 객체에 대한 상기 언어로 상기 메쏘드에 전파됨 - 을 포함하는
    데이타 프로세싱 시스템.
  10. 제 9 항에 있어서,
    상기 제 1 디스플레이 수단은 상기 객체를 나타내기 위해 상기 그래픽 사용자 인터페이스내에 아이콘을 디스플레이하는 수단을 포함하는
    데이타 프로세싱 시스템.
  11. 제 10항에 있어서,
    상기 제 2 디스플레이 수단은 상기 다수의 파라미터내에 각 파라미터에 대한 아이콘을 디스플레이하는 수단을 포함하되, 각각의 아이콘은 상기 다수의 파라미터 중의 하나를 나타내는
    데이타 프로세싱 시스템.
  12. 제 11 항에 있어서,
    상기 제 3 디스플레이 수단은 상기 다수의 파라미터에 대한 각 아이콘을 트리 구조로 디스플레이하는 수단을 포함하되, 상기 트리 구조내의 각각의 아이콘은 상기 객체를 나타내는 상기 아이콘에 대한 그래픽 접속을 갖는
    데이타 프로세싱 시스템.
  13. 제 12 항에 있어서,
    상기 제 3 디스플레이 수단은 상기 그래픽 사용자 인터페이스내에 팝 업 메뉴를 디스플레이하는 수단을 포함하되, 상기 팝 업 메뉴는 사용자 선택을 위한 상기 선택 항목의 리스트를 디스플레이하는
    데이타 프로세싱 시스템.
  14. 제 12 항에 있어서,
    상기 제 3 디스플레이 수단은 상기 선택 항목의 리스트내에 상기 파라미터에 대한 선택 항목으로서 객체 명칭을 디스플레이하는 수단을 포함하는
    데이타 프로세싱 시스템.
  15. 제 12 항에 있어서,
    상기 제 3 디스플레이 수단은 상기 선택 항목의 리스트내에 상기 파라미터에 대한 선택 항목으로서 변수를 디스플레이하는 수단을 포함하는
    데이타 프로세싱 시스템.
  16. 제 12 항에 있어서,
    상기 제 3 디스플레이 수단은 상기 선택 항목의 리스트내에 상기 파라미터에 대한 선택 항목으로서 상수를 디스플레이하는 수단을 포함하되, 사용자에 의한 상기 상수의 선택은 상기 사용자가 상기 파라미터에 대한 수를 입력하는 것을 허용하는
    데이타 프로세싱 시스템.
  17. 데이타 프로세싱 시스템에서, 그래픽 사용자 인터페이스를 사용하여 객체 지향 환경에서 프로그램을 효율적으로 생성하는 방법에 있어서,
    다수의 객체를 그래픽 방식으로 디스플레이하는 단계 - 상기 객체중 적어도 하나의 객체는 다수의 파라미터를 갖는 메쏘드(a method having a plurality of parameters)을 포함함 - 와,
    상기 적어도 하나의 객체와 연관하여 상기 적어도 하나의 객체에 대한 상기 다수의 파라미터내의 각각의 파라미터를 선택적으로 디스플레이하는 단계 - 상기 다수의 파라미터는 트리 구조를 사용하여 디스플레이됨 - 와,
    상기 다수의 파라미터내의 하나의 파라미터의 선택에 응답하여 상기 하나의 파라미터에 대한 소스 리스트(a list of sources)를 디스플레이하는 단계와,
    상기 소스 리스트를 사용하여 상기 파라미터의 지정을 허용하는 단계 - 상기 파라미터 리스트를 사용하여 지정된 상기 파라미터는 상기 객체에 대한 상기 언어로 상기 메쏘드에 전파됨 - 을 포함하는
    프로그램 생성 방법.
  18. 제 17 항에 있어서,
    다수의 객체를 그래픽 방식으로 디스플레이하는 상기 단계는 각 객체를 나타내기 위해 상기 그래픽 사용자 인터페이스내에 아이콘을 디스플레이하는 단계를 포함하는 프로그램 생성 방법.
  19. 제 18 항에 있어서,
    각 파라미터를 선택적으로 디스플레이하는 상기 단계는 상기 트리 구조내에 상기 다수의 파라미터내의 각 파라미터에 대한 아이콘을 디스플레이하는 단계를 포함하되, 각각의 아이콘은 상기 다수의 파라미터중의 하나를 나타내는
    프로그램 생성 방법.
  20. 제 19 항에 있어서,
    파라미터에 대한 소스 리스트를 디스플레이하는 상기 단계는 상기 그래픽 사용자 인터페이스내에 팝 업 메뉴를 디스플레이하는 단계를 포함하되, 상기 팝 업 메뉴는 사용자에 의한 선택을 위해 상기 소스 리스트를 디스플레이하는
    프로그램 생성 방법.
  21. 그래픽 사용자 인터페이스를 사용하여 객체 지향 환경에서 프로그램을 효율적으로 생성하는 데이타 프로세싱 시스템에 있어서,
    다수의 객체를 그래픽 방식으로 디스플레이하는 제 1 디스플레이 수단 - 상기 다수의 객체중 적어도 하나의 객체는 다수의 파라미터를 갖는 메쏘드를 포함함 - 과,
    상기 적어도 하나의 객체와 연관하여 상기 적어도 하나의 객체에 대한 상기 다수의 파라미터내의 각각의 파라미터를 선택적으로 디스플레이하는 제 2 디스플레이 수단 - 상기 다수의 파라미터는 트리 구조를 사용하여 디스플레이됨 - 과,
    상기 다수의 파라미터내의 하나의 파라미터의 선택에 응답하여 상기 하나의 파라미터의 소스 리스트를 디스플레이하는 제 3 디스플레이 수단과,
    상기 소스 리스트를 사용하여 상기 파라미터의 지정을 허용하는 지정 수단 - 상기 파라미터 리스트를 사용하여 지정된 상기 파라미터는 상기 객체에 대한 상기 언어로 상기 메쏘드에 전파됨 - 을 포함하는
    데이타 프로세싱 시스템.
KR1019950046451A 1994-12-05 1995-12-04 데이타 프로세싱 시스템 및 프로그램 생성방법 KR100228938B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/349,284 1994-12-05
US08/349,284 US5537630A (en) 1994-12-05 1994-12-05 Method and system for specifying method parameters in a visual programming system
US08/349,284 1994-12-05

Publications (2)

Publication Number Publication Date
KR960025208A KR960025208A (ko) 1996-07-20
KR100228938B1 true KR100228938B1 (ko) 1999-11-01

Family

ID=23371694

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950046451A KR100228938B1 (ko) 1994-12-05 1995-12-04 데이타 프로세싱 시스템 및 프로그램 생성방법

Country Status (3)

Country Link
US (1) US5537630A (ko)
JP (1) JP3256426B2 (ko)
KR (1) KR100228938B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100663655B1 (ko) 1998-07-31 2007-01-03 소니 유나이티드 킹덤 리미티드 데이터 처리 방법 및 데이터 처리 장치
KR100694381B1 (ko) 2004-02-26 2007-03-12 미츠비시덴키 가부시키가이샤 그래피컬 프로그래밍 장치 및 프로그래머블 표시기

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2692782B2 (ja) 1993-12-13 1997-12-17 インターナショナル・ビジネス・マシーンズ・コーポレイション オブジェクトをリンクする方法
US6014138A (en) * 1994-01-21 2000-01-11 Inprise Corporation Development system with methods for improved visual programming with hierarchical object explorer
US5642511A (en) * 1994-12-16 1997-06-24 International Business Machines Corporation System and method for providing a visual application builder framework
US5668998A (en) * 1995-04-26 1997-09-16 Eastman Kodak Company Application framework of objects for the provision of DICOM services
US5721853A (en) * 1995-04-28 1998-02-24 Ast Research, Inc. Spot graphic display element with open locking and periodic animation
US6678880B1 (en) 1995-05-08 2004-01-13 Apple Computer, Inc. System for iteratively designing an object heterarchy in an object-oriented computing environment
US6266808B1 (en) * 1995-06-05 2001-07-24 International Business Machines Corporation Computer program product for enabling the construction of dialogs for commands and templates
US6543046B1 (en) * 1995-07-20 2003-04-01 Accenture Llp Apparatus and method for navigating objects within a computer-implemented object environment
US6272672B1 (en) * 1995-09-06 2001-08-07 Melvin E. Conway Dataflow processing with events
US5726883A (en) * 1995-10-10 1998-03-10 Xerox Corporation Method of customizing control interfaces for devices on a network
US5822587A (en) * 1995-10-20 1998-10-13 Design Intelligence, Inc. Method and system for implementing software objects
US5764226A (en) * 1995-12-29 1998-06-09 International Business Machine Corp. Reusable and modifiable data entry interface part
US5802334A (en) * 1996-01-05 1998-09-01 International Business Machines Corporation Method for displaying object oriented class information and content information
US6185728B1 (en) * 1996-01-31 2001-02-06 Inprise Corporation Development system with methods for type-safe delegation of object events to event handlers of other objects
US5946485A (en) * 1996-02-09 1999-08-31 Intervoice Limited Partnership Enhanced graphical development environment for controlling program flow
US6091895A (en) * 1996-03-27 2000-07-18 International Business Machines Corporation Object oriented central maintenance for programs and scripts
US6113649A (en) * 1996-03-27 2000-09-05 International Business Machines Corporation Object representation of program and script components
US7987427B1 (en) * 1996-05-10 2011-07-26 Apple Inc. Graphical editor for program files
JP3427918B2 (ja) * 1996-07-02 2003-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム開発支援システム及び支援方法
JP3441309B2 (ja) * 1996-09-13 2003-09-02 株式会社山武 図的プログラミングにおける機能オブジェクトの表示方法
US5907706A (en) * 1996-11-12 1999-05-25 International Business Machines Corporation Interactive modeling agent for an object-oriented system
US5917498A (en) * 1996-11-12 1999-06-29 International Business Machines Corporation Multi-object views in an object modeling tool
US6011559A (en) * 1996-11-12 2000-01-04 International Business Machines Corporation Layout method for arc-dominated labelled graphs
US5983016A (en) * 1996-11-12 1999-11-09 International Business Machines Corporation Execution engine in an object modeling tool
US5893913A (en) * 1996-11-12 1999-04-13 International Business Machines Corporation Method for synchronizing classes, objects, attributes and object properties across an object-oriented system
US6243763B1 (en) 1996-11-12 2001-06-05 International Business Machines Corporation Method for sending a message to a group and the group broadcasts the message to its members or references within an object-oriented system
US5991536A (en) * 1996-11-12 1999-11-23 International Business Machines Corporation Object-oriented tool for registering objects for observation and causing notifications to be made in the event changes are made to an object which is being observed
US6263486B1 (en) * 1996-11-22 2001-07-17 International Business Machines Corp. Method and system for dynamic connections with intelligent default events and actions in an application development environment
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US6480600B1 (en) 1997-02-10 2002-11-12 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
US5913063A (en) * 1997-02-26 1999-06-15 Oracle Corporation Drag and drop object subclassing
US6212672B1 (en) * 1997-03-07 2001-04-03 Dynamics Research Corporation Software development system with an executable working model in an interpretable intermediate modeling language
CN1219252A (zh) 1997-03-11 1999-06-09 三菱电机株式会社 直观编程方法及其系统
US6026233A (en) * 1997-05-27 2000-02-15 Microsoft Corporation Method and apparatus for presenting and selecting options to modify a programming language statement
US6195794B1 (en) 1997-08-12 2001-02-27 International Business Machines Corporation Method and apparatus for distributing templates in a component system
US6182279B1 (en) 1997-08-12 2001-01-30 International Business Machines Corporation Method and apparatus for storing templates in a component system
US6093215A (en) * 1997-08-12 2000-07-25 International Business Machines Corporation Method and apparatus for building templates in a component system
US6331864B1 (en) * 1997-09-23 2001-12-18 Onadime, Inc. Real-time multimedia visual programming system
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US6898782B1 (en) 1997-10-14 2005-05-24 International Business Machines Corporation Reference-based associations using reference attributes in an object modeling system
US6097887A (en) 1997-10-27 2000-08-01 Kla-Tencor Corporation Software system and method for graphically building customized recipe flowcharts
US5999730A (en) * 1997-10-27 1999-12-07 Phoenix Technologies Limited Generation of firmware code using a graphic representation
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US5943048A (en) * 1997-11-19 1999-08-24 Microsoft Corporation Method and apparatus for testing a graphic control area
US6256772B1 (en) * 1997-11-24 2001-07-03 International Business Machines Corporation Multilingual hierarchial scripting environment
JP2000020424A (ja) * 1998-06-26 2000-01-21 Class Technology:Kk アプリケーション間通信システム、アプリケーション間通信方法、及びアプリケーション間通信方法を記録したコンピュータ読み取り可能な記録媒体
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US6332154B2 (en) 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US6407761B1 (en) 1999-05-10 2002-06-18 Sap Aktiengesellschaft System and method for the visual customization of business object interfaces
US6931625B1 (en) * 1999-10-05 2005-08-16 Borland Software Corporation Method and system for collapsing a graphical representation of related elements
US6624829B1 (en) * 1999-10-29 2003-09-23 Agilent Technologies, Inc. System and method for specifying trigger conditions of a signal measurement system using hierarchical structures on a graphical user interface
US7929978B2 (en) 1999-12-01 2011-04-19 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
AU2001239976A1 (en) * 2000-03-02 2001-09-12 Wind River Systems, Inc. System and method for common code generation
US7009626B2 (en) * 2000-04-14 2006-03-07 Picsel Technologies Limited Systems and methods for generating visual representations of graphical data and digital document processing
WO2001086592A2 (en) * 2000-05-09 2001-11-15 Hnc Software Inc. Approach for generating rules
US7127704B2 (en) * 2000-06-02 2006-10-24 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US6782528B1 (en) 2000-06-16 2004-08-24 International Business Machines Corporation Method and system for visual programming using a relational diagram
AU2002238152A1 (en) * 2000-09-02 2002-03-22 Emageon, Inc. Methods and apparatus for streaming dicom images through data element sources and sinks
US7150007B2 (en) * 2000-09-11 2006-12-12 Microsoft Corporation Universal routine for reviewing and exercising software objects
US6751787B1 (en) * 2000-10-13 2004-06-15 Intervoice Limited Partnership Graphical programming language for representations of concurrent operations
US20020057269A1 (en) * 2000-11-15 2002-05-16 Barber Glenn A. Method and apparatus for identifying the selection and exclusion of elements of complex sets
US6772408B1 (en) * 2000-11-22 2004-08-03 Hyperion Solutions Corporation Event model using fixed-format text strings to express event actions
US7000199B2 (en) * 2001-05-09 2006-02-14 Fairisaac And Company Inc. Methodology for viewing large strategies via a computer workstation
AUPR605901A0 (en) * 2001-07-03 2001-07-26 Choo, Yun Peng Grouped assembler for machine code
US7337430B2 (en) * 2001-07-20 2008-02-26 The Mathworks, Inc. Optimized look-up table calculations in block diagram software
US7117479B2 (en) * 2001-10-01 2006-10-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
EP1343079A1 (de) * 2002-03-07 2003-09-10 Infix Software-Systeme GmbH Verfahren, Software-Produkt und System zur universellen computergestützen Informationsverarbeitung
US20040003374A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Efficient computation of character offsets for token-oriented representation of program code
US7386834B2 (en) * 2002-06-28 2008-06-10 Sun Microsystems, Inc. Undo/redo technique for token-oriented representation of program code
US20040003373A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Token-oriented representation of program code with support for textual editing thereof
EP1391815A1 (en) * 2002-08-22 2004-02-25 Abb Research Ltd. Method and system for filtering aspects in structures of a software system
US7272818B2 (en) 2003-04-10 2007-09-18 Microsoft Corporation Creation of an object within an object hierarchy structure
WO2004097627A2 (en) * 2003-05-01 2004-11-11 Maz Laboratory A method of representing data flow between programming objects in a hierarchical display
US20040225998A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Undo/Redo technique with computed of line information in a token-oriented representation of program code
US20040225997A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Efficient computation of line information in a token-oriented representation of program code
US7681112B1 (en) 2003-05-30 2010-03-16 Adobe Systems Incorporated Embedded reuse meta information
US7165238B2 (en) 2003-06-06 2007-01-16 Intentional Software Corporation Method and system for organizing and manipulating nodes by category in a program tree
US20050044527A1 (en) * 2003-08-22 2005-02-24 Gerardo Recinto Code Units based Framework for domain- independent Visual Design and Development
US20050096950A1 (en) * 2003-10-29 2005-05-05 Caplan Scott M. Method and apparatus for creating and evaluating strategies
US20050114832A1 (en) * 2003-11-24 2005-05-26 Microsoft Corporation Automatically generating program code from a functional model of software
US8291375B2 (en) * 2004-03-29 2012-10-16 Sybase, Inc. Attribute-based component programming system and methodology for object-oriented languages
US20050251796A1 (en) * 2004-05-07 2005-11-10 International Business Machines Corporation Automatic identification and reuse of software libraries
EP1610219A1 (de) * 2004-06-23 2005-12-28 Renner, Peter Programmiersystem
US8068103B2 (en) * 2004-06-24 2011-11-29 Apple Inc. User-interface design
US8130237B2 (en) * 2004-06-24 2012-03-06 Apple Inc. Resolution independent user interface design
US8566732B2 (en) 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
US8453065B2 (en) 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US8302020B2 (en) 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US8239749B2 (en) 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US7546543B2 (en) 2004-06-25 2009-06-09 Apple Inc. Widget authoring and editing environment
US7761800B2 (en) 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US20060149301A1 (en) * 2005-01-05 2006-07-06 Claus Michael J Phacoemulsification system utilizing graphical user interfaces for adjusting pulse parameters
US8140975B2 (en) 2005-01-07 2012-03-20 Apple Inc. Slide show navigation
US7471646B2 (en) 2005-01-10 2008-12-30 Microsoft Corporation System and methods for inline property editing in tree view based editors
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
CN101203862B (zh) * 2005-06-28 2011-03-23 埃克森美孚上游研究公司 用于油井管理编程的高级图形编程语言和工具
US7743336B2 (en) 2005-10-27 2010-06-22 Apple Inc. Widget security
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US8543824B2 (en) 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US9104294B2 (en) 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US7605815B1 (en) 2006-01-03 2009-10-20 Emc Corporation Selection representation methods applied to logical groupings
US7526495B2 (en) * 2006-01-03 2009-04-28 Emc Corporation Real-time construction of a selection representation for items in tree structures
US7620646B1 (en) 2006-01-03 2009-11-17 Emc Corporation Real-time construction of a selection representation for items in tree structures
US7574445B2 (en) * 2006-01-03 2009-08-11 Emc Corporation Generating a selection representation for items in tree structures
US20070186183A1 (en) * 2006-02-06 2007-08-09 International Business Machines Corporation User interface for presenting a palette of items
US8155682B2 (en) * 2006-05-05 2012-04-10 Research In Motion Limited Handheld electronic device including automatic mobile phone number management, and associated method
US8869027B2 (en) 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
US20080052623A1 (en) * 2006-08-22 2008-02-28 Michael Gutfleisch Accessing data objects based on attribute data
US7831526B1 (en) 2006-08-25 2010-11-09 Fair Isaac Corporation Article and method for finding a compact representation to visualize complex decision trees
US20080168367A1 (en) * 2007-01-07 2008-07-10 Chaudhri Imran A Dashboards, Widgets and Devices
US9411903B2 (en) * 2007-03-05 2016-08-09 Oracle International Corporation Generalized faceted browser decision support tool
US20080222237A1 (en) * 2007-03-06 2008-09-11 Microsoft Corporation Web services mashup component wrappers
US20080222599A1 (en) * 2007-03-07 2008-09-11 Microsoft Corporation Web services mashup designer
EP2012227A1 (de) * 2007-07-03 2009-01-07 Peter Renner Programmieroberfläche zum Programmieren von Computern
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US8667415B2 (en) 2007-08-06 2014-03-04 Apple Inc. Web widgets
US8156467B2 (en) * 2007-08-27 2012-04-10 Adobe Systems Incorporated Reusing components in a running application
US8312389B2 (en) 2007-08-31 2012-11-13 Fair Isaac Corporation Visualization of decision logic
US8200609B2 (en) * 2007-08-31 2012-06-12 Fair Isaac Corporation Construction of decision logic with graphs
US8266090B2 (en) 2007-08-31 2012-09-11 Fair Isaac Corporation Color-coded visual comparison of decision logic
US8176466B2 (en) 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
EP2085879A1 (de) * 2008-02-04 2009-08-05 Siemens Aktiengesellschaft Verfahren zum Betrieb eines Programmiergerätes, Computerprogramm zur Implementierung des Verfahrens und nach dem Verfahren arbeitendes Programmiergerät oder Programmiergeräte mit einem solchen Computerprogramm
US9619304B2 (en) 2008-02-05 2017-04-11 Adobe Systems Incorporated Automatic connections between application components
US20110302514A1 (en) * 2008-03-11 2011-12-08 Creative Information Technology Method for designing a graphical interface program
US8656293B1 (en) 2008-07-29 2014-02-18 Adobe Systems Incorporated Configuring mobile devices
US8237716B2 (en) * 2008-09-08 2012-08-07 Fair Isaac Corporation Algorithm for drawing directed acyclic graphs
US8280836B2 (en) 2008-09-08 2012-10-02 Fair Isaac Corporation Converting unordered graphs to oblivious read once ordered graph representation
US8730241B2 (en) * 2008-09-08 2014-05-20 Fair Isaac Corporation Techniques for drawing curved edges in graphs
US8230357B2 (en) * 2008-12-18 2012-07-24 Microsoft Corporation Visually processing instance data
JP2013003596A (ja) * 2011-06-10 2013-01-07 Sony Corp 情報処理装置、プログラム及び情報処理方法
US9575639B2 (en) * 2014-02-27 2017-02-21 Ab Initio Technology Llc Compound controls
US10073680B2 (en) * 2014-06-25 2018-09-11 Rakuten, Inc. Information processing device, information processing method, program, and storage medium
US10163170B2 (en) * 2015-08-19 2018-12-25 Sap Se Method and system for designing a product configuration
US10025689B2 (en) * 2016-01-22 2018-07-17 International Business Machines Corporation Enhanced policy editor with completion support and on demand validation

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829423A (en) * 1983-01-28 1989-05-09 Texas Instruments Incorporated Menu-based natural language understanding system
US5261042A (en) * 1986-03-27 1993-11-09 Wang Laboratories, Inc. Menu management system
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US4831524A (en) * 1986-06-24 1989-05-16 Westinghouse Electric Corp. Logic diagram compiler/executor
US5206950A (en) * 1988-09-23 1993-04-27 Gupta Technologies, Inc. Software development system and method using expanding outline interface
US5070534A (en) * 1988-10-17 1991-12-03 International Business Machines Corporation Simplified cad parametric macroinstruction capability including variational geometrics feature
US5237654A (en) * 1990-04-17 1993-08-17 International Business Machines Corporation Hierarchical inter-panel process flow control
US5208910A (en) * 1990-04-19 1993-05-04 International Business Machines Menu driven and method system for informing which past selections have caused disabled actions
US5313574A (en) * 1990-06-13 1994-05-17 Hewlett-Packard Company Method for starting processing of an iconic programming system
US5237691A (en) * 1990-08-01 1993-08-17 At&T Bell Laboratories Method and apparatus for automatically generating parallel programs from user-specified block diagrams
US5327529A (en) * 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs
US5377318A (en) * 1991-02-28 1994-12-27 Hewlett-Packard Company Line probe diagnostic display in an iconic programming system
US5293476A (en) * 1991-03-12 1994-03-08 Hewlett-Packard Co. System for entering and modifying variable names for terminals of icons in an iconic programming system
US5339433A (en) * 1992-11-19 1994-08-16 Borland International, Inc. Symbol browsing in an object-oriented development system
US5450540A (en) * 1992-12-16 1995-09-12 Apple Computer, Inc. Graphical interface for interacting constrained actors

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100663655B1 (ko) 1998-07-31 2007-01-03 소니 유나이티드 킹덤 리미티드 데이터 처리 방법 및 데이터 처리 장치
KR100694381B1 (ko) 2004-02-26 2007-03-12 미츠비시덴키 가부시키가이샤 그래피컬 프로그래밍 장치 및 프로그래머블 표시기

Also Published As

Publication number Publication date
JP3256426B2 (ja) 2002-02-12
JPH08292880A (ja) 1996-11-05
KR960025208A (ko) 1996-07-20
US5537630A (en) 1996-07-16

Similar Documents

Publication Publication Date Title
KR100228938B1 (ko) 데이타 프로세싱 시스템 및 프로그램 생성방법
US5590330A (en) Method and system for providing a testing facility in a program development tool
US6185728B1 (en) Development system with methods for type-safe delegation of object events to event handlers of other objects
US6804686B1 (en) System and methodology for providing fixed UML layout for an object oriented class browser
CA2149463C (en) Class library for use in graphics programming
US5432903A (en) Object browsing and a filter interface using a displayed dip switch in an object-oriented development sytem
US6968536B2 (en) Frame component container
US7240328B2 (en) System and method for visual application development without programming
US5850548A (en) System and methods for visual programming based on a high-level hierarchical data flow model
US6131185A (en) Method and system for visually debugging on object in an object oriented system
US8856667B2 (en) Graphical state machine based programming for a graphical user interface
US20040031019A1 (en) Debugger for a graphical programming environment
JPH08137646A (ja) ダイアログ・ボックスの表示方法及びシステム
US20050060685A1 (en) Program generator
EP0602845A2 (en) Message dispatching in an event driven architecture
Wielemaker et al. Programming in XPCE/Prolog
JP4339376B2 (ja) オブジェクト指向カーソル・ツール
CA2144878A1 (en) Dynamic browser system
CN112199097B (zh) 安装包生成方法、装置、计算机设备和存储介质
Myers et al. The Amulet reference manuals
EP0721161A2 (en) Managing dynamic state variables of reactive objects
Ushakov et al. Visual programming in R-technology: Concepts, systems and perspectives
Myers et al. Debugging Interactive Applications
Kacsuk et al. Enhancing GRADE towards a professional parallel programming environment
Chan Porting an application framework to the X Window System using the X Library

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20020608

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee