EP1250643A2 - Interface generique pour module de logiciel - Google Patents

Interface generique pour module de logiciel

Info

Publication number
EP1250643A2
EP1250643A2 EP00961345A EP00961345A EP1250643A2 EP 1250643 A2 EP1250643 A2 EP 1250643A2 EP 00961345 A EP00961345 A EP 00961345A EP 00961345 A EP00961345 A EP 00961345A EP 1250643 A2 EP1250643 A2 EP 1250643A2
Authority
EP
European Patent Office
Prior art keywords
software module
software
module
state
operative
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.)
Withdrawn
Application number
EP00961345A
Other languages
German (de)
English (en)
Inventor
Jean-Pierre Dalmasso
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of EP1250643A2 publication Critical patent/EP1250643A2/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Definitions

  • This invention relates to software and the control of software modules. More particularly, this invention relates to an apparatus and method for controlling a software module with a generic interface, such as performing a synchronous task like the control of a hardware chipset within a device, for example, within a portable telecommunications device.
  • GSM Groupe Special Mobile
  • GSM handsets use complex signaling protocols which are required for proper operation of a GSM handset.
  • the complex signaling protocols are implemented in a GSM Protocol Stack which provides a complete multiband handset solution when coupled with one or more layers of internal operating software.
  • the layered operating software is a layered structure that closely follows a software architecture that is defined by a specification for the GSM standard. Specific architecture and developments for the GSM standard are made by the European Telecommunications Standard Institute (ETSI) via a Special Mobile Groupe (SMG) technical committee. A set of technical specifications is published by the Publications Office of ETSI, and such publication is herein incorporated by reference as though set forth in full.
  • the GSM standard has many applications including utilization on hand-held devices, portable devices, transportable devices, portable phone systems, computer systems, modems, and other systems where the utilization of GSM mobile station functionality is desired.
  • GSM architecture functionality In order to add GSM architecture functionality to many devices, software modules and hardware modules are utilized. However, the utilization of software modules presents problems during the design of such devices. Disclosure of the Invention
  • An apparatus and method are provided for controlling a software module.
  • the control is achieved by sending events to a software module.
  • the events are used to control specific behavior of the software module.
  • the software module performs a synchronous task; e.g., the control of a hardware chipset for a GSM handset.
  • an apparatus for controlling a software module which includes a software module having at least one input port and an output port, the module operative to perform a task.
  • a linking interface communicates with the module and is operative to control a state of the software module.
  • Memory is operative to store a plurality of inputs that configure states for the module, and processing circuitry communicates with the memory and the interface and is operative to control the state of the module by delivering one of the inputs from the memory to the linking interface.
  • a software module control system for controlling a software module having at least one input port and an output port.
  • An interface is configured to communicate with a software module and is operative to control an operating state of the software module.
  • Processing circuitry communicates with the interface and is operative to selectively control the operating state of the software module by delivering an input that configures an operating state of the software module.
  • a method for controlling a software module which includes a software module having at least one input port and an output port, wherein the software module is operative to perform a task.
  • the method also includes a plurality of events that configure the software module into respective operating states; applying one of the events to the software module to configure the operating state of the software module.
  • One advantage of the present invention is improved control of a software module.
  • Fig. 1 is a block diagram of a GSM handset and mobile station system utilizing an apparatus for controlling an internal software module according to Applicant's invention.
  • Fig. 2 is a schematic block diagram illustrating the manner in which software modules are organized within one or more layers of a computer program, in this case how a GSM stack is organized within a mobile phone handset.
  • Fig. 3 is a schematic block diagram illustrating the manner in which events are sent to a synchronous software module in order to control the software module.
  • Fig. 4 is a flowchart illustrating operation of the method and system according to one aspect of Applicant's invention. Best Modes for Carrying Out the Invention and Disclosure of Invention
  • GSM Global System for Mobile Communications
  • GSM Global System for Mobile Communications
  • a "software module” is understood to refer to a logically self-contained and discrete part of a larger program, and can include objects, functions, procedures, routines and applications.
  • a complete application program is formed from one or more software modules, or program modules.
  • a software module is configured to accept logical inputs and logical outputs.
  • the software module carries out a set of processing actions which are reflected in the output.
  • a software module will be designed with only one input and one output which form a single entry point and exit point.
  • a software module can have more than one input and output.
  • a software module is used to implement a subroutine where there exists only a single input and output, or entry and exit points.
  • Software modules are a product of modular programming which enables breakdown of complex tasks into smaller and simpler subtasks which facilitates the design and test of complex functional programs.
  • the interactions between individual software modules has heretofore been very restricted. Although this greatly simplifies the understanding as to how a program works, improved techniques for communicating and controlling software modules pursuant to Applicant's invention are greatly needed.
  • FIG. 1 is a block diagram of a GSM handset and mobile station system that includes a GSM stack with software layers and software modules that benefit by utilizing Applicant's apparatus and method for controlling particular software modules.
  • an interface is provided that sends specific events to software modules in order to implement control of such modules.
  • a GSM handset 10 includes a GSM stack 12 and internal hardware components carried on one or more circuit boards 14 and 16. Processing circuitry 18 is included on boards 14 and 16 along with memory 20.
  • circuit boards 14 and 16 also include additional hardware such as a digital signal processor, transceiver circuitry, a source coding bank and a data codec.
  • additional hardware such as a digital signal processor, transceiver circuitry, a source coding bank and a data codec.
  • GSM handset 10 is a portable electronic communications device that utilizes a software package that includes layers and modules that will benefit from implementation of Applicant's invention. More particularly, handset 10 includes software in the form of GSM stack 12.
  • Stack 12 includes a plurality of software layers identified for purposes of illustration as layers 22-24. Such software layers are used to subdivide a software stack into discrete components so that design and test can be subdivided into various different organizations or groups.
  • layers functions in higher, or outer, layers call functions in lower, or inner, layers.
  • layer 1 identified by reference numeral 22, might be a lower level layer that is developed by Company A, while mid-level layer 23 is developed by Company B.
  • higher layers are implemented in terms of the functionality of lower layers.
  • a software module is a self-contained software component that cooperates interactively with a larger program or system.
  • a software module is designed to implement a specific task within a larger software program.
  • software modules are utilized in modular programming where the design of a program is broken down into individual components, or modules, that are each capable of being independently programmed and tested. Modular programming has become a necessity when designing, developing, and maintaining relatively large software projects. A similar approach has been undertaken with respect to the use of self- contained hardware modules.
  • OOPS object-oriented programming
  • GSM stack 12 is broken into several layers 22-24, and each layer may be broken down into a plurality of individual software modules.
  • layer 22 is shown broken down into individual software modules 26-28.
  • Layer 23 includes module 29, whereas layer 24 includes module 30.
  • a link is provided between software modules 26-27 via an interface 32.
  • a similar link is provided by interface 34 between modules 29 and 30.
  • Interface 32 comprises a linking interface that communicates with associated software modules 26 and 27. Interface 32, in operation, is operative to control the behavior of software modules 26 and/or 28. As shown in Figure 2, interface 32 is provided between two software modules
  • interface 32 can also be provided between software modules present in different software layers; e.g., software modules present in “Layer 1 " and “Layer 2" identified by reference numerals 22 and 24. Layers 22 and 24 are both contained within the GSM stack 12.
  • Interface 34 illustrates a link between module 29, located in a lower layer of GSM stack 12, and module 30, located in an upper layer of GSM stack 12.
  • Such link can be implemented over a logical input of a software module.
  • the link is implemented over a single input of a software module.
  • the software module has a plurality of inputs, and a dedicated input is provided for the link, or interface.
  • a software developer can develop a lower level module, such as module 29, for a program stack 12, while upper levels, or layers, in stack 12 are being developed by other companies.
  • the control features of Applicant's invention enabled via interface 34, provide for control of specific software modules via a series of "EVENTS". These specific "EVENTS" can be used to put a software module into a specific operating state.
  • a software module can be controlled by events which enable the placement of a software module into a specific state.
  • each software module can be a specific task that is to be performed within the software stack.
  • Two events can be defined for controlling the state of the software module. For example, one event can drive the software module to an active state, while another event can drive the software module to a deactivated state.
  • events can be sent to a module which is very useful for software applications such as GSM applications since an event can be used to send a command to a software module where one event activates the state and the other event deactivates the state.
  • Processing circuitry in the form of a processor, microprocessor or microcontroller, implement the control of individual software modules by delivering such events and logical inputs to a software module via a linking interface, and by receiving logical outputs from the software module. Accordingly, the processing circuitry regulates communication between software modules, and sets the control of individual software modules.
  • one event can set a software module into an idle mode, while another event can set a software module into a dedicate mode.
  • Such events can be applied to all modules in a software system, such as a GSM stack. Accordingly, the events are used to control the behavior of the respective software module.
  • a list of possible events is provided as follows:
  • TICK - This event is used to generate a clock for the software module.
  • the START event and STOP event are treated after the occurrence of the TICK event.
  • E. STOP - This event is used to stop the process of the software module.
  • interface 32 enables the application of events 36 to specific software modules such as software module 26 from external sources, such as from other software modules.
  • Each event 36 is operative to generate a change in state for the software module.
  • the events 36 on the list described above are identified as follows: activate event 38; deactivate event 39; tick event 40; start event 41; and stop event 42.
  • activate event 38 and deactivate event 39 cause "wake-up" and
  • tick event 39 provides a clock pulse for the software module. In operation, it is required that tick event 40 precede use of start event 41 and stop event 42. Start event 41 is used to start the process of the software module, whereas stop event 42 is used to stop the process of the software module.
  • tick event 40 a "tick” is a unit of time, or time frame, utilized within GSM.
  • a single “tick” has a defined unit length somewhere in the range of 6/1300 milliseconds and provides the reference clock of GSM. Everything in GSM is regulated by this reference clock, and a tick event is sent to each frame of the time frame. In this manner, the behavior of the module can be controlled synchronously.
  • FIG. 4 illustrates a process flow diagram showing logic processing for configuring the operating state of a software module. Such process flow diagram is implemented on processing circuitry 18 (of Fig. 1). More particularly, Figure 4 illustrates the process of configuring the operating state of a software module. The logic flow diagram illustrates the steps implemented by processing circuitry when configuring such software module.
  • Step "SI” a software module is provided having at least one input port and an output port, wherein the software module is operative to perform a task. After performing Step “SI ", the process proceeds to Step "S2".
  • Step "S2" one or more events are provided that configure the software module into one or more operating states. For example, a plurality of events are provided that configure the software module into respective operating states. After performing Step “S2", the process proceeds to Step "S3".
  • Step "S3" the processing circuitry is used to apply one of the events to the software module in order to configure the operating state of the software module. More particularly, the processing circuitry applies one of the events to the software module in order to configure the operating state of the software module.
  • Step "S3" the software module configuration technique of Applicant's invention terminates.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

L'invention concerne un appareil permettant de commander un module de logiciel, qui comprend un module de logiciel possédant au moins un port d'entrée et un port de sortie, ledit module servant à effectuer une tâche. Une interface de liaison communique avec le module, et commande un état du module de logiciel. La mémoire stocke une pluralité d'entrées qui configurent les états du module, et un circuit de traitement communique avec la mémoire et l'interface, et commande l'état du module par fourniture de l'une des entrées de la mémoire vers l'interface de liaison. L'invention concerne également un procédé.
EP00961345A 1999-08-23 2000-08-18 Interface generique pour module de logiciel Withdrawn EP1250643A2 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US37955699A 1999-08-23 1999-08-23
US379556 1999-08-23
PCT/US2000/022904 WO2001014960A2 (fr) 1999-08-23 2000-08-18 Interface generique pour module de logiciel

Publications (1)

Publication Number Publication Date
EP1250643A2 true EP1250643A2 (fr) 2002-10-23

Family

ID=23497743

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00961345A Withdrawn EP1250643A2 (fr) 1999-08-23 2000-08-18 Interface generique pour module de logiciel

Country Status (3)

Country Link
EP (1) EP1250643A2 (fr)
JP (1) JP2003513346A (fr)
WO (1) WO2001014960A2 (fr)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043636B2 (en) 2000-09-26 2006-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Data integrity mechanisms for static and dynamic data
US7240830B2 (en) 2002-02-15 2007-07-10 Telefonaktiebolaget Lm Ericsson (Publ) Layered SIM card and security function
US7536181B2 (en) 2002-02-15 2009-05-19 Telefonaktiebolaget L M Ericsson (Publ) Platform system for mobile terminals
US7363033B2 (en) 2002-02-15 2008-04-22 Telefonaktiebolaget Lm Ericsson (Publ) Method of and system for testing equipment during manufacturing
US7286823B2 (en) 2002-02-15 2007-10-23 Telefonaktiebolaget Lm Ericsson (Publ) Mobile multimedia engine
US7415270B2 (en) 2002-02-15 2008-08-19 Telefonaktiebolaget L M Ericsson (Publ) Middleware services layer for platform system for mobile terminals
US8079015B2 (en) 2002-02-15 2011-12-13 Telefonaktiebolaget L M Ericsson (Publ) Layered architecture for mobile terminals
US7149510B2 (en) 2002-09-23 2006-12-12 Telefonaktiebolaget Lm Ericsson (Publ) Security access manager in middleware
US7350211B2 (en) 2002-09-23 2008-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Middleware application environment
US7478395B2 (en) 2002-09-23 2009-01-13 Telefonaktiebolaget L M Ericsson (Publ) Middleware application message/event model
US8762977B2 (en) * 2008-04-10 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Mobile device software management method and apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4695977A (en) * 1985-12-23 1987-09-22 American Telephone And Telegraph Company And At&T Bell Laboratories Control of real-time systems utilizing a nonprocedural language

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0114960A3 *

Also Published As

Publication number Publication date
WO2001014960A2 (fr) 2001-03-01
WO2001014960A3 (fr) 2002-08-15
JP2003513346A (ja) 2003-04-08

Similar Documents

Publication Publication Date Title
WO2001014960A2 (fr) Interface generique pour module de logiciel
US7774021B2 (en) Communication terminal apparatus
EP0581478B1 (fr) Module d'interface sérielle et procédé de transmission de données
KR100542436B1 (ko) 유무선 인터넷 전화용 시스템온칩 개발 장치
EP0820675A1 (fr) Poste telephonique numerique a ecran pourvu d'une interface utilisateur graphique
KR20040004364A (ko) 무선 기기에서 기능 객체의 다이내믹한 로딩 및 생성
JPH11355861A (ja) 加入者識別モジュ―ルと協働する無線通信の移動装置への表示をパラメ―タ化するための方法
US20020059481A1 (en) Method and apparatus for a multimedia application specific processor
US7522583B2 (en) Communication terminal for wire and wireless internet phone
US6427178B2 (en) Software modem having a multi-task plug-in architecture
EP2667284A1 (fr) Système de commande
CN101116314A (zh) 协同运行方法和通信终端装置
KR100298494B1 (ko) 사설 교환기에서 디이씨티 라인 카드의 외부 핸드오버 처리 방법
JPH04257150A (ja) 通信機
JP4392160B2 (ja) プログラマブルな無線装置用の集積回路構造
KR20060056411A (ko) 이동 통신 단말 장치, 및 이동 통신 단말 장치용 코어 모듈및 기능 모듈
CN106502333A (zh) 电子设备及其控制方法
CN1096782C (zh) 带电信功能便携型数据终端设备及使用它的信息处理系统
MXPA04003339A (es) Multiplexor de puerto de interfase multiple.
US20040010677A1 (en) Method and apparatus for downloading program by using hand shaking in digital signal processing
CN111459870A (zh) 一种嵌入式程序自适应加载方法
KR0165616B1 (ko) 키폰전용단말기의 등록 방법
US20030120832A1 (en) Method and apparatus for configuring integrated circuit devices
US6614812B1 (en) Computer telephony integrated module system
KR200209479Y1 (ko) 모듈화된 통신장치

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

17P Request for examination filed

Effective date: 20030217

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20030724

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB