scispace - formally typeset
Search or ask a question

Showing papers on "Application software published in 1996"


Journal ArticleDOI
Alexander D. Peleg1, Uri Weiser1
TL;DR: MMX technology extends the Intel architecture to improve the performance of multimedia, communications, and other numeric-intensive applications by introducing data types and instructions to the IA that exploit the parallelism in these applications.
Abstract: Designed to accelerate multimedia and communications software, MMX technology improves performance by introducing data types and instructions to the IA that exploit the parallelism in these applications. MMX technology extends the Intel architecture (IA) to improve the performance of multimedia, communications, and other numeric-intensive applications. It uses a SIMD (single-instruction, multiple-data) technique to exploit the parallelism inherent in many algorithms, producing full application performance of 1.5 to 2 times faster than the same applications run on the same processor without MMX. The extension also maintains full compatibility with existing IA microprocessors, operating systems, and applications while providing new instructions and data types that applications can use to achieve a higher level of performance on the host CPU.

552 citations


Patent
20 Sep 1996
TL;DR: In this article, the authors present a software tool that allows the creation of electronic surveys and the automatic collection and tabulation of survey results corresponding to user responses using a web site address.
Abstract: The present invention relates to a software tool that permits creation of electronic surveys and the automatic collection and tabulation of survey results corresponding to user responses. Using the tool, a survey is automatically created and posted at a Web site address. With a Web client, or browser, computer users access the URL and complete the survey via the Web. Survey results are collected in a relational database as each user completes the survey. Thereafter, statistical tools or other analytical software applications may be applied to data mine the tabulated results. In another preferred embodiment, the software tool is utilized to access remote servers running relational databases from an internet computer via the Web. Advantageously, the computer does not require the computational processor power or memory (i.e. system memory or disk storage capacity) normally required to load and operate the applicable relational database application software.

358 citations


Journal ArticleDOI
TL;DR: In surveying current approaches to distributed shared memory computing, the authors find that the reduced cost of parallel software development will help make the DSM paradigm a viable solution to large scale, high performance computing.
Abstract: In surveying current approaches to distributed shared memory computing, the authors find that the reduced cost of parallel software development will help make the DSM paradigm a viable solution to large scale, high performance computing.

358 citations


Patent
23 Dec 1996
TL;DR: In this paper, the authors present a common user interface for accessing many different application programs over the web via a common interface. But, the user interface is not designed for the general public.
Abstract: The present invention provides the capability to easily access many different application programs over the WWW via a common user interface. By providing standard procedures, routines, tools, and software "hooks" for accessing software applications over the WWW, software developers can concentrate on the functionality of the application program and easily use HTML to provide a GUI interface for the application program. HTML is a well-known language which can be used by almost any computer system on the market today. In addition, since HTML is a fairly well controlled and standardized language, new software application features can be added as they are developed and supported by HTML. In addition, since HTML is a widely adopted, non-proprietary technology, the present invention can provide open access to a large market for even very small software developers. Further, the present invention also allows software developers to adopt a standard access protocol, which allows them to provide support for any computer system which is capable of utilizing a HTML cognizant browser. Finally, by providing easy-to-implement, standardized solutions to the issues of user interface, authentication/security, and web transaction support, the common user interface of the present invention overcomes the limitations existing in previous solutions.

307 citations


Proceedings ArticleDOI
17 Nov 1996
TL;DR: Support in the MIPS R10000 for non-intrusively monitoring a variety of processor events is described - support that is particularly useful for characterizing the dynamic behavior of multi-level memory hierarchies, hardware-based cache coherence, and speculative execution.
Abstract: Tuning supercomputer application performance often requires analyzing the interaction of the application and the underlying architecture. In this paper, we describe support in the MIPS R10000 for non-intrusively monitoring a variety of processor events - support that is particularly useful for characterizing the dynamic behavior of multi-level memory hierarchies, hardware-based cache coherence, and speculative execution. We first explain how performance data is collected using an integrated set of hardware mechanisms, operating system abstractions, and performance tools. We then describe several examples drawn from scientific applications, which illustrate how the counters and profiling tools provide information that helps developers analyze and tune applications.

227 citations


Proceedings ArticleDOI
14 Oct 1996
TL;DR: Two algorithms are described, based on image moments and orientation histograms, which exploit the capabilities of the chip to provide interactive response to the player's hand or body positions at 10 msec frame time and at low-cost.
Abstract: The appeal of computer games may be enhanced by vision-based user inputs. The high speed and low cost requirements for near-term, mass-market game applications make system design challenging. The response time of the vision interface should be less than a video frame time and the interface should cost less than $50 U.S. We meet these constraints with algorithms tailored to particular hardware. We have developed a special detector, called the artificial retina chip, which allows for fast, on-chip image processing. We describe two algorithms, based on image moments and orientation histograms, which exploit the capabilities of the chip to provide interactive response to the player's hand or body positions at 10 msec frame time and at low-cost. We show several possible game interactions.

217 citations


Book
Douglas Comer1
01 Oct 1996
TL;DR: The Second Edition of this best-selling text continues to answer the question, "How do computer networks and internets operate?" Douglas Comer, a leading computer networking authority, provides a self-contained tour from the lowest levels of data transmission wiring through the highest levels of application software.
Abstract: From the Publisher: The Second Edition of this best-selling text continues to answer the question, "How do computer networks and internets operate?" Douglas Comer, a leading computer networking authority, provides a self-contained tour from the lowest levels of data transmission wiring through the highest levels of application software, explaining how facilities and services are used and extended in the next level. Finally, the text explains how applications use reliable stream transfer to provide high-level services. Computer Networks and Internets is appropriate for use by undergraduate students, as well as graduate students and professionals with little or no background in networking or operating systems. The text uses analogies and examples to define concepts instead of sophisticated mathematical proofs.

205 citations


Journal ArticleDOI
TL;DR: A process model is introduced to support a cooperative activity related to anomaly management in an industrial software factory and which kind of basic functionalities PSEEs can and should offer, and how these environments can be integrated with other tools to effectively support cooperation in software development.
Abstract: Software development is a cooperative activity that relies heavily on the quality and effectiveness of the communication channels established within the development team and with the end-user. Process-centered software engineering environments (PSEEs) support the definition and the execution of various phases of the software process. This is achieved by explicitly defining cooperation procedures, and by supporting synchronization and data sharing among its users. PSEE and CSCW technologies have been developed rather independently from each other, leading to a large amount of research results, tools and environments, and practical experiences. We have reached a stage in technology development where it is necessary to assess and evaluate the effectiveness of the research efforts carried out so far. Moreover, it is important to understand how to integrate and exploit the results of these different efforts. The goal of the paper is to understand which kind of basic functionalities PSEEs can and should offer, and how these environments can be integrated with other tools to effectively support cooperation in software development. In particular, the paper introduces a process model we have built to support a cooperative activity related to anomaly management in an industrial software factory. The core of the paper presents and discusses the experiences and results that we have derived from this modeling activity, and how they related to the general problem of supporting cooperation in software development. The project was carried out using the SPADE (Software Process Analysis, Design and Enactment) PSEE and the ImagineDesk CSCW toolkit.

156 citations


Journal ArticleDOI
TL;DR: MC implements a form of virtual shared memory that permits applications to completely bypass the operating system and perform cluster communication directly from the user level, and drops communication latency and overhead by up to three orders of magnitude.
Abstract: A memory-based networking approach provides clusters of computers up to 1,000 times the communication performance of conventional networks, with no compromise in cost or reliability. The memory channel for PCI's performance gains are the result of a system design approach that exploits natural cluster constraints to define a memory-based network. MC implements a form of virtual shared memory that permits applications to completely bypass the operating system and perform cluster communication directly from the user level. The hardware's simple and powerful communication model supports error handling at almost no cost or complexity to the application; guaranteed ordering under errors is the key innovation. The end result: Real-world cluster communication latency dropped by up to two orders of magnitude, and overhead by up to three orders of magnitude. These improvements elevate a lowly set of standard PCI computers running Unix into an impressive, highly available, parallel computing system.

155 citations


Patent
23 Oct 1996
TL;DR: In this article, a system for quickly developing application software for vision system is presented, where a set of instructions are given from a user of the computer system to select a first custom control program of desired component, desired hardware operating parameters of desired hardware and a second custom control programs of desired machine algorithm.
Abstract: A system (28) and a method are provided for quickly developing application software for vision system (20). Hardware parameters are stored in mass storage unit (32) which correspond to possible hardware for use in the machine vision system (20). Commands and set of instructions are received from a user of the computer system to select a first custom control program of desired component, desired hardware operating parameters of desired hardware and a second custom control program of desired machine algorithm. The first control program is linked with the desired hardware operating parameters to the second control program to form the application software and sets the property of one custom control to be equal to one property of another custom control to form the application software in response to the commands and a set of user supplied instructions.

137 citations


Patent
31 Dec 1996
TL;DR: In this article, a method and apparatus for accessing and downloading information from the internet to a hand held computer system is presented, which includes a bus to which a processor, a display screen, input keys, and a flash memory are coupled.
Abstract: A method and apparatus for accessing and downloading information from the internet to a hand held computer system. The computer system includes a bus to which a processor, a display screen, input keys, and a flash memory are coupled. The flash memory stores an operating system for the computer system, search criteria, information corresponding to the search criteria downloaded from the internet, and display application software for displaying the information on the display screen.

Journal ArticleDOI
TL;DR: Two languages and associated tools for capturing and analyzing two different views of the architecture of an embedded system designed to address real-time, fault-tolerance, secure partitioning, and scalable multiprocessor issues are described.
Abstract: We describe two languages and associated tools for capturing and analyzing two different views of the architecture of an embedded system. One language is tailored to address guidance, navigation, and feedback control issues, while the other is tailored to address real-time, fault-tolerance, secure partitioning, and scalable multiprocessor issues. Both languages have tools that perform analyses appropriate for the issues each addresses, and tools to automatically configure the application software from a sufficiently detailed specification. The integrated languages and tools are intended to support a development process based on reusing an easily configurable generic architecture developed for a family of products.

Proceedings ArticleDOI
11 Mar 1996
TL;DR: The paper shows that using integer programming to solve the hardware/software partitioning problem is feasible and leads to promising results.
Abstract: One of the key problems in hardware/software codesign is hardware/software partitioning. This paper describes a new approach to hardware/software partitioning using integer programming (IP). The advantage of using IP is that optimal results are calculated respective to the chosen objective function. The partitioning approach works fully automatic and supports multi-processor systems, interfacing and hardware sharing. In contrast to other approaches where special estimators are used, we use compilation and synthesis tools for cost estimation. The increased time for calculating the cost metrics is compensated by an improved quality of the estimations compared to the results of estimators. Therefore, fewer iteration steps of partitioning will be needed. The paper will show that using integer programming to solve the hardware/software partitioning problem is feasible and leads to promising results.

Patent
23 Dec 1996
TL;DR: In this article, the preferred embodiment provides a computer system and method for providing secure access to a software application from a web browser over the WWW. The system allows a user of the web browser to access the software application after performing appropriate security checks.
Abstract: The preferred embodiment provides a computer system and method for providing secure access to a software application from a web browser over the WWW. The system and method allows a user of the web browser to access the software application after performing appropriate security checks. The user inputs data via the web browser, which is communicated to the web server application. The web server application then authenticates the web browser, and passes appropriate input data to an application gateway, including data to uniquely identify the web browser. The application gateway then uses authentication data received from the browser to determine whether the user of the browser is authorized to access the software application. According to the preferred embodiment, the browser authentication information is used to correlate the user to appropriate authentication information for the software application. The application gateway then uses this new authentication information to gain access to the software application. The application gateway then performs the function requested in the web server input data by formatting appropriate commands for the software application. The software application responds by outputting data to the application gateway that includes an identifier that the application gateway uses to match the output data with the web browser that requested the output data. This system thus allows numerous web browsers access to the software application simultaneously.

Proceedings ArticleDOI
25 Jun 1996
TL;DR: ORCHESTRA, a portable fault injection environment for testing implementations of distributed protocols, is reported on, based on a simple yet powerful framework called script-driven probing and fault injection, for the evaluation and validation of the fault-tolerance and timing characteristics of distributing protocols.
Abstract: As software for distributed systems becomes more complex, ensuring that a system meets its prescribed specification is a growing challenge that confronts software developers. This is particularly important for distributed applications with strict dependability and timeliness constraints. This paper reports on ORCHESTRA, a portable fault injection environment for testing implementations of distributed protocols. This tool is based on a simple yet powerful framework called script-driven probing and fault injection, for the evaluation and validation of the fault-tolerance and timing characteristics of distributed protocols. The tool, which was initially developed on the Real-Time Mach operating system and later ported to other platforms including Solaris and SunOS, has been used to conduct extensive experiments on several protocol implementations. This paper describes the design and implementation of the fault injection tool focusing on architectural features to support portability, minimizing intrusiveness on target protocols, and explicit support for testing real-time systems. The paper also describes the experimental evaluation of two protocol implementations: a real-time audio-conferencing application on Real-Time Mach, and a distributed group membership service on the Sun Solaris operating system.

Journal ArticleDOI
TL;DR: An analog fuzzy logic hardware implementation and its application to an autonomous mobile system and the results show that the analog approach is not only faster but also flexible enough to compete with digital fuzzy approaches.
Abstract: In this paper, we present an analog fuzzy logic hardware implementation and its application to an autonomous mobile system. With a simple structure the fabricated fuzzy controller shows good performance in processing speed and area consumption. Accomplished with 13 reconfigurable rules, a speed of up to 6 MFLIPS has been achieved. To stress the advantages of the new architecture, speed and flexibility, the same control strategy is implemented on the new analog fuzzy controller and on a digital multipurpose microcontroller in software. The results of the two implementations show that the analog approach is not only faster but also flexible enough to compete with digital fuzzy approaches.

Journal ArticleDOI
TL;DR: Eight concepts are described that together constitute a viable foundation for a software engineering discipline: abstraction, analysis and design methods and notations, user interface prototyping, modularity and architecture, software life cycle and process, reuse, metrics, and automated support.
Abstract: Despite rapid changes in computing and software development, some fundamental ideas have remained constant This article describes eight such concepts that together constitute a viable foundation for a software engineering discipline: abstraction, analysis and design methods and notations, user interface prototyping, modularity and architecture, software life cycle and process, reuse, metrics, and automated support

Proceedings ArticleDOI
01 May 1996
TL;DR: The use of coarse-grained multithreading is examined to address this important problem in uniprocessor on-line transaction processing environments where there is a natural, coarse- grained parallelism between the tasks resulting from transactions being executed concurrently, with no application software modifications required.
Abstract: As memory speeds grow at a considerably slower rate than processor speeds, memory accesses are starting to dominate the execution time of processors, and this will likely continue into the future. This trend will be exacerbated by growing miss rates due to commercial applications, object-oriented programming and micro-kernel based operating systems. We examine the use of coarse-grained multithreading to address this important problem in uniprocessor on-line transaction processing environments where there is a natural, coarse-grained parallelism between the tasks resulting from transactions being executed concurrently, with no application software modifications required. Our results suggest that multithreading can provide significant performance improvements for uniprocessor commercial computing environments.

Proceedings ArticleDOI
01 Jun 1996
TL;DR: This paper presents a solution to this embedded architecture co-synthesis problem based on an orchestrated combination of architectural strategies, parameterized libraries, and software tool support.
Abstract: Deep sub-micron processing technologies have enabled the implementation of new application-specific embedded architectures that integrate multiple software programmable processors (e.g. DSPs, microcontrollers) and dedicated hardware components together onto a single cost-efficient IC. These application-specific architectures are emerging as a key design solution to today's microelectronics design problems, which are being driven by emerging applications in the areas of wireless communication, broadband networking, and multimedia computing. However the construction of these customized heterogeneous multiprocessor architectures, while ensuring that the hardware and software parts communicate correctly, is a tremendously difficult and highly error proned task with little or no tool support. In this paper, we present a solution to this embedded architecture co-synthesis problem based on an orchestrated combination of architectural strategies, parameterized libraries, and software tool support.

Patent
23 Dec 1996
TL;DR: In this paper, a computer system and method for providing access to a software application from a web browser over the WWW is described, where the user inputs data via the web browser, which is communicated to the web server application, which passes the input to a CGI module.
Abstract: According to the preferred embodiment, a computer system and method for providing access to a software application from a web browser over the WWW is disclosed. The system includes one or more computers executing a web browser, a web server application, an application gateway, and a software application. The system and method allows a user of the web browser to access the software application. The user inputs data via the web browser, which is communicated to the web server application, which passes the input to a CGI module. Based upon the web browser input, the CGI selects an HTML template containing at least one variable. The variable is passed to an application gateway which requests a value for the variable from the software application. The value is passed back to the CGI and inserted into the HTML template in place of the variable. The completed HTML template is then sent back to the web browser. The application gateway comprises a web based interface to the software application in combination with templates that specify variables.

Proceedings ArticleDOI
01 May 1996
TL;DR: This work presents the basic concepts behind user interface prototyping, a classification of tools supporting it and a case study of nine major industrial projects, and presents the following conclusions: prototyping is used more consciously than in recent years.
Abstract: In recent years the development of highly interactive software systems with graphical user interfaces has become increasingly common The acceptance of such a system depends to a large degree on the quality of its user interface Prototyping is an excellent means for generating ideas about how a user interface can be designed, and it helps to evaluate the quality of a solution at an early stage We present the basic concepts behind user interface prototyping, a classification of tools supporting it and a case study of nine major industrial projects Based on our analysis of these projects we present the following conclusions: prototyping is used more consciously than in recent years No project applied a traditional life-cycle approach, which is one of the reasons why most of them were successful Prototypes are increasingly used as a vehicle for developing and demonstrating visions of innovative systems

Proceedings ArticleDOI
01 May 1996
TL;DR: A tool called Scene (SCENario Environment) is implemented that automatically produces scenario diagrams for existing object-oriented systems and allows the user to browse not only scenarios but also various kinds of associated documents, such as source code, class interfaces, class diagrams and call matrices.
Abstract: Scenario diagrams are a well-known notation for visualizing the message flow in object-oriented systems. Traditionally, they are used in the analysis and design phases of software development to prototype the expected behavior of a system. We show how they can be used in reverse for understanding and browsing existing software. We have implemented a tool called Scene (SCENario Environment) that automatically produces scenario diagrams for existing object-oriented systems. The tool makes extensive use of an active text framework providing the basis for various hypertext-like facilities. It allows the user to browse not only scenarios but also various kinds of associated documents, such as source code (method definitions and calls), class interfaces, class diagrams and call matrices.

Proceedings ArticleDOI
08 Nov 1996
TL;DR: CSIM18, a simulation engine which supports development of applications with efficient, em bedded simulation models on a variety of system plat forms is presented.
Abstract: A simulation engine is the collection of components, features and support functions which are crucial to the implementation of an efficient discrete event simulation model. Furthermore, this model can be embedded in a larger application. A good simulation engine combines efficiency, functionality and completeness to enable a model builder to construct a comprehensive, customized model of either a specific system or a class of systems. This paper presents CSIM18, a simulation engine which supports development of applications with efficient, em bedded simulation models on a variety of system plat forms.

Proceedings ArticleDOI
A. Bender1
20 Sep 1996
TL;DR: A new MILP (mixed integer linear program) model is proposed that allows to determine a mapping optimizing a trade off function between execution time, processor and communication cost.
Abstract: CAD-systems supporting hardware/software codesign map different tasks of an algorithm onto processors. Some of the processors are programmable and others are application specific. We propose a new MILP (mixed integer linear program) model that allows to determine a mapping optimizing a trade off function between execution time, processor and communication cost. The mapping also guarantees that all specified execution deadlines are met. We demonstrate the efficient with practical examples.

Patent
26 Aug 1996
TL;DR: In this article, a method for multiple context analysis of software applications in a multiprocessing (22, 23), multithreaded computer environment utilizes instrumentation code inserted into the applications.
Abstract: A method for multiple context analysis of software applications in a multiprocessing (22, 23), multithreaded computer environment utilizes instrumentation code inserted (54, 55) into the applications. For each execution (67) of the application (60), a context set is selected (62). Execution of the instrumented code (67) provides information for analysis in an instrumentation buffer (82) addressed by a reserved register (80) or buffer pointer. The operating system is responsible for providing in the reserved register (80) the address of the instrumentation buffer (82) appropriate for each instrumented context executed. When the application (60) is done with an instrumentation buffer (82), the buffer may be processed by filter software (68). The combination of using a reserved register (80) and allowing the operating system to keep track of relevant context switches allows applications to be instrumented (54, 55) for various context sets without the necessity of modifying (53) or recompiling (52) the application software (60).

Patent
23 Dec 1996
TL;DR: In this paper, the authors describe a system and method that allows access to a software application from a web browser over the world-wide web (WWW) using a web server and an application gateway.
Abstract: A computer system and method provides access to a software application from a web browser over the world-wide web (WWW). The system includes one or more computers executing a web browser, a web server application, an application gateway, and a software application. The system and method allows a user of the web browser to access the software application. The user inputs data via the web browser, which is communicated to the web server application. The web server application authenticates the web browser and passes appropriate input data to an application gateway, including data to uniquely identify and track the user's request. The application gateway then performs the function requested in the web server input data by formatting the appropriate commands with the software application. The software application responds by outputting data to the application gateway that includes an identifier that the application gateway uses to match the output data with the web browser that requested the output data. This system thus allows numerous web browsers access to the software application simultaneously.

Proceedings ArticleDOI
01 May 1996
TL;DR: It is found that SVM can indeed perform quite well for systems of at leant up to 32 processors for several nontrivial applications, however, performance is much more variable across applications than on CC-NUMA systems, and the problem sizes needed to obtain good parallel performance are substantially larger.
Abstract: Many researchers have proposed interesting protocols for shared virtual memory (SVM) systems, and demonstrated performance improvements on parallel programs. However, there is still no clear understanding of the performance potential of SVM systems for different classes of applications. This paper begins to fill this gap, by studying the performance of a range of applications in detail and understanding it in light of application characteristics.We first develop a brief classification of the inherent data sharing patterns in the applications, and how they interact with system granularities to yield the communication patterns relevant to SVM systems. We then use detailed simulation to compare the performance of two SVM approaches---Lazy Released Consistency (LRC) and Automatic Update Release Consistency (AURC)---with each other and with an all-hardware CC-NUMA approach. We examine how performance is affected by problem size, machine size, key system parameters, and the use of less optimized program implementations. We find that SVM can indeed perform quite well for systems of at leant up to 32 processors for several nontrivial applications. However, performance is much more variable across applications than on CC-NUMA systems, and the problem sizes needed to obtain good parallel performance are substantially larger. The hardware-assisted AURC system tends to perform significantly better than the all-software LRC under our system assumptions, particularly when realistic cache hierarchies are used.

Proceedings ArticleDOI
11 Mar 1996
TL;DR: A powerful MILP (Mixed Integer Linear Program) model with and without functional pipelining is proposed, and the efficiency of the method is demonstrated with practical examples.
Abstract: This paper presents an approach for mapping tasks optimal to hardware and software components in order to design a real-time system. The tasks are derived from an algorithm and are represented by a task-graph. The performance of the algorithm on the resulting real- time system will meet the specified timing constraints. Some of the hardware components are programmable and others are application specific hardware processors. We propose a powerful MILP (Mixed Integer Linear Program) model with and without functional pipelining. The efficiency of the method is demonstrated with practical examples.

Proceedings ArticleDOI
03 Jun 1996
TL;DR: The design of a group execution service called G-QEX is presented which is designed to support consistency in mobile applications and includes features necessary to cope with the fluctuations in QoS which characterise mobile environments.
Abstract: This paper describes the design of services to support consistency in collaborative mobile applications. The requirements for application level consistency in groupware applications are discussed and it is argued that existing consistency services for mobile environments fail to address these requirements because they assume infrequent (write) sharing of information. We present the design of a group execution service called G-QEX which is designed to support consistency in mobile applications and includes features necessary to cope with the fluctuations in QoS which characterise mobile environments.

Patent
05 Nov 1996
TL;DR: In this article, an architecture for an information appliance adapted for a specific application supporting a variety of appliance personalities, relying on a single core technology, is presented. But it does not specify the underlying architecture of the appliance.
Abstract: An architecture for an information appliance adapted for a specific application supports a variety of appliance personalities, relying on a single core technology. The information appliance comprises an application-optimized hardware platform, including a processor, a display coupled to the processor, an input/output device coupled to an information source and to the processor, a user input device, and working memory coupled to the processor. Non-volatile memory is coupled to the processor and stores appliance operating software and application software. The appliance operating software includes logic executed by the processor, which manages information flow from the information source through the working memory to the display, and the application software includes logic executed by the processor and responsive to the user input to manage selection of information from the information source. The appliance operating software includes an operating system kernel that is adapted for the processor, and a system library that includes logic providing an interface to the application software. An operating system service layer provides an abstraction function between the system library and the appliance operating system kernel and hardware, so that the logic in the system library and above, such as in the application itself, is executable with a development platform operating system which is completely different from the operating system of the appliance.