KR900006667B1 - 부분적 프로그램 결합 시스템 - Google Patents

부분적 프로그램 결합 시스템 Download PDF

Info

Publication number
KR900006667B1
KR900006667B1 KR1019870010434A KR870010434A KR900006667B1 KR 900006667 B1 KR900006667 B1 KR 900006667B1 KR 1019870010434 A KR1019870010434 A KR 1019870010434A KR 870010434 A KR870010434 A KR 870010434A KR 900006667 B1 KR900006667 B1 KR 900006667B1
Authority
KR
South Korea
Prior art keywords
program
unit
combining
coupling
special
Prior art date
Application number
KR1019870010434A
Other languages
English (en)
Other versions
KR880004374A (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 KR880004374A publication Critical patent/KR880004374A/ko
Application granted granted Critical
Publication of KR900006667B1 publication Critical patent/KR900006667B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Abstract

내용 없음.

Description

부분적 프로그램 결합 시스템
제1도는 본 발명의 실시예에 따른 부분적 프로그램 결합 시스템의 블럭도.
제2도는 제1도에 도시한 시스템의 동작을 설명하기 위한 플로우 챠트.
* 도면의 주요부분에 대한 부호의 설명
1 : 결합 정보 입력부 2 : 결합 정보 기억부
3 : 지정 프로그램 존재 판정부 4 : 지정 프로그램 결합부
5 : 특수 프로그램 결합부 6 : 특수프로그램
7 : 디코더부
본 발명은 프로그램 결합 시스템에 관한 것으로, 더욱 상세하게 말하면 다수의 유니트(unit)프로그램을 부분적으로 결합시키기 위한 시스템에 관한 것이다.
종래의 컴퓨터 시스템내에서, 1개의 실행 포오맷을 갖고 있는 단일 프로그램을 형성하고 단일 프로그램을 실행하기 위해 다수의 유니트 프로그램들을 결합시키기 위해서 유니트 프로그램의 명칭 및 유니트 프로그램을 기억하는 수단의 명칭은 결합중에 컴퓨터 시스템에 부여된다. 종래의 결합 시스템에 있어서, 소정의 유니트 프로그램에 결합될 유니트 프로그램이 프로그램 라이브러리(program library)와 같은 프로그램 기억 수단내에 존재하지 않으면, 실행 포오맷을 갖고 있는 프로그램이 발생되고, 지정된 컴퓨터프로그램은 소정의 프로그램에 결합되지 않는다. 프로그램 실행중에, 제어가 호출(call)명령과 같은 제어 쉬프트(shift)정보에 의해 지정된 유니트 프로그램으로 쉬프트되면, 실행 에러(error)가 발생하여, 후속 동작이 수행될 수 없다. 실행 에러가 발생하면, 이 에러가 지정된 프로그램의 비결합에 의해 발생되는지 또는 이 에러가 다른 원인에 의해 발생되는지는 결정될 수 없다.
여기에서, 일반적인 오브젝트 프로그램의 논리 구조는 프로그램 자체의 명칭, 자체를 호출하는 다른 프로그램 명칭의 정보(외부 호출 정보), 오브젝트 코드등으로 구성되어 있다. 통상적인 컴파일러(compiler)는 소오스 프로그램을 번역하고, 오브젝트 프로그램으로서 컴퓨터 고유의 명령 집합을 생성하지만, 이 고유 명령의 형식은 통상적인 명령 부분과 어드레스 부분을 갖고 있다. 이 어드레스 부분은 겅퓨더중의 메모리 공간 장소를 나타내는 것이다. 컴파일러는 오브젝트 프로그램으로서 어드레스 부분의 값으로서 상대적인 값(컴파일중의 프로그램)을 생성하여 출력시킨다. 따라서 오브젝트 프로그램 자체로는 프로그램을 실행할 수 없었다.
그러므로, 제어 쉬프트 정보에 의해 지정된 유니트 프로그램이 종래의 프로그램 결합 시스템내에 존재하지 않을때 실행 에러를 발생시키지 않고서 다른 결합된 유니트 프로그램만을 실행하기 위해 다음의 방법들이 사용되어야 한다.
(1) 최초 프로그램이 유니트 프로그램을 호출하지 않도록 수정된 다음, 결합 동작이 다시 실행된다.
(2) 소정의 명칭을 갖고 있는 모조(dummy)프로그램이 부재 유니트 프로그램마다 발생되고, 프로그램 기억 수단내에 기억된다.
그러나, 상술한 종래 방법(1)에 있어서, 최초 프로그램은 수정되어야 하고, 조작이 번거롭다. 이와 동시에, 에러들은 수정 중에 발생할 수 있다.
상술한 종래 방법(2)에 있어서, 소정의 명칭을 갖고 있는 모조 프로그램은 부재 유니트 프로그램내의 유니트들내에 발생되어야 한다. 부재 유니트 프로그램 수가 증가되면, 모조 프로그램 수는 증가되고, 준비과정들이 복잡해진다. 부수적으로, 명칭이 변경되면, 모조프로그램이 수정되어야 한다.
본 발명의 목적은 이 시스템내에서 결합될 유니트 프로그램이 프로그램 기억 수단내에 존재하지 않더라도 실행 에러를 발생시키지 않고서 정상적으로 결합된 유니트 프로그램들만이 실행될 수 있어서, 상술한 종래의 결점을 제거하고, 유니트 프로그램들을 부분적으로 결합시키기 위한 간단한 시스템을 제공하기 위한 것이다.
본 발명에 따른 부분적 프로그램 결합 시스템은 프로그램 결합중에 결합 정보를 입력시키기 위한 결합 정보 입력수단, 결합 정보 입력 수단으로부터 입력된 결합 정보를 기억하는 결합 정보 기억수단, 결합 정보 기억수단내에 기억된 결합 정보에 의해 지정된 프로그램이 프로그램 기억수단내에 존재하는지의 여부를 판정하기 위한 존재 판정 수단, 프로그램이 존재 판정수단에 의해 존재하는 것으로 판정될 때 결합 정보에 의해 지정된 프로그램을 결합시키기 위한 지정 프로그램 결합 수단, 및 존재 판정수단에 의해 판정된 부재 프로그램 대신에 미리 준비된 특수 프로그램의 결합을 수행하기 위한 특수 프로그램 결합 수단을 포함한다.
이하, 첨부도면을 참조하여 본 발명에 대해서 상세하게 기술하겠다.
제1도는 본 발명의 실시예에 따른 부분적 프로그램 결합 시스템의 블럭도이고, 제2도는 제1도에 도시한 동작을 설명하기 위한 플로우챠트이다. 제1도를 참조하면, 입력 장비(CS)(예를 들어, 콘솔), 프로그램라이브러리(PL), 및 결합 프로그램 출력 파일(PF)은 프로그램 결합 메카니즘(LK)에 접속된다. 프로그램결합 메카니즘(LK)는 결합 정보 입력부(1), 결합 정보 기억부(2), 지정 프로그램 존재 판정부(3), 지정 프로그램 결합부(4), 특수 프로그램 결합부(5), 특수 프로그램(6), 및 디코더부(7)을 포함한다.
제1도를 참조하면, 프로그램 결합이 수행될때, 사용자는 입력 장비(CS)로부터의 필요한 데이타를 입력시킨다. 이 필요한 데이타는 유니트 프로그램이 기억되는 라이브러리의 명칭, 실행 개시 어드레스를 포함하는 유니트 프로그램의 명칭, 및 실행 포오맷을 갖고 있는 결합 프로그램을 기억하기 위한 파일의 명칭을 포함하고, 프로그램 결합 메카니즘(LK)에 공급됨으로 프로그램 결합 메카니즘(LK)를 개시하게 된다.
프로그램 결합 메카니즘(LK)가 개시되면, 디코더부(7)은 명령을 디코드하고, 디코드된 내용 및 프로그램라이브러리(PL)내에 기억된 유니트 프로그램의 내용으로부터 결합 정보를 추출한다. 이 결합 정보는 어떤 유니트 프로그램이 어떤 유니트 프로그램을 억세스하는지를 나타낸다. 결합 정보 및 제어 정보는 결합 정보입력부(1)에 공급된다.
결합 정보 입력부(1)이 디코더부(7)로부터 결합 정보를 수신하면, 입력부(1)은 결합정보를 결합 정보 기억부(2)로 전송한다. 결합 정보 기억부(2)는 수신 결합정보를 기억하고. 지정 프로그램 존재 판정부(3)은 기동(start)된다.
지정 프로그램 존재 판정부(3)이 기동되면, 제2도의 단계(31)에서 프로그램 라이브러리(PL)내의 결합정보에 의해 지정된 유니트 프로그램을 탐색한다. 단계(32)에서 예(Yes)이면, 즉 지정 프로그램이 라이브러리 파일내에 존재하는 것으로 결정되면, 지정 프로그램 결합부(4)는 지정 프로그램을 억세스하도록 기동된다 [단계(41)]. 그러나, 단계(32)에서 아니오(No) 이면, 특수 프로그램 결합부(5) 가 기동된다[단계(51)] 단계(41)에서, 지정 프로그램 결합부(4)는 프로그램 라이브러리(PL)로부터 지정 프로그램을 호출하고, 이 지정 프로그램을 지정 프로그램과 결합될 유니트 프로그램과 결합시킨다[단졔(42)].
단계(51)에서, 특수 프로그램 결합부(5)는 이리 준비된 특수 프로그램(6)을 호출한다. 결합부(5)는 단계(52)에서 특수 프로그램(6)을 이 특수 프로그램과 결합될 유니트 프로그램과 결합시킨다
이 실시예의 동작에 대해서 다음의 가정하에서 상세하게 기술하겠다. 프로그램(A,B 및 C)가 프로그램라이브러리(PL)내에 존재하고, 주 프로그램(A)가 유니트 프로그램(B와 C), 및 유니트 프로그램(D와 E)를 호출한다고 가정하면, 유니트 프로그램(D와 E)는 프로그램 라이브러리 (PL)내에는 존재하지 않는다.
제1도를 참조하면, 결합 정보 입력부(1)은 "B가 호출되고 있다"는 것을 나타내는 정보(이하, 정보 호출-B라함)를 입력하면, 결합정보 기억부(2)는 정보 호출-B를 기억하고, 지정 프로그램 존재 판정부(3)은 프로그램 라이브러리(PL)내에서 유니트 프로그램(B)를 탐색한다. 유니트 프로그램(B)가 프로그램 라이브러리(PL)내에 존재하기 때문에, 지정 프로그램 결합부(4)는 유니트 프로그램(B)를 주 프로그램(A)와 결합시킨다. 이와 유사하게, 유니트 프로그램(C)는 주 프로그램(A)에 결합된다.
결합 정보 입력부(1)이 정보 호출-D를 입력하면, 결합 정보 기억부(2)는 정보 호출-D를 기억하고, 지정 프로그램 존재 판정부(3)은 프로그램 라이브러리(PL)내에서 유니트 프로그램(D)를 탐색한다 그러나, 유니트 프로그램(D)는 프로그램 라이브러리(PL)내에 존재하지 않는다. 이 경우에, 유니트 프로그램(D)의 부재가 판정되고, 특수 프로그램 결합부(5)는 주 프로그램(A)를 미리 준비된 특수 프로그램[이 프로그램은프로그램(X)로 가정됨]과 결합시킨다. 이와 유사하게, 결합 정보 입력부(1)이 정보 호출-E를 입력하면, 프로그램(E)는 프로그램 라이브러리(PL)내에 존재하지 않는다. 특수 프로그램 결합부(5)는 주프로그램(A)를 프로그램(X)와 결합시킨다.
상기 결합 동작들이 수행된 후에 주프로그램(A)가 실행된다고 가정한다. 주프로그램(A)가 유니트 프로그램(B 또는 C)를 호출하면, 제어는 유니트 프로그램(B 또는 C)에 각각 전송된다. 그러나, 유니트 프로그램(D 및 E)가 호출되면, 제어는 프로그램(X)로 쉬프트되고, 프로그램(X)가 실행된다.
호출 주프로그램의 명칭 및 주프로그램에 의해 호출되지만 결합되지 않는 프로그램의 명칭이 출력된 후 프로그램(X)의 내용이 제어를 주프로그램에 회복시키도록 셋트되면, 어느 유니트 프로그램[이 경우에, 유니트 프로그램(D 또는 E)]이 어느 프로그램[이 경우에, 프로그램(A)]에 결합되지 않는가에 따라 특수 프로그램[이 경우에, 프로그램(X)]이 실행되도록 정보가 얻어질 수 있다. 주 프로그램에 의해 호출되기 않지만 결합되지 않는 유니트 프로그램의 명칭을 출력시키는 방법은 다음과 같이 예시화된다. 유니트 프로그램(D)의 부재가 지정 프로그램 존재 판정수단(3)에 의해 판정되면 유니트 프로그램(D)의 명칭은 제1도내의 기억 영역(도시하지 않음)내에 기억된다. 특수 프로그램 결합수단(5)에 의한 특수 프로그램(6)의 결합중에, 내용이 특수 프로그램(6)용 비결합 유니트 프로그램의 명칭의 출력 프로세싱시에 출력될 어드레스는 기억영역의 어드레스로 셋트된다. 특수 프로그램의 프로세싱 내용은 상술한 내용에 부가적으로 변할 수가 있다.
상술한 바와같은 부분적 결합 시스템에 따르면, 결합 정보에 의해 지정된 유니트 프로그램이 존재하는지의 여부가 결합중에 결정된다. 결합 정보가 존재하지 않으면, 지정 프로그램 판정부(3)은 특수 프로그램 결합부(5)가 주프로그램을 미리 준비된 특수 프로그램(6)과 결합시키도록 배열된다. 결합 프로세싱시에, 1개의 특수프로그램만이 준비된다. 동일한 명칭을 갖고 있는 모조 프로그램이 부재 유니트 프로그램마다에 기억되고 프로그램 기억 영역내에 기억되는 종래의 모조 기법과는 달리, 프로그래밍이 간략화될 수 있다. 부수적으로, 최초 프로그램이 부재 유니트 프로그램을 호출하지 않도륵 수정될 필요가 없기 때문에, 결합 동작은 간략화될 수 있다.
종래의 모조 방법에 있어서, 조작자가 부재 프로그램의 명칭을 알지 못하면, 모조 프로그램은 발생될 수 없다. 그러나, 이러한 문제점은 본 발명에 의해 제거될 수 있다.
부재 유니트 프로그램 대신에 결합될 특수 프로그램의 내용이 호출 주 프로그램의 명칭 또는 호출되지만 존재하지 않는 유니트 프로그램의 명칭을 출력시키면, 유니트 프로그램이 실행중에 결합되지 않는다는 것을 나타내는 정보가 디버킹(debugging)을 매우 간략화시키도록 얻어질 수 있다.

Claims (3)

  1. 프로그램 결합중에 결합 정보를 입력시키기 위한 결합 정보 입력수단(1), 상기 결합 정보 입력 수단(1)로부터 입력된 결합 정보를 위한 결합 정보 기억 수단(2), 상기 결합정보 기억수단내(2)내에 기억된 결합 정보에 의해 지정된 프로그램이 프로그램 기억수단(2)내에 존재하는지의 여부를 판정하기 위한 존재 판정 수단(3), 상기 존재 판정 수단(3)에 의해 프로그램이 존재하는 것으로 판정될때 결합 정보에 의해 지정된 프로그램을 결합시키기 위한 지정 프로그램 결합수단(4), 및 상기 존재 판정 수단(3)에 의해 판정된 부재 프로그램 대신에 미리 준비된 특수 프로그램(6)의 결합을 수행하기 위한 특수 프로그램 결합 수단(4)를 포함하는 것을 특징으로 하는 부분적 프로그램 결합 시스템.
  2. 제1항에 있어서, 상기 특수 프로그램(6)이, 상기 특수 프로그램이 호출될 때 제어를 호출 소오스 프로그램으로 복귀시키는 것을 특징으로 하는 시스템.
  3. 제1항에 있어서, 상기 특수 프로그램(6)이, 상기 특수 프로그램이 호출될때 호출 소오스 프로그램의 명칭 및 호출되지만 결합되지 않는 프로그램의 명칭을 출력시킨 후에 제어를 호출 소오스 프로그램으로 복귀시키는 것을 특징으로 하는 시스템.
KR1019870010434A 1986-09-22 1987-09-21 부분적 프로그램 결합 시스템 KR900006667B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP61224319A JPS6378231A (ja) 1986-09-22 1986-09-22 部分的プログラム結合方式
JP61-224319 1986-09-22
JP224319 1986-09-22

Publications (2)

Publication Number Publication Date
KR880004374A KR880004374A (ko) 1988-06-07
KR900006667B1 true KR900006667B1 (ko) 1990-09-17

Family

ID=16811887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870010434A KR900006667B1 (ko) 1986-09-22 1987-09-21 부분적 프로그램 결합 시스템

Country Status (3)

Country Link
US (1) US5303376A (ko)
JP (1) JPS6378231A (ko)
KR (1) KR900006667B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073246A1 (en) * 1998-06-29 2002-06-13 Stephen F.B. Pickett Code server
US5649204A (en) * 1991-08-22 1997-07-15 Rec Software, Inc. Method and apparatus for consolidating software module linkage information used for starting a multi-module program
DE69330691T2 (de) * 1992-06-03 2002-07-04 Sun Microsystems Inc Dynamisch konfigurierbares Kernsystem
US5682533A (en) * 1994-09-27 1997-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Updating software within a telecommunications switch without interrupting existing communication and neither moving nor converting data
US5850554A (en) * 1995-12-29 1998-12-15 Intel Corporation Compiler tool set for efficiently generating and easily managing multiple program versions of different types
US6185733B1 (en) * 1998-01-20 2001-02-06 International Business Machines Corporation Method and apparatus for remote object code inclusion
US7401330B2 (en) * 2003-12-11 2008-07-15 Hewlett-Packard Development Company, L.P. Cloning programming code

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4398249A (en) * 1970-08-12 1983-08-09 Pardo Rene K Process and apparatus for converting a source program into an object program
US4173782A (en) * 1978-01-03 1979-11-06 International Business Machines Corporation Return and link mechanism
US4435753A (en) * 1980-10-31 1984-03-06 International Business Machines Corporation Register allocation system using recursive queuing during source code compilation
JPS5862747A (ja) * 1981-10-09 1983-04-14 Fujitsu Ltd プログラム結合編集方式
US4672532A (en) * 1982-06-14 1987-06-09 Tektronix, Inc. Software/hardware integration control system
US4595981A (en) * 1984-03-05 1986-06-17 At&T Bell Laboratories Method of testing interfaces between computer program modules
US4787034A (en) * 1984-11-14 1988-11-22 Pal Szoke Program access system
US4719564A (en) * 1984-12-10 1988-01-12 Nec Corportion Interpreter linkage system for linking extension interpreters to a basic interpreter
US4882674A (en) * 1985-03-05 1989-11-21 Wang Laboratories, Inc. Apparatus and method for control of one computer system by another computer system
US4782444A (en) * 1985-12-17 1988-11-01 International Business Machine Corporation Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic block's textual ordering

Also Published As

Publication number Publication date
JPS6378231A (ja) 1988-04-08
US5303376A (en) 1994-04-12
KR880004374A (ko) 1988-06-07

Similar Documents

Publication Publication Date Title
US6954747B1 (en) Methods for comparing versions of a program
US6253371B1 (en) Method for supporting parallelization of source program
US5313635A (en) Compiling system for distributed computer system with multiple types of computers
US5634114A (en) Dynamic link library version negotiation
US6922827B2 (en) Iterative software development environment with prioritized build rules
IL100991A (en) Method for translating a first program cipher to a second program cipher
US20020019973A1 (en) Compiler and method for compiling easily adaptable to processor specifications
JPH07141201A (ja) 2パスコンパイラのための改良された方法
KR900006667B1 (ko) 부분적 프로그램 결합 시스템
US5581769A (en) Multipurpose program object linkage protocol for upward compatibility among different compilers
JPH07230386A (ja) データ処理装置及び制御ルーチン呼出し方法
US5150474A (en) Method for transferring arguments between object programs by switching address modes according to mode identifying flag
JPH0766342B2 (ja) プログラムテスト装置
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JP3604936B2 (ja) 最適化方法,最適化装置及び記録媒体
JP2000132405A (ja) インライン展開処理装置及び方法
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts
JP3018783B2 (ja) コンパイル方式
JPH04149732A (ja) 言語処理プログラムの処理方式
JPH07152577A (ja) コンパイル、リンク方法の共通化方式
JP2797749B2 (ja) ファイル破壊事前チェック機構
JPH04171532A (ja) パターン利用によるプログラム作成装置
JPS6224323A (ja) リンク方式
JPH09258969A (ja) プログラム開発装置及びプログラム開発方法
JPH1195995A (ja) データフロー解析装置、データフロー解析方法及びそのためのコンピュータプログラムを記録した記録媒体

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
FPAY Annual fee payment

Payment date: 20000624

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee