A method of operating a computer system includes providing a program in
memory, verifying the program prior to an installation of the program and
generating a program fault signal when the verification fails. The program
includes at least one program unit, and each program unit includes an
Application Programming Interface (API) definition file and an
implementation. Each API definition file defines items in its associated
program unit that are made accessible to one or more other program units
and each implementation includes executable code corresponding to the API
definition file. The executable code includes type specific instructions
and data. Verification includes determining whether a first program unit
implementation is internally consistent, determining whether the first
program unit implementation is consistent with a first program unit API
definition file associated with the first program unit implementation and
generating a program fault signal when the verifying fails. A
resource-constrained device includes a memory for providing a remotely
verified application software program that includes at least one program
unit, each program unit comprising type specific instructions and data.
The resource-constrained device also includes a virtual machine that is
capable of executing instructions included within the application software
program. The remote verification uses an API definition file for each
implementation to determine whether a first program unit implementation is
internally consistent and to determine whether the first program unit
implementation is consistent with a first program unit API definition file
associated with the first program unit implementation.
Un metodo di funzionamento del sistema di elaborazione include fornire un programma nella memoria, la verificazione del programma prima di un'installazione del programma e la generazione del segnale del difetto di programma quando la verifica viene a mancare. Il programma include almeno un'unità di programma ed ogni unità di programma include una lima di definizione dell'interfaccia di programmazione di applicazione (api) e un'esecuzione. Ogni lima di definizione di api definisce gli articoli nella relativa unità collegata di programma che sono resi accessibili ad una o più altre unità di programma ed ogni esecuzione include il codice eseguibile che corrisponde alla lima di definizione di api. Il codice eseguibile include il tipo istruzioni specifiche e dati. La verifica include la determinazione se una prima esecuzione dell'unità di programma è internamente costante, determinando se la prima esecuzione dell'unità di programma sia costante con una prima lima di definizione dell'unità api di programma connessa con la prima esecuzione dell'unità di programma e la generazione del segnale del difetto di programma quando la verificazione viene a mancare. Un dispositivo risorsa-costretto include una memoria per fornire un programma a distanza verificato del software di applicazione che include almeno un'unità di programma, ogni unità di programma che contiene il tipo istruzioni specifiche e dati. Il dispositivo risorsa-costretto inoltre include una macchina virtuale che è capace di esecuzione delle istruzioni incluse nell'ambito del programma del software di applicazione. La verifica a distanza usa una lima di definizione di api per ogni esecuzione per determinare se una prima esecuzione dell'unità di programma sia internamente costante e determinare se la prima esecuzione dell'unità di programma sia costante con una prima lima di definizione dell'unità api di programma connessa con la prima esecuzione dell'unità di programma.