CN1226060A - 具有外部接口的程序目标和程序部件的系统 - Google Patents

具有外部接口的程序目标和程序部件的系统 Download PDF

Info

Publication number
CN1226060A
CN1226060A CN98123606A CN98123606A CN1226060A CN 1226060 A CN1226060 A CN 1226060A CN 98123606 A CN98123606 A CN 98123606A CN 98123606 A CN98123606 A CN 98123606A CN 1226060 A CN1226060 A CN 1226060A
Authority
CN
China
Prior art keywords
program
program element
external interface
explanation
program object
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN98123606A
Other languages
English (en)
Inventor
T·F·M·霍斯泰恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Europa BV
Original Assignee
Sony Europa BV
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 Sony Europa BV filed Critical Sony Europa BV
Publication of CN1226060A publication Critical patent/CN1226060A/zh
Pending legal-status Critical Current

Links

Images

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明涉及程序目标和程序部件以及在程序目标与程序部件之间通信的一个系统。本发明提供一个具有外部或发送接口的程序部件,外部或发送接口使得能够在程序部件与不同程序目标之间消息传递通信。当一个程序部件被装载时,程序部件的发送接口被自动地转出到主目标的发送接口。这意味着该目标的发送接口被调整以包含该程序部件的发送接口。因此通过消息传递在程序目标的程序部件与其它程序目标之间通信是可能的。

Description

具有外部接口的程序目标和 程序部件的系统
本发明涉及程序目标和程序部件以及在程序目标与程序部件之间通信的一个系统,并涉及使用这个系统的一个设备。
近年来已提出一种新的软件技术,即所谓面向目标的技术。术语“面向目标”的含义是,软件被组织成为一组分立的模块或程序目标,其包括数据结构和行为(操作),即动作序列。这与普通的编程技术正好相反,在普通的编程技术中,数据结构和行为仅松散地被连接。
程序目标是具有用它自己的系统资源执行的线索的它自己的线索的运行时间实体。具有相同数据结构和行为(操作)的程序目标被分成一类。每个目标是某类的一个事例。该操作确定目标可以响应的消息,而从外部譬如从其它目标无法知道该状态。代表一个目标内部状态的变量被称为事例变量,其操作被称为方法。
每个程序目标有一个执行空间,其描述目标的特性,如目标可以访问的存储器区域,线索目标代码执行以及目标的运行时间环境。程序目标之间的通信通过消息传送实施。在申请人的尚未提前公开的日本专利申请No.09-092446中描述了消息传递的一种形式。为了执行消息传递,每个目标有一个外部接口,也称为发送接口,其安排消息的接收,同时利用发送接口,相应的程序目标的不同方法是可行的。
在程序目标的执行空间中,可以装载以一个或多个程序部件形式的一个共享库。程序部件是在这方面的一个目标的共享库实施。如果程序部件位于一个目标的执行空间中,则该程序部件被装载在这个目标中。程序部件可以提供一个内部接口,它是由程序部件实施的并可由该目标的任何动能或方法调用的功能或方法的一个有序列表。
在Erickson C.等人的文章“SOMOBJECTS DEVELOPERTOOLKIT:SHARING SOM OBJECTS WITH DSOM”(SOM目标开发工具包:共享具有DSOM的目标)OS/2 DEVELOPER,第6卷,NO.1994年1月中,披露了动态地装载一个动态链接库(DLL),这是共享库的一个标准实施。DLL备有一个外部或发送接口,其使得能够在DLL与不同程序目标之间进行消息传递通信。
然而,DLL仅用于实施一个给定的或固定的外部接口,即程序目标的外部接口通过装载DLL保持不变。
按照本发明的一个方面,提供一个系统,它包括:
-具有一个或多个功能的一个程序目标;
-具有供与其它程序目标通信用的功能的说明的一个外部接口;
其中根据装载一个程序部件,该程序部件的一个或多个功能的说明被转出到该程序目标的外部接口。当一个程序部件被装载时,该程序部件的发送接口被自动地转出到主目标的发送接口。这意味着该目标的发送接口被调整以包含该程序部件的发送接口。因此通过消息传递在程序目标的程序部件与其它程序目标之间通信是可能的。发送接口的内容与程序部件的内部接口的内容之间没有关系。程序部件的方法可以以任一个、以两者出现或以两者一个都不出现。
按照一个优选实施例,提供一个系统,其中根据装载附加程序部件,它的一个或多个功能的说明被添加到程序目标的外部接口,以便与其它程序目标通信。
按照一个优选实施例,提供一个系统,其中根据删除一个程序部件,它的在程序目标的外部接口中的说明被从外部接口删除。
按照本发明的一个进一步的优选实施例,提供一个系统,其中根据用第二个程序部件替换第一个程序部件,第一个程序部件的一个或多个功能在外部接口中的说明被第二个程序部件的一个或多个功能的说明所替换。
按照一个进一步的优选实施例,提供一个系统,其中程序部件在运行时间被自动地装载。
本发明提供具有外部接口的程序部件的动态装载。因为装载一个具有发送接口的程序部件将把这个接口添加到主目标,同时因为程序部件可以被动态地添加或替换程序部件,所以主目标的接口随时可以演变。目标的接口可以缩小,例如当一个程序部件被删除时,或者它可以增大,如当一个新的程序部件被与一个扩充的接口链接(或一个旧的程序部件被一个扩充的接口替换)时。
当一个新的实施被要求以便例如执行一个错误修复时,可以利用实施演变。这通过简单地删除动态链接程序部件并用一个以不同方式执行相同功能的不同程序部件替换它来实施。
程序部件可能或可能不提供内部或发送接口。如果它不提供发送接口,则它仅能通过一个功能调用被调用。在这种情况下,它也仅能从同一执行空间内被调用。同样地,如果程序部件仅提供一个发送接口,则它仅由其它目标通过消息传递机制可存取。
以前技术的高级程序通常由编译程序译成二进制可执行代码。在编译的最后阶段中,一个连接编辑程序将所有的目标可执行文件与在程序中指定的启动代码和在程序中涉及的库函数链接在一起。在静态连接中,连接编辑程序在连接时间将把目标文件的一个拷贝加入到可执行文件中。静态库是一批包含库程序和数据的目标文件。在动态连接中,共享库在运行时间被映射。连接编辑程序将在可执行文件中仅储存共享库的名字和有关由可执行文件指定的符号的一些附加信息。在动态装载情况下,一个字程序仅当它被调用时被装载,因而通过不装载无用的或很少使用的子程序来节省存储器。更具体地说,动态装载在执行期间可以把共享库加到进程的地址空间,查找在该库中一个功能的地址,启动那个功能,然后当共享库不再需要时移去该共享库,例如从存储器中删除它。
按照本发明的另一个方面,提供一个设备,包括:
-用于暂存数据的存储器装置;
-用于处理数据的处理装置,以及
-用于存储器装置与处理装置之间连接的连接装置,
其中使用上面提到的系统。
按照本发明的另一方面,提供一个方法,包括:
-提供具有外部接口的一个程序目标,其包含该程序目标的一个或多个功能的说明,供与其它程序目标通信用;
-装载具有一个或多个功能的一个程序部件;
-将所装载的程序部件的一个或多个功能的说明转出到该程序目标的外部接口上。
本发明下面将通过一个例子参照附带的插图来说明,在整个附图中,相同的部分用相同的标记来表示,在附图中:
图1原理性地给出具有一个程序目标和一个被装载的程序部件的一个执行空间。
图2原理性地给出一个程序目标和一个程序部件的一个执行空间,其目标装有一个外部接口。
图3给出图2的执行空间,其中一个附加程序部件已被添加到该程序目标的外部接口。
图4给出图3的执行空间,其中程序部件已被一个不同的程序部件所替代。
图5给出在其中实施本发明的系统的一个录象机(VCR)的例子。
图6原理性地给出图5的VCR的执行空间。
图7原理性地给出VCR的执行空间。
在图1中,程序目标的执行空间被示出。在执行空间1中的目标A包括三个方法,方法1(m1)、方法2(m2)和方法3(m3)。在执行空间1中,一个程序部件compa被装载,其包含两个方法,方法4(m4)和方法5(m5)。程序部件compa的内部接口2用一个圆示出。目标A的方法m1调用目标A的方法m2。目标A的方法m2经由内部接口调用程序部件compa的方法m4。程序部件compa的方法m4调用方法m5。方法m5不包括在程序部件compa的内部接口2中,因此这个方法仅能从程序部件copma中被调用,而不能从程序目标A本身调用。
内部接口2是目标A与部件compa之间通信的唯一支持方式。因为程序目标的代码没有内部接口,所以该目标不能从程序部件compa中被调用。程序部件的方法m4例如不能从程序目标A的方法m1或方法2中调用。
在图2中示出图1的情况,其中执行空间1的附加的外部接口3用矩形表示。来自其它执行空间的程序目标可以借助于这个外部接口3与目标A的执行空间通信。用箭头说明程序目标A的哪个方法经由外部接口3可存取。在这个例子中,程序目标A的方法m1和方法m3由其它目标可存取,其在目前的执行空间1的外面。其余的方法只能从目标A和/或从部件compa被调用。
在程序执行期间,可以用动态装载在执行空间中装载新的程序部件。在图3中,一个程序部件compb被装载。程序部件compb的外部接口被自动地转出到主目标,在本例中为程序目标A的外部接口。这意味着执行空间的外部接口3适合于包括程序部件compb的外部接口3,其意味着可经由外部接口调用的方法的数目从二个方法增加到三个方法。程序部件compb的方法m6可以经由外部接口4由程序目标A通过一个功能调用被调用,并且可以由程序的其余目标经由外部接口3通过消息传递被启动。
在程序的执行期间用另一个程序部件compc替代程序部件compb也是可能的。这被直接示于图4中。这意味着目标A的实施在执行期间已发展。由于这一点,有可能例如添加新的功能,在不中断程序的执行情况下删除在某个程序部件中的错误或重新启动程序在其上运行的处理单元。
图5示出一个录象机(VCR装置),用于在盒式录象带上记录/重现信号。VCR装置有一记录/重现单元10,它具有使用录象带记录/重现数据的功能。马达驱动器11驱动盒式录象带,即执行如“播放”、“快进”、“倒带”、“录象”和“停止”功能。由VCR记录/重现单元10在盒式带上记录/重现的数据被从一中央处理单元12接收或被发送到中央处理单元12。也提供随机存取存储器13和只读存储器14,用于在其中储存一个程序。
IC卡驱动器15有一个插入一个IC卡的槽,IC卡作为一个记录媒体,它具有在一卡形外壳中的集成电路以及用于在或从IC卡上写/读数据的一个驱动单元。另一方面,可以包括一软盘驱动器16,其是用于合理地驱动软盘的一个转动驱动单元以及用于在或从软盘上记录/重现数据的一个磁头单元。IC卡驱动器15或软盘驱动器16照管记录数据和应用程序软的安装。也提供用于输入/输出数据的串行口17和调制解调器18。为了部件10与18之间的通信,提供连接19。
VCR被设计成除了通常的VCR功能外接收附加的应用程序功能。例如,如果用户想要升级应用程序软件的版本,也就是说例如增加新的功能到VCR装置,附加的功能单元可以经由IC卡驱动器15被安装。也可以使用因特网经由调制解调器18和串行口17下载附加的应用程序软件。这允许用户升级装置功能而不必重新购买VCR装置。
图6示出操作VCR的播放、倒带、快进和停止功能的执行空间。目标“VCR”包含四个方法“play”、(rew)、(ff)、(stop)以实施功能播放、倒带、快进和停止。这些方法分别起播放盒式带、倒卷盒式带、正卷盒式带和停止盒式带的动作。动作之一例如控制驱动磁带的马达驱动器11。这通过经由这个接口调用程序部件compmd来实施该接口照管进一步处理,例如通过使VCR的马达以一定速度旋转。经由使用目标“VCR”的外部接口的消息传递,例如通过按下在VCR的遥控器上或VCR本身上的按钮Play(播放)、rewind(倒带)、fast forward(快进)或stop(停止),目标“VCR”的有关方法被初始化。
通过例如IC卡或外部数据与调制解调器18和串行口17的连接,新的程序可以被装载到VCR的随机存取存储器13。在图7中,例如程序部件compsp已被增加,其将“慢播放”功能添加到VCR的已实施的功能中。这个程序部件compsp有一个外部接口20,其将根据在目标“VCR”的执行空间中的装载被添加到程序目标“VCR”的外部接口20。因此一个附加功能,在本例中为功能“慢播放”已被实施,它通过使用程序目标的外部接口的消息传递被启动。这意味着在VCR上的程序的运行时间内且不必重新启动或初始化MCR,添加一个新功能到录象机VCR上是可能的。

Claims (15)

1.系统包括:
-具有一个或多个功能的一个程序目标;
-具有供与其它程序目标通信用的功能的说明的一个外部接口;
其中根据装载一个程序部件,该程序部件的一个或多个功能的说明被转出到该程序目标的外部接口。
2.按照权利要求1的系统,其中根据装载一个附加程序部件,它的一个或多个功能的说明被添加到程序目标的外部接口,以便与其它程序目标通信。
3.按照权利要求1和/或2的系统,其中根据删除一个程序部件,它的在程序目标的外部接口中的说明被从外部接口中删除。
4.按照权利要求1、2或3的系统,其中根据第二个程序部件替换第一个程序部件,第一个程序部件的一个或多个功能在外部接口中的说明被第二个程序部件的一个或多个功能的说明所替换。
5.按照权利要求1至4的一个或多个的系统,其中程序部件在运行时间被自动地装载。
6.系统包括:
-具有一个或多个功能的一个程序目标;
-具有供与其它程序目标通信用的程序目标的功能的说明的一个外部接口;以及
-具有一个或多个功能的至少一个程序部件,其中对每个程序部件,功能的说明被添加到程序目标的外部接口。
7.按照上述任一个权利要求的系统,其中在一个程序目标中的功能可互相存取。
8.按照上述任一个权利要求的系统,其中在一个程序部件中的功能可互相存取。
9.按照上述任一个权利要求的系统,其中一个程序部件包括具有该程序部件的功能的说明的一个外部接口,其由相应的程序目标存取。
10.按照上述任一个权利要求的系统,其中一个程序部件的功能由其它程序目标经由外部接口存取。
11.按照上述任一个权利要求的系统,其中经由外部接口的通信通过消息传递实施。
12.设备包括:
-用于暂存数据的存储器装置;
-用于处理数据的处理装置;以及
用于存储器装置与处理装置之间连接的连接装置,
-其中使用按照权利要求1至11的任一个的系统;
13.按照权利要求12的设备,其中根据执行相应的程序目标,程序部件被传送到存储器装置。
14.按照权利要求12或13的设备,其中程序部件在执行之后直接从它的存储器装置中删除。
15.在程序目标和/或程序部件中和之间通信的方法,包括:
-提供具有外部接口的一个程序目标,其包含该程序目标的一个或多个功能的说明,供与其它程序目标通信用;
-装载具有一个或多个功能的一个程序部件;
-将所装载的程序部件的一个或多个功能的说明转出到该程序目标的外部接口上。
CN98123606A 1997-10-27 1998-10-27 具有外部接口的程序目标和程序部件的系统 Pending CN1226060A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP97203323A EP0911730B1 (en) 1997-10-27 1997-10-27 System of program objects and program components with external interface
EP97203323.7 1997-10-27

Publications (1)

Publication Number Publication Date
CN1226060A true CN1226060A (zh) 1999-08-18

Family

ID=8228864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98123606A Pending CN1226060A (zh) 1997-10-27 1998-10-27 具有外部接口的程序目标和程序部件的系统

Country Status (10)

Country Link
US (1) US6675231B1 (zh)
EP (1) EP0911730B1 (zh)
JP (1) JPH11203138A (zh)
KR (1) KR100620765B1 (zh)
CN (1) CN1226060A (zh)
AT (1) ATE265062T1 (zh)
CA (1) CA2250676C (zh)
DE (1) DE69728766T2 (zh)
SG (1) SG87775A1 (zh)
TW (1) TW494362B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106030525A (zh) * 2014-03-28 2016-10-12 英特尔公司 用于硬件平台的固件的系统内供应

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1192539B1 (en) 1999-06-11 2003-04-16 BRITISH TELECOMMUNICATIONS public limited company Communication between software elements
JP4794331B2 (ja) * 2006-03-15 2011-10-19 株式会社日立ソリューションズ 任意アプリケーションによる外部記憶装置への情報持ち出し制御方法
KR101059658B1 (ko) * 2010-07-01 2011-08-25 엔에이치엔(주) 개발자 인터페이스 제공 방법 및 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5126843A (en) 1989-03-10 1992-06-30 Sony Corporation Interpolation signal producing circuit with improved amplitude interpolation
US5805885A (en) * 1992-12-24 1998-09-08 Microsoft Corporation Method and system for aggregating objects
FI93071C (fi) 1993-02-08 1995-02-10 Nokia Technology Gmbh Menetelmä ja kytkentäjärjestely lomitellun videosignaalin muuttamiseksi lomittelemattomaksi tai sen kenttätaajuuden kaksinkertaistamiseksi
KR970009469B1 (ko) 1993-06-05 1997-06-13 삼성전자 주식회사 더블스무딩(Double Smoothing) 기능을 갖는 비월/순차주사변환장치 및 그 방법
JPH0981486A (ja) * 1994-11-17 1997-03-28 Texas Instr Inc <Ti> ソフトウェア・アプリケーション・プログラム間の共通の通信インターフェースを与えるオブジェクト指向型方法及び装置
JPH096605A (ja) * 1995-06-23 1997-01-10 Hitachi Ltd 機能オブジェクト間通信装置
US5959536A (en) * 1996-10-15 1999-09-28 Philips Electronics North America Corporation Task-driven distributed multimedia consumer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106030525A (zh) * 2014-03-28 2016-10-12 英特尔公司 用于硬件平台的固件的系统内供应
US10402565B2 (en) 2014-03-28 2019-09-03 Intel Corporation In-system provisioning of firmware for a hardware platform
CN106030525B (zh) * 2014-03-28 2019-12-10 英特尔公司 用于硬件平台的固件的系统内供应的方法及其硬件平台

Also Published As

Publication number Publication date
SG87775A1 (en) 2002-04-16
DE69728766D1 (de) 2004-05-27
CA2250676C (en) 2005-04-12
TW494362B (en) 2002-07-11
EP0911730A1 (en) 1999-04-28
CA2250676A1 (en) 1999-04-27
KR19990037397A (ko) 1999-05-25
ATE265062T1 (de) 2004-05-15
DE69728766T2 (de) 2005-03-31
JPH11203138A (ja) 1999-07-30
EP0911730B1 (en) 2004-04-21
KR100620765B1 (ko) 2006-12-01
US6675231B1 (en) 2004-01-06

Similar Documents

Publication Publication Date Title
CN1186715C (zh) 支持多个操作系统的方法和系统
US7181610B2 (en) Method and system to encapsulate a driver written for an operating system (OS) runtime environment in an OS independent environment firmware extension
KR100467438B1 (ko) 저장 매체 내의 파일을 관리하기 위한 방법 및 장치
US6601139B1 (en) Information processing method and apparatus using a storage medium storing all necessary software and content to configure and operate the apparatus
US6496864B1 (en) System and method for freeing shared resources in a computer system
US6430738B1 (en) Method and system for reversible installation of software applications in a data processing system utilizing an automated archival process
US6876996B2 (en) Method and apparatus for using a shared library mechanism to facilitate sharing of metadata
US6684230B1 (en) System and method for performing defined actions when grafting the name space of one storage medium into the name space of another storage medium
US6778974B2 (en) Memory device and method for reading data stored in a portion of a memory device unreadable by a file system of a host device
EP0851347A2 (en) Methods, systems, and computer program products for storing, loading, analyzing, and sharing references to recently used objects
KR970059467A (ko) 소프트웨어를 컴퓨터 시스템으로 선 로드하는 방법
US6349313B1 (en) Identifying the owner responsible for processing I/O requests
WO2000052572A1 (en) A computer implemented method
US20060123061A1 (en) Method of accessing files in electronic devices
EP1094392B1 (en) Method and apparatus for interfacing with a secondary storage system
US5819082A (en) Data storage optimization using an access order resource list
US7689999B2 (en) Sharing dynamically changing resources in software systems
US6738876B2 (en) Apparatus and method for preserving a region code for an optical disk drive
CN1226060A (zh) 具有外部接口的程序目标和程序部件的系统
US9971607B1 (en) Method of accessing files in electronic devices
US6636964B1 (en) Method and apparatus for loading an object-oriented operating system by providing an initial execution environment and migrating to a core execution environment thereafter
US7178139B2 (en) Executable file system for an embedded computer
KR20070028362A (ko) 디바이스 정보 저장 방법, 데이터 프로세싱 시스템 및컴퓨터 프로그램
US20070174311A1 (en) Asset management apparatus and asset management method
CN113448644B (zh) 操作系统ring3模式OC硬盘配置方法、装置、终端及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication