用于初始化包含多个插件的电子系统的方法

文档序号:6279128阅读:200来源:国知局
专利名称:用于初始化包含多个插件的电子系统的方法
技术领域
本发明涉及一种用于初始化电子系统的方法,该系统具有基本接口和多个连接到该基本接口上的模块式插件。
此外,本发明还涉及一种用于在电子系统的初始化期间在电子系统的至少一个计算设备上执行的通信协议。该电子系统包含基本接口和多个连接到该基本接口上的模块式插件。
此外,本发明还涉及一种用于在数据处理设备的计算设备上执行的计算机程序。该计算机程序包含基本接口和多个插件,其中这些插件被连接到该基本接口上。
最后,本发明还涉及具有用于执行通信协议的计算设备的电子系统。该电子系统包含基本接口和多个连接到该基本接口上的模块式插件。
背景技术
在汽车领域中,电子设备最初仅仅以单独的电气化部件的形式被使用,其中这些部件彼此隔离且独立地起作用。之后,这些部件越来越多地被集成为系统,其中在这些系统中部件为了数据交换和相互影响的目的而彼此连接。这种集成系统的例子是发动机控制系统、制动调节系统或者驾驶员信息系统。目前,趋势是将所有车辆系统彼此联网并且还越来越多地与车辆环境一同进行观察。
系统的这种明显的紧密结合现在带来巨大的技术和组织挑战-新的车辆功能通常仍然只有结合不同的子系统才能实现和有效使用,-因此也需要不同供应商的子系统的功能的集成,-车辆的价值和特征越来越多地通过复杂的软件功能来确定,以及-在集成系统的速度、成本和质量方面,增长的系统复杂性的控制对于车辆制造商和供应商而言日益成为竞争决定性的。
由DE 100 44 319 A1公开了一种用于车辆的电子系统,该电子系统由用于在运行过程中执行控制任务的第一部件和协调第一部件的协作的第二部件组成。这些第一部件通过操作功能(Betriebsfunktion)和基本功能的协作来执行控制任务。操作功能在操作子模块(所谓的插件)中实现,并且可以模块化地结合到该电子系统中,可以再使用,并且随时可更换或者可改变。基本功能在基本层中被组合,该基本层通过合适的接口与操作模块相连接。
在基本层和接口之间设置有系统层,该系统层包括用于协调用于执行控制任务的第一部件的协作的第二部件。也即,在系统层中存在智能(Intelligenz),该智能是将插件结合到总系统中所需的。换句话说,插件的功能建立在系统层的功能的基础上,并且甚至以系统层的功能为前提。也即,插件必须与系统层的功能匹配,并且不能毫无困难地被用于在系统层中具有其它功能的其它电子系统中。在将插件用于另外的系统环境中之前,需要插件的费时且昂贵的适配。此外可能需要的是,在改变或补充第一部件的功能时也匹配系统层的功能,因为第一部件的修改可能对部件的协调、即对系统层具有影响。也即,在已知的系统中,在插件的处理方面仅仅提供独立解决方案(Inselloesung),这些解决方案在没有广泛适配的情况下不能被简单地推广到其它系统。
此外,在已知的电子系统中,系统的初始化和插件之间的相互连接并不是通过插件本身来实现,而是仅仅通过系统层和/或位于其下的操作系统层来实现。也即,初始化被集中控制,在初始化之前或在初始化期间,在系统的插件之间不进行通信。

发明内容
从该现有技术出发,本发明所基于的任务在于,如下构成和改进已知的方法,即电子系统的初始化能够比迄今为此显著更灵活地实施。特别地,插件彼此之间的关联应该在初始化的范围内全自动地产生,而所连接的插件和插件的功能或者进程的类型和数目对于电子系统来说不必在准备阶段中就是已知的。
为了解决该任务,从开头所提及的类型的方法出发,建议-在初始化所述电子系统时,由所述插件分别将信息提供给所述基本接口,该信息涉及
+由相应的插件实施的至少一个功能;+所述相应的插件为了实施所述至少一个功能所需要的量;+由所述相应的插件在实施了所述至少一个功能之后提供的量;-由所述基本接口将信息提供给各个插件,该信息涉及+其余插件中的哪一个提供该插件所需要的量,以及-在需要所述量的那个插件中存放对提供所述量的那个插件的相应的引用(Verweise)。
本发明的优点按照本发明方法,在电子系统的初始化的范围内,首先向连接基本接口的插件中的每一个询问确定的信息。这些信息涉及例如在插件中实现的功能或者相应的进程。此外,这些信息涉及通过执行进程所确定的并且由插件提供的量以及插件为了实施功能或者为了执行进程所需要的量。在本发明的意义上的量例如是变量、函数、结构等等。也即本发明电子系统的插件拥有附加的初始化功能,以便回答基本接口的相应的询问并且传送所希望的信息。
在从第一插件获得信息之后,基本接口询问其余插件,是否它们能够提供所需要的量中的至少一个。如果情况如此,则由基本接口将信息提供给第一插件,其中该信息涉及其余插件的哪一个提供第一插件所需要的量。随后在第一插件中的确定的位置处录入对提供所需要的量的那些插件的相应的引用。也即,本发明电子系统的插件拥有附加的初始化功能,以便将接收到的、对提供该插件所需要的量的一个或者多个插件的引用存储在合适的位置处。
优选地,在插件中设置有至少一个空字段,在该字段中可以存放引用。每次当在第一插件中执行进程的范围内另外的插件需要确定的量时,另外的插件通过该引用获取该量。当然,特别是当在一个插件中需要不同的量时,在插件中也可以存放多个对不同的其它插件的引用。对其它插件的引用可以是任意类型的。
利用本发明方法,在电子系统的初始化期间的运行时间中,可以建立插件之间的关联,更确切地说,不依赖于实际上哪些插件连接到基本接口上,并且在准备阶段中不必知道哪些插件被连接。本发明方法能够在添加、去除和改变电子系统的插件方面实现最大程度的灵活性。
插件可以被构造为硬件(例如作为用于控制设备的、具有附加的输入/输出接口、附加的驱动器、附加的存储容量或者计算容量等等的插入卡)或者软件(例如作为计算机程序的操作子模块)。基本接口不具有用于对插件的功能进行补充的功能。基本接口的任务仅仅涉及在初始化期间插件的关联和在电子系统的运行期间插件之间的通信。在电子系统的初始化阶段期间,基本接口通过与插件的通信直接从插件获得为此所需要的关于插件的信息。
根据本发明的一种有利的改进方案建议,将至少一个功能通过至少一个进程来实现。也就是说,插件的功能通过一个或者多个进程来实现。关于插件的功能的信息的传送因此涉及关于在插件中实现的进程的任意信息。有利地,涉及插件的功能的信息包括时限和至少一个进程的优先级,其中在该时限内执行至少一个进程。
根据本发明的一个优选的实施形式建议,在需要确定的量的插件中,将指向存储位置的指针作为引用存放,其中由其余插件之一将所需要的量存储在该存储位置上。被引用的存储位置可以被设置在插件之一中,然而也可以被设置在基本接口或者下级的基本功能或者基本软件中。利用指针工作具有多个优点。一个优点在于,在插件中的软件更新时,旧的软件可以保留在存储器中,新的软件被存放在存储器中的另一新的位置处,并且指针简单地被转换到新的存储位置。由此无需整个存储器的重新编程(所谓的刷新(Flashen))(删除旧的内容并且以新的软件来写)。
根据本发明的另一优选的实施形式建议,在需要量的插件中,将指向结构的指针作为引用存储,其中由其余插件之一将所需要的量存储在该结构中的预先给定的位置处。也即,根据该实施形式,不是针对所需要的每个量存放单独的、指向存放有所需要的量的存储位置的指针,而是仅仅存放唯一的、指向存放有所有所需要的量的结构的指针。该结构包含确定数目的字段,其中在确定的字段中存储有确定的量。因此例如事先规定,量A始终被存放在结构中的第三位置上。当在插件中需要量A时,从该插件中跳到指针所指向的结构的开头。根据所需要的量,跳到结构的相应的位置或者相应的字段上,即针对量A跳到第三位置上,读出所需要的量并且随后又返回到该插件。该结构可以被包含在基本接口中或者下级的基本功能或者基本软件中。该结构的内容由提供相应的量的插件连续地更新。该实施形式具有以下优点,即使在插件中需要多于一个的量,在插件中也只需要一个用于指向结构的开头的指针的字段。
如果多个插件提供确定的量,则提出这样的问题,即插件中的哪一个应该为需要该量的其余插件提供该量。在这种情况下,有利地将这样的插件的量用于进一步处理,该插件的用于确定该量的进程具有最高的优先级。因为该进程具有最高的优先级,所以该进程能够在其它进程之前提供所需要的量。
此外,在确定的条件下可能有利的是,在这种情况下,该量由这样的插件提供,其中基本接口首先从该插件获得信息,即该插件或者该插件的进程能够提供所需要的量。替代地建议,该量由这样的插件提供,其中基本接口最后从该插件获得信息,即该插件或者该插件的进程能够提供所需要的量。
有意义的是,基本接口能够访问具有信息的初始化表,在该初始化表中存放有各个插件。当插件被构造为软件时,该表可以在刷新新的插件时被更新。但是,在插件被构造为软件、但是也被构造为硬件的情况下,也可以设想,在初始化开始时,确定连接到基本接口上的插件以及它们的(起始)地址,并且与此相应地更新该表。该表优选地被存储在基本接口中。借助该表,基本接口于是可以询问各个插件并且获取所希望的信息。
如果电子系统被构造为计算机程序,则可以设想,将该计算机程序结构化为没有插件的基本软件、布置在其上的主接口和连接到该主接口上的插件和/或子接口,其中另外的子接口和/或另外的插件连接到这些子接口上。基本软件包括软件的固定的、持久的部分,该部分例如负责通过总线驱动程序等的通信。以这种方式,在一定程度上可以实现电子系统的级联的结构。针对这种结构,可以实现可见性方案(Sichtbarkeitskonzept),通过这种方案可以将下面的、即级别较高的区域的确定量的可见性限制于该结构的确定的、级别较低的区域。与此相关地,提出一种用于初始化包括基本接口和多个连接到该基本接口上的模块式插件的电子系统的方法,其中基本接口之一被构造为主接口并且其余的基本接口被构造为子接口,并且除了插件之外还有子接口连接到该主接口上,另外的子接口和/或另外的插件又连接到这些子接口上,并且以此类推。接口被划分为不同的区域(例如私有的、公共的、受保护的等等)。只有位于接口的相同区域内的量(变量、函数等等)对于下级的(即级别更高的)接口来说才是可见的,并且由此也是能访问的。相同的量可以位于接口的不同的区域上。由此量可以被封装在确定的区域中,并且在一定程度上类似于局部变量。
有利地,接口被划分为私有区域和公共区域。只有位于接口的公共区域上的公共量(变量、函数等等)对于下级的接口来说才是可见的,并且由此也是能访问的。位于接口的私有区域上的私有量只有在有关的接口和布置在该接口之上的接口的公共区域中才是可见的。
利用电子系统的这种级联结构以及将接口划分为私有和公共区域,例如可以在计算机程序的情况下实现封闭的程序区。当确定的程序区由外部的供应商开发和编程时,这是有利的。设计、结构和真正的编程(使用了哪些量、函数、结构,执行了哪些算法等等)如何详细地被构造对于委托人来说是不重要的。重要的仅仅是程序区满足其所要求的功能,也就是说,在该程序区中实现了所要求的进程,并且该程序区为下级的(即级别更高的)接口提供所要求的公共量。
下级接口只能访问位于上级接口的公共区域上的量。位于私有区域上的量对于下级接口来说是不可见的并且由此也是不能访问的。也即因此能够以简单的方式实现程序区或者在其中实现的功能的封装。外部研发的程序区也可以借助该可见性方案简单地并且快速地被集成到现有的计算机程序中。
为了量在插件和基本接口中的更容易的可管理性而建议,插件所需要的或者由插件提供的量都被分配对于电子系统的规定的区域来说明确的标识。该规定的区域优选地是电子系统的借助可见性方案封闭的区域。该标识例如包括标识号码和对该量是公共的还是私有的说明。当然可以设想,不仅变量而且函数、结构以及其它都被分配这样的或者另一明确的标识。
有利地,量的标识被存放在标识列表中,基本接口在电子系统的初始化期间可以访问该标识列表。可以设想的是,在该标识列表中列出并且解释了所有的在该电子系统中在理论上可用的量(变量、函数等等)。针对整个系统而不是针对目前所连接的插件来创建该列表。因此,该列表不依赖于所连接的插件的类型和数目而始终具有相同的内容。就这点而言也可以说,在本发明中事先没有关于实际上被连接的插件的信息可供基本接口使用。该列表优选地是接口约定或者接口定义的基础,并且作为基础服务于软件或者插件的供应商以及集成器。
作为本发明的任务的另一解决方案,从开头所提及的类型的通信协议出发建议,这样对通信协议进行编程,使得-在初始化所述电子系统时,由所述插件分别将信息提供给所述基本接口,该信息涉及+由相应的插件实施的至少一个功能;+所述相应的插件为了实施所述至少一个功能所需要的量;+由所述相应的插件在实施了所述至少一个功能之后提供的量;-由所述基本接口将信息提供给各个插件,该信息涉及+其余插件中的哪一个提供该插件所需要的量,以及-在需要所述量的那个插件中存放对提供所述量的那个插件的相应的引用。
作为本发明的任务的又一种解决方案,从开头所提及的类型的计算机程序出发建议,-在初始化所述电子系统时,所述插件分别将信息提供给所述基本接口,该信息涉及+由相应的插件实施的至少一个功能;+所述相应的插件为了实施所述至少一个功能所需要的量;+由所述相应的插件在实施了所述至少一个功能之后提供的量;-所述基本接口将信息提供给各个插件,该信息涉及+其余插件中的哪一个提供该插件所需要的量,以及-在需要所述量的那个插件中存放对提供所述量的那个插件的相应的引用。
也即,在这种情况下,电子系统被构造为计算机程序,使得插件是计算机程序的操作子模块。也即因此本发明通过计算机程序来实现。
作为本发明的任务的另外的解决方案,从开头所提及的类型的电子系统出发建议,-在所述电子系统的初始化的范围内,所述插件分别将信息提供给所述基本接口,该信息涉及+由相应的插件实施的至少一个功能;+所述相应的插件为了实施所述至少一个功能所需要的量;+由所述相应的插件在实施了所述至少一个功能之后提供的量;-由所述基本接口将信息提供给各个插件,该信息涉及+其余插件中的哪一个提供该插件所需要的量,以及-在需要所述量的那个插件中存放对提供所述量的那个插件的相应的引用。


下面借助图进一步阐述本发明的优选的实施例。
图1示出根据第一优选实施形式的本发明电子系统;图2示出插件的构造;图3示出根据一个优选实施形式的本发明方法的流程图;以及图4示出根据另一优选实施形式的本发明电子系统。
具体实施例方式
在控制设备中,特别是在机动车控制设备中,由现有技术不仅针对软件而且针对硬件实现了即插即用机制(Plug-and-Play-Mechanismen)。由此例如可以在控制设备中通过对操作子模块(所谓的插件)的简单编程提供附加的或者另外的功能。在这样的情况下,插件部件被构造为软件。
同样可以通过附加的硬件模块的机械插入和电接触来改变或者扩展控制设备的功能。在这样的情况下,插件部件被构造为硬件。插件部件的一个特别优选的应用领域是在控制设备组合(Steuergeraete-Verbund)中,其中附加的控制设备可以被添加,并且例如可以通过CAN总线与其余的控制设备相连接。由此可以给控制设备组合提供附加的或者其它的功能。
然而已知的插件机制具有以下缺点,即不仅插件的功能而且插件的接口、即插件可以提供哪些量以及插件需要哪些量都必须事先是已知的,并且相应的资源必须被维持,而不依赖于插件部件实际上是否被连接。在这方面,事先意味着在集成新的插件部件的时刻。换句话说,在新的插件能够被集成之前,所说明的信息必须是已知的。因此,该信息被维持在电子系统中的中心位置处,并且可以在需要时从那里被调用。
这种已知的插件机制的一个例子是例如将ACC(自适应巡航控制)功能集成到机动车中现有的控制设备组合中。一旦ACC功能所需的硬件组件被安装到机动车中,这些硬件组件就立即或者在系统重新启动之后才发送规定的CAN消息,这些CAN消息在发动机控制设备中激活计算机程序中的相应的功能或者功能的接口。然而在此不利的是,ACC功能必须始终存在于计算机程序中或者相应的操作子模块(插件)必须始终存在于发动机控制设备中,而不依赖于ACC硬件是否被安装在机动车中。也就是说,即使当确定的功能在机动车中没有被实现,相应的资源也必须被提供和维持,以便在需要的情况下允许所希望的功能。
此外,在已知的插件机制中不利的是,待集成的功能还总是必须进行其余的系统的手动修改、例如连接附加地设置的操作子模块的新的进程。事后将附加的功能集成到已经被编程的(被刷新的)控制设备中、即所谓的现场(im Feld)更新或者升级同样不能实现或者只能以高昂的花费实现。
本发明恰恰在此着手。本发明能够实现新的插件在电子系统的初始化期间在运行时间中实施的到已经存在的系统中的简单的、全自动的集成。此外,本发明提供在系统中所使用的量(例如变量、函数、结构等等)的特别有利的可见性方案的前提。
借助本发明,可以通过附加的插件将新的或者改变的功能集成在控制设备上,而接口或者进程不必在准备阶段中就为该控制设备的其余系统所知。所建议的方案允许功能的事后的更新和升级,而不必为此例如在车间中对整个控制设备重新进行编程(刷新)。在将新的功能下载到控制设备上之后,该功能在系统中自动注册并且随后是完全能起作用的。尤其是根据本发明建议用于自动协调变化的访问和用于在考虑进程和变量的优先级的情况下自动连接进程的机制。
在图1中,本发明电子系统整体上用附图标记1来表示。该系统1包括基本接口2和多个连接到该基本接口上的插件部件(简称插件)3.1至3.n。该电子系统1可以以硬件方式实现,其中插件3.1至3.n于是为硬件部件,这些硬件部件可以被机械插入现有的系统中并且可以被电接触。这种以硬件方式实现的插件的例子是例如具有处理器、存储器和计算机程序的用于控制和/或调节机动车中的ACC功能的插入卡。通过附加地设置的处理器来防止该电子系统1的该处理器或其余处理器由于附加的ACC功能而被过多地使用。通常,附加的硬件插件的集成随着相应的软件插件的集成而出现。
然而,在图1中所示的实施例中,插件3.1至3.n以软件方式实现。也即,整个电子系统1是一个计算机程序,该计算机程序的功能可以通过添加或者去除插件3.1至3.n而被扩展、改变或者减少。
在基本接口2之下设置有基本软件4,该基本软件包括计算机程序的固定的、持久的部分,该部分不会由于插件的添加或者去除而改变。该基本软件例如涉及通过总线驱动程序(例如CAN软件)的通信。此外,在基本软件4中定义插件3.1至3.n与剩下的计算机程序沟通的方式和方法,而不依赖于所连接的插件3.1至3.n的数目和类型。此外,基本软件4还包括所谓的标识列表5,在电子系统1的初始化期间基本接口2至少可以间接地访问该标识列表。在标识列表5中列出(参见标识列表5的左列;ID1至IDm)并且解释(参见标识列表5的右列;A、B、C至M)了所有的在电子系统1中理论上可用的量(变量、函数等)。针对整个系统1而不是针对目前所连接的插件3.1至3.n来创建标识列表5。因此,该标识列表不依赖于所连接的插件3.1至3.n的数目和类型而总是具有相同的内容。更确切地说,量通过相应的名称或者Id来解析。这些名称或者Id被事先约定并且在标识列表5中被管理。
基本接口2被加建到电子系统1的基本软件4上,并且负责各个插件3.1至3.n之间的接口的解析。基本软件4是计算机程序的不按照插件方案结构化的部分(例如下层软件)。
在本发明中,在真正的插件部分9和插件接口10之间进行区分。插件3.1至3.n的构造在图2中被进一步示出。插件3.1至3.n的部分9包含插件3.1至3.n的真正的功能,并且部分10包含真正的初始化功能。插件3.1至3.n的部分9包含至少一个附加的或者被改变的功能,该功能应在运行时间期间被提供给系统1。该功能可以通过一个或者多个进程来实现,这些进程被包含在针对功能的部分9中。插件接口10在计算机程序的运行时间不具有功能,而是包含将函数初始化所需的信息8(例如功能9所使用的量)。基本接口2接管初始化本身。
从初始化函数10出发,调用所谓的初始化表22(附图标记23)。通过初始化表22,基本接口2得知初始化函数的地址。作为自变量,调用23包含指向被存放在另一个表24中的初始化例程的指针。表24中的初始化例程包含初始化函数的真正的功能。随后,由基本接口2将表24中的指向相应的初始化例程的地址(或指针)返回给初始化函数10(附图标记25)。
在图4中示出了根据另一优选实施形式的另一本发明电子系统1。该系统1包含多个彼此级联地布置的基本接口2。下方的基本接口2被构造为主接口2.1。被布置在其上的基本接口2被构造为所谓的子接口2.2。在所有接口2.1、2.2上都连接有插件3.1至3.n和/或子接口2.2。连接到接口2.1、2.2上的插件3.1至3.n在图4中仅仅象征性地、用虚线并且以少的数目示出。也即在图4中示出的系统结构中一些插件3.1至3.n不是直接、而是仅仅间接地通过子接口2.2连接到主接口2.1上。
接口2.1、2.2包含不同的区域。通过可见性方案,存在使用多个彼此分隔的(例如公共的、私有的、受保护的等等)变量区域的可能性。在此,变量被封装在相应的区域中。
在图4中示出的实施例中,接口2.1、2.2仅仅被划分为两个不同的区域、即公共区域11和私有区域12。只有位于接口2.1、2.2的公共区域11的公共量对于下级的(并且由此级别更高的)接口2.1、2.2来说才是可见的。
也即,在进行了初始化之后,在图4中的系统1中给出以下视野从主接口2.1出发,公共区域11延伸经过具有标记C、D和F的子接口2.2的公共区域11。也就是说,从主接口A的公共区域11出发,可以访问子接口C的公共区域11以及子接口D的公共区域11。换句话说,从主接口A的公共区域11出发能到达子接口C、D的公共区域。子接口F的公共区域11对于子接口D的公共区域11来说是可见的。
子接口E的公共区域11对于子接口C来说是可见的,但是对于主接口A来说不是可见的。其原因在于,位于子接口E的公共区域11上的量位于子接口C的私有区域12上,并且因此对于位于其下的接口A来说是不可见的。从主接口A出发,私有区域12延伸经过主接口A的私有区域12和子接口B的公共区域11。
根据本发明的用于电子系统1的初始化方法借助图3中的流程图在下面被进一步阐述。本方法在功能块30中开始。在功能块31中,基本接口2或者主接口2.1转向电子系统1的第一插件3.1或者子接口2.2。插件3.1将关于其所执行的进程的信息传送给基本接口2。这些信息例如涉及进程的时限(Zeitraster)、各个进程的优先级等等。此外,在功能块32中,插件3.1通知为了执行该进程它需要哪些量(变量、函数、结构等等)。
子接口2.2与插件3.1至3.n一样被处理。子接口2.2也将关于由连接到子接口2.2上的插件所执行的进程的信息发送给下级的(即级别更高的)的基本接口2。此外,子接口2.2通知连接到其上的插件为了执行其进程需要哪些量。
在功能块32中,插件3.1以将所需的第一个量传送给基本接口2而开始。为此,插件3.1将该量的相应的标识传送给基本接口2。随后,在功能块33中,依次向所有其余的插件3.2至3.n或者向所有连接到基本接口2上的子接口2.2询问,是否它们能够提供所需要的量。
一旦找到了能够提供所需要的量的插件3.2至3.n,就可以中止进一步的查找。当找到能够提供所需要的量的子接口2.2时,也可以中止进一步的查找。在这种情况下,随后这样的插件3.2至3.n或者这样的子接口2.2将提供所需要的量,其中基本接口2首先从该插件3.2至3.n或者从该子接口2.2得知其能够提供所需要的量。
然而也可以设想,继续查找,直到所有另外的插件3.2至3.n和所有的子接口2.2于是都被询问,它们是否能够提供所需要的量。从所有能够提供所需要的量的插件3.1至3.n和子接口2.2中可以选择这样的插件或者这样的子接口2.2,该插件或者该子接口2.2拥有具有最高优先级的用于确定所需要的量的进程。在这种情况下,具有用于确定所需要的量的最高优先级的进程的插件3.2至3.n或者子接口2.2将被选择。
最后也可以设想,简单地选择能够提供所需要的量的最后一个插件3.2至3.n。替代地,也可以选择能够提供所需要的量的最后一个子接口2.2。
在查找能够提供所需要的量的插件3.2至3.n时,或者在查找能够提供所需要的量的子接口2.2时,基本接口2也可以在公共量和私有量之间进行区分。这意味着,基本接口2询问插件3.1至3.n和子接口2.2,是否这些插件3.1至3.n和子接口2.2能够提供在所期望的(私有或者公共)区域中的所需要的量。
决定性的是,提供插件3.1在执行其进程时所需要的确定的量的插件3.2至3.n或者子接口2.2被选择。插件3.1在执行其进程时必须能够访问被提供的量。
为了该目的,在功能块34中随后将信息传送给插件3.1,这些信息允许插件3.1在执行其进程期间访问在相应位置处的所需要的量。因此例如建议在第一插件3.1中存放指针13(参见图1),该指针指向其余插件3.2之一中的存储区14。在存储区14中,第一插件3.1所需要的量由其它插件3.2存放并且可能被定期更新。针对指针13,在插件3.1中设置有字段15,指针13的目标地址可以被存放在该字段中。针对插件3.1为了执行进程所需要的其它量,设置有另外的字段16,在这些字段中同样可以存放指向存储区的指针,其中在执行进程期间可以从该存储区获取所需要的量。
但是也可以替代地在插件中、例如在插件3.3中仅仅保留唯一的字段17,虽然在插件3.3的进程中需要多个量。在字段17中存放有指针18的地址,该指针指向结构19。结构19可以被存放在任意的插件3.1至3.n中或者在基本软件4中。在结构19中,在预先给定的位置处或者在预先给定的字段中存放有确定的量。这些量可以直接被存放在结构19的字段中,或者在字段中存放有另外的指针20,这些指针指向插件3.1至3.n之一中或者基本接口2中的相应的存储区21,所需要的量于是被存储在该存储区中。
在这种情况下,当需要确定的量时,首先从插件3.3跳到结构19的开头。在那里随后根据所需要的量跳到结构19的相应的字段中。在所示的实施例中,跳到结构19的第三字段中,在该第三字段中存放有指向插件3.n中的存储区21的指针20的地址。从那里获取所需要的量的当前值。随后继续执行插件3.3中的被中断的进程。
通过使用结构19,在插件中可以节省用于指针13、18的存储位置,因为代替插件3.1中的字段15、16,只需维持插件3.3中的一个字段。
在询问块35中检验,是否针对插件3.1所需要的所有量向插件3.1传送信息,这些信息允许插件3.1在执行其进程期间访问这些量。如果否,则分岔到功能块32,在功能块32中插件3.1以将下一个所需要的量传送给基本接口2继续进行。一直经历包括功能块32至34和询问块35的循环,直到针对插件3.1所需要的所有量向插件3.1传送了信息。
一旦情况如此,则分岔到另外的询问块36,在那里检验,是否所有连接到基本接口2上的插件3.1至3.n和基本接口2的所有子接口2.2都已经通知了,它们为了执行它们的进程需要哪些量。如果否,则分岔到功能块31,在那里下一个插件3.2或者基本接口2的下一个子接口2.2通知关于其进程的信息。在包括块32至35的下一个循环中,随后向下一个插件3.2传送信息,即它可以在哪里访问它所需要的量。一直经历包括功能块31至34以及询问块35和36的循环,直到所有连接到基本接口2上的插件3.1至3.n和基本接口2的所有子接口2.2都已经通知了,它们为了执行它们的进程需要哪些量。一旦情况如此,就在功能块37中结束本发明方法。
自然,在图3中所示的方法的变型方案中也可以,首先询问全部的插件3.1至3.n和全部的子接口2.2关于它们所需要的量,并且将插件3.1至3.n和子接口2.2的回答首先存放在表或者类似物中。随后所有的插件3.1至3.n和所有的子接口2.2于是可以被询问,它们在执行在它们中所实现的进程的范围内可以提供哪些量。这些量也可以被存储在表或者类似物中。接着,使被存放在表中的所需要的以及被提供的量以适当的方式彼此联系,并且插件3.1至3.n和子接口2.2必须借助指针13、18彼此连接。
不依赖于本发明方法的详细的具体实现,决定性的是,连接到系统1上的插件3.1至3.n输出关于由它们实施的功能、即例如关于在它们中所实现的进程的优先级、时限等等的信息。同样,插件3.1至3.n必须说明它们为了执行在它们中所实现的进程所需要的量以及为它们通过执行在它们中所实现的进程而能够提供的那些量命名。所有这些信息都在基本接口2中汇合并且在那里以适当的方式被处理。作为基本接口2中的处理的结果,向需要确定的量的插件3.1至3.n递交指向存储区14、21或者结构19的指针13、18,其中插件3.1至3.n可以在执行进程期间、即在计算机程序的运行时间期间从这些存储区14、21或者结构19获取所需要的量。
本发明方法通过一种通信协议来实现,该通信协议在电子系统1的至少一个计算设备上被执行。该计算设备尤其是微处理器或者微控制器。这种用于执行通信协议的计算设备例如存在于基本接口2中和插件3.1至3.n中的每一个中或者存在于子接口2.2中。在系统1启动时,除了操作系统之外用于由计算设备执行的通信协议也被加载,并且全自动地被执行。当然,通信协议也可以在系统1的复位(所谓的Reset)之后被执行,而无需系统1的完全的重新启动。
如果在根据本发明的初始化方法的范围内主接口2.1向子接口2.2询问关于所执行的功能或者进程、所需要的量和被提供的量的信息,则子接口2.2将这些询问在可见性方案的范围内转发给连接到其上的插件3.1至3.n。
为了在初始化的范围内由不同的插件3.1至3.n以及由基本软件4产生能起作用的和能运行的程序,在初始化期间除了上述的步骤之外还执行以下步骤插件3.1至3.n和基本软件4中的待执行的进程的起始地址被录入到列表中。这些列表由主接口2.1为操作系统的确定的任务周期(例如10ms)提供。在初始化时,在操作系统任务中要调用的进程被录入到调度程序的相应的列表中。针对间隔时间(例如30ms)计算因子(Teiler),这些因子在第n次任务通过时(例如在10ms任务时每3次)才开始该调用。主接口2.1的进程列表被录入到任务管理器中,或者从任务管理器中调用录入项。还要注意的是,插件3.1至3.n并不一定必须包含进程。
在计算机程序的运行时间期间,即在进行了初始化之后,插件函数通过指针13、18访问其所需要的量。为了保证插件3.1至3.n之间的唯一的通信,通过唯一的标识、所谓的标识号码ID来引用(referenziert)所有的量。这些标识包含关于相应的量的物理内容、单位、数据类型以及换算公式的说明。然而,这以协调或者管理所有可供使用的标识的中心机构为前提。所有可供使用的标识的协调或者管理通过基本接口2对标识列表5的访问来进行。
根据本发明的初始化方法具有一些重要的优点一方面,在集成不同的插件的时刻,导致显著的时间节省。当一个或多个插件由一个供应商提供时,该供应商负责将插件按照上面介绍的可见性方案来结构化的任务。在集成的时刻,仅还需将插件插入剩下的系统1中。所有其它的任务都由主接口2.1在初始化期间全自动地完成。也就是说,集成器不再必须进行与剩余系统1的匹配(例如连接进程等等)。根据本发明的系统结构例如可以被用于控制设备、特别是被用于机动车控制设备(例如发动机控制设备),其中由不同的供应商在该控制设备上集成应用或者功能。
事后的升级、即现场将功能再加载到控制设备上是可能的,而不必将该控制设备完全重新编程(刷新)。上面所描述的系统方案能够实现功能的事后刷新。在此情况下,事后意味着客户可以按照“软件加油站”的方式下载新的程序部分。在相应的加载设备上,例如在加油站或者在工作室中,可以将所希望的功能下载(刷新)到控制设备的规定区域中。在根据本发明方法初始化之后,该功能在总系统1中或者在车辆中是可用的,而客户不必再以任何方式干预。
权利要求
1.用于初始化包括至少一个基本接口(2)和多个连接到该基本接口上的模块式插件(3.1,…,3.n)的电子系统(1)的方法,其特征在于,-在初始化所述电子系统(1)时,由所述插件(3.1,…,3.n)分别将信息提供给所述基本接口(2),该信息涉及+由相应的插件(3.1,…,3.n)实施的至少一个功能;+所述相应的插件(3.1,…,3.n)为了实施所述至少一个功能所需要的量;+由所述相应的插件(3.1,…,3.n)在实施了所述至少一个功能之后提供的量;-由所述基本接口(2)将信息提供给各个插件(3.1,…,3.n),该信息涉及+其余插件(3.1,…,3.n)中的哪一个提供该插件(3.1,…,3.n)所需要的量,以及-在需要所述量的那个插件(3.1,…,3.n)中存放对提供所述量的那个插件(3.1,…,3.n)的相应的引用。
2.根据权利要求1的方法,其特征在于,所述至少一个功能通过至少一个进程来实现。
3.根据权利要求2的方法,其特征在于,涉及功能的信息包括用于执行所述至少一个进程的时限和所述至少一个进程的优先级。
4.根据权利要求1至3之一的方法,其特征在于,在需要量的插件(3.1,…,3.n)中将指向存储位置(14)的指针(13)作为引用存放,其中由其余插件(3.1,…,3.n)之一将所需要的量存储在所述存储位置上。
5.根据权利要求1至3之一的方法,其特征在于,在需要量的插件(3.1,…,3.n)中将指向结构(19)的指针(18)作为引用存放,其中由其余插件之一将所需要的量存储在所述结构中的预先给定的位置处。
6.根据权利要求2或3的方法,其特征在于,如果由多个插件(3.1,…,3.n)提供确定的量,则将这样的插件(3.1,…,3.n)的量用于进一步处理,其中该插件的用于确定所述量的进程具有最高的优先级。
7.根据权利要求1至5之一的方法,其特征在于,如果由多个插件(3.1,…,3.n)提供确定的量,则将这样的插件(3.1,…,3.n)的量用于进一步处理,其中所述基本接口(2)首先从该插件获得信息,即该插件(3.1,…,3.n)或者该插件(3.1,…,3.n)的进程能够提供所需要的量。
8.根据权利要求1至5之一的方法,其特征在于,如果由多个插件(3.1,…,3.n)提供确定的量,则将这样的插件(3.1,…,3.n)的量用于进一步处理,其中所述基本接口(2)最后从该插件获得信息,即该插件(3.1,…,3.n)或者该插件(3.1,…,3.n)的进程能够提供所需要的量。
9.根据权利要求1至8之一的方法,其特征在于,所述基本接口(2)能够访问具有信息的初始化表(22),其中各个插件(3.1,…,3.n)被存放在该初始化表中。
10.特别是根据权利要求1至9之一的、用于初始化包括至少一个基本接口(2)和多个连接到该基本接口上的模块式插件(3.1,…,3.n)的电子系统(1)的方法,其特征在于,所述基本接口(2)之一被构造为主接口(2.1)并且其余的基本接口(2)被构造为子接口(2.2),其中除了所述插件(3.1,…,3.n)之外子接口(2.2)也连接到所述主接口(2.1)上,另外的子接口(2.2)和/或另外的插件(3.1,…,3.n)又连接到这些子接口上,并且以此类推,其中所述接口(2.1,2.2)被划分为不同的区域(11,12),并且只有位于所述接口(2.1,2.2)的相同区域内的量对于下级的接口(2.1,2.2)来说才是可见的。
11.根据权利要求10的方法,其特征在于,所述接口(2.1,2.2)被划分为私有区域(12)和公共区域(11),并且只有位于接口(2.2)的公共区域(11)上的公共量对于下级的接口(2.1,2.2)来说才是可见的。
12.根据权利要求1至11之一的方法,其特征在于,所述插件(3.1,…,3.n)所需要的或者由所述插件(3.1,…,3.n)提供的每个量都被分配对于所述电子系统(1)的规定的区域来说明确的标识(Id i)。
13.根据权利要求12的方法,其特征在于,所述量的标识(ID i)被存放在标识列表(5)中,所述基本接口(2)在所述电子系统(1)的初始化期间能够访问该标识列表。
14.用于在电子系统(1)的初始化期间在所述电子系统(1)的至少一个计算设备上执行的通信协议,其中所述电子系统包括至少一个基本接口(2)和多个连接到该基本接口上的模块式插件(3.1,…,3.n),其特征在于,这样对所述通信协议进行编程,使得-在初始化所述电子系统(1)时,由所述插件(3.1,…,3.n)分别将信息提供给所述基本接口(2),该信息涉及+由相应的插件(3.1,…,3.n)实施的至少一个功能;+所述相应的插件(3.1,…,3.n)为了实施所述至少一个功能所需要的量;+由所述相应的插件(3.1,…,3.n)在实施了所述至少一个功能之后提供的量;-由所述基本接口(2)将信息提供给各个插件(3.1,…,3.n),该信息涉及+其余插件(3.1,…,3.n)中的哪一个提供该插件(3.1,…,3.n)所需要的量,以及-在需要所述量的那个插件(3.1,…,3.n)中存放对提供所述量的那个插件(3.1,…,3.n)的相应的引用。
15.用于在数据处理设备的计算设备上执行的计算机程序,其中所述计算机程序包括至少一个基本接口(2)和多个连接到该基本接口上的插件(3.1,…,3.n),其特征在于,-在初始化所述计算机程序时,所述插件(3.1,…,3.n)分别将信息提供给所述基本接口(2),该信息涉及+由相应的插件(3.1,…,3.n)实施的至少一个功能;+所述相应的插件(3.1,…,3.n)为了实施所述至少一个功能所需要的量;以及+由所述相应的插件(3.1,…,3.n)在实施了所述至少一个功能之后提供的量;-所述基本接口(2)将信息提供给各个插件(3.1,…,3.n),该信息涉及+其余插件(3.1,…,3.n)中的哪一个提供该插件(3.1,…,3.n)所需要的量,以及-在需要所述量的那个插件(3.1,…,3.n)中存放对提供所述量的那个插件(3.1,…,3.n)的相应的引用。
16.具有用于执行通信协议的计算设备的电子系统(1),其中所述电子系统(1)包含至少一个基本接口(2)和多个连接到该基本接口上的模块式插件(3.1,…,3.n),其特征在于,-在所述电子系统(1)的初始化的范围内,所述插件(3.1,…,3.n)分别将信息提供给所述基本接口(2),该信息涉及+由相应的插件(3.1,…,3.n)实施的至少一个功能;+所述相应的插件(3.1,…,3.n)为了实施所述至少一个功能所需要的量;+由所述相应的插件(3.1,…,3.n)在实施了所述至少一个功能之后提供的量;-由所述基本接口(2)将信息提供给各个插件(3.1,…,3.n),该信息涉及+其余插件(3.1,…,3.n)中的哪一个提供该插件(3.1,…,3.n)所需要的量,以及-在需要所述量的那个插件(3.1,…,3.n)中存放对提供所述量的那个插件(3.1,…,3.n)的相应的引用。
全文摘要
本发明涉及一种用于初始化具有基本接口(2)和多个连接到该基本接口上的模块式插件(3.1-3.n)的电子系统(1)的方法。为了能够实现插件(3.1-3.f)的灵活的添加和去除,根据本发明建议,在系统(1)的初始化的范围内基本接口(2)和插件交换信息。插件通知其包含哪些进程(优先级、时限等等)。此外,插件通知其为了执行进程需要哪些量(变量、函数、结构等等)以及其在执行进程的范围内能够提供哪些量。借助所获得的信息,基本接口执行各个插件之间的相互关联,使得插件获得相应的引用,即插件在执行进程期间在哪里可以访问所需要的量。这些引用例如是指向存储区(14)的指针(13)或者指向另一插件中的结构(19)的指针(18)。
文档编号G05B19/04GK101080692SQ200580042955
公开日2007年11月28日 申请日期2005年11月25日 优先权日2004年12月15日
发明者E·洛克, D·拉比亚, A·比歇尔, V·温施, B·德尔 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1