Wireless device operating system (OS) application programmer's interface (API)
First Claim
1. A method for exporting a specification and description language (SDL) software model to different operating systems, the method comprising:
- providing an SDL software model;
providing an SDL porting layer, the SDL porting layer converting the SDL software model to an operating environment whereinthe operating environment is common to all the different operating systems; and
providing a plurality of operating system abstraction layers, each abstraction layer designed to abstract the operating environment to at least one targeted operating system;
wherein the plurality of abstraction layers utilize a naming convention to specify which modules are operating system (OS) dependent and which are OS independent; and
wherein the abstraction layer comprises a plurality of OS constructs, the plurality of OS constructs further comprising;
a Thread, said thread including an independent path of execution;
a Process, said process including an independent path of execution with its own protected address space;
a Thread Group, said Thread Group including a grouping of threads, managed collectively to synchronize their execution;
a Mutex, said Mutex including a Thread synchronization element providing mutual exclusion to shared resources; and
an Event, said Event including a Thread synchronization element, allowing threads to coordinate execution.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention relates to various aspects for modeling software, preferably for use in wireless communication devices. One aspect relates to targeting a software model to a plurality of different operating systems/operating system combinations. Another aspect relates to porting the software model to an operating environment common to all operating systems. Another aspect relates to abstracting the operating environment to an operating system/operating system combination. Another aspect relates to handling inter-processor communication. Another aspect relates to a common time manager. Another aspect relates to porting code developed using a single thread modeling tool to a multiple threaded environment. Another aspect relates to synchronizing groups of threads.
-
Citations
19 Claims
-
1. A method for exporting a specification and description language (SDL) software model to different operating systems, the method comprising:
-
providing an SDL software model; providing an SDL porting layer, the SDL porting layer converting the SDL software model to an operating environment wherein the operating environment is common to all the different operating systems; and providing a plurality of operating system abstraction layers, each abstraction layer designed to abstract the operating environment to at least one targeted operating system; wherein the plurality of abstraction layers utilize a naming convention to specify which modules are operating system (OS) dependent and which are OS independent; and
wherein the abstraction layer comprises a plurality of OS constructs, the plurality of OS constructs further comprising;a Thread, said thread including an independent path of execution; a Process, said process including an independent path of execution with its own protected address space; a Thread Group, said Thread Group including a grouping of threads, managed collectively to synchronize their execution; a Mutex, said Mutex including a Thread synchronization element providing mutual exclusion to shared resources; and an Event, said Event including a Thread synchronization element, allowing threads to coordinate execution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A wireless communication device comprising:
-
at least one system processor and at least one communication processor; a communication module to facilitate communication between each system and communication processor; a shared memory associated with the communication module; each system processor and communication processor having an associated operating system, the operating system performing code generated from an SDL software model, the SDL software model being ported to an operating environment wherein the operating environment is the result of an SDL porting layer converting an SDL software model to the operating environment, providing an operating environment, the operating environment common to all the different operating systems, an operating system abstraction layer abstracts the operating environment to each associated operating system; wherein the abstraction layer utilizes a naming convention to specify which modules are operating system (OS) dependent and which are OS independent; and
wherein the abstraction layer comprises a plurality of OS constructs, the plurality of OS constructs further comprising;a Thread, said thread including an independent path of execution; a Process, said process including an independent path of execution with its own protected address space; a Thread Group, said Thread Group including a grouping of threads, managed collectively to synchronize their execution; a Mutex, said Mutex including a Thread synchronization element providing mutual exclusion to shared resources; and an Event, said Event including a Thread synchronization element, allowing threads to coordinate execution. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A wireless transmit/receive unit (WTRU) comprising a processor further comprising:
-
an operating system abstraction layer comprising; an interface with an operating environment, wherein the operating environment is the result of an SDL porting layer converting an SDL software model to the operating environment, the operating environment operating independent of underlying operating systems; an operating system independent module for performing operations that are not related to a target operating system; an operating system dependent module for performing operations that are related to the target operating system; and an interface with the target operating system; wherein the abstraction layer utilizes a naming convention to specify which modules are operating system (OS) dependent and which are OS independent; and
wherein the abstraction layer comprises a plurality of OS constructs, the plurality of OS constructs further comprising;a Thread, said thread including an independent path of execution; a Process, said process including an independent path of execution with its own protected address space; a Thread Group, said Thread Group including a grouping of threads, managed collectively to synchronize their execution; a Mutex, said Mutex including a Thread synchronization element providing mutual exclusion to shared resources; and an Event, said Event including a Thread synchronization element, allowing threads to coordinate execution.
-
-
16. A method for abstracting an operating environment to a plurality of operating systems, the method comprising:
-
providing an operating environment wherein the operating environment is the result of an SDL porting layer converting an SDL software model to the operating environment, the operating environment common to all the different operating systems; and providing a plurality of operating system abstraction layers, each abstraction layer designed to abstract the operating environment to at least one targeted operating system; wherein each abstraction layer utilizes a naming convention to specify which modules are operating system (OS) dependent and which are OS independent; and
wherein each abstraction layer comprises a plurality of OS constructs, the plurality of OS constructs further comprising;a Thread, said thread including an independent path of execution; a Process, said process including an independent path of execution with its own protected address space; a Thread Group, said Thread Group including a grouping of threads, managed collectively to synchronize their execution; a Mutex, said Mutex including a Thread synchronization element providing mutual exclusion to shared resources; and an Event, said Event including a Thread synchronization element, allowing threads to coordinate execution. - View Dependent Claims (17)
-
-
18. A wireless communication device comprising:
-
at least one system processor and at least one communication processor; a communication module to facilitate communication between each system and communication processor; a shared memory associated with the communication module; each system processor and communication processor having an associated operating system, the operating system performing code from an operating system abstraction layer, the abstraction layer interfacing with the operating environment wherein the operating environment is the result of an SDL porting layer converting an SDL software model to the operating environment and having an operating system independent module for performing operations that are not related to a target operating system and an operating system dependent module for performing operations that are related to the target operating system; wherein the abstraction layer utilizes a naming convention to specify which modules are operating system (OS) dependent and which are OS independent; and
wherein the abstraction layer comprises a plurality of OS constructs, the plurality of OS constructs further comprising;a Thread, said thread including an independent path of execution; a Process, said process including an independent path of execution with its own protected address space; a Thread Group, said Thread Group including a grouping of threads, managed collectively to synchronize their execution; a Mutex, said Mutex including a Thread synchronization element providing mutual exclusion to shared resources; and an Event, said Event including a Thread synchronization element, allowing threads to coordinate execution. - View Dependent Claims (19)
-
Specification