This paper presents a development model, tooling environment, and system support for building and deploying applications targeted to run on multiple heterogeneous end-user devices. Our approach is based on a device-in...
详细信息
This paper presents a development model, tooling environment, and system support for building and deploying applications targeted to run on multiple heterogeneous end-user devices. Our approach is based on a device-independent application model and consists of three elements: (1) an automated process of specialization, by which device-specific versions of the application are generated, (2) support for hand-customization of generated applications, a process we call tweaking, both within our workbench and using external editors, and (3) a designer-in-the-loop process of generalization, by which a generic model is inferred from concrete interface artifacts such as HTML pages. We argue that this approach is cost-effective and results in usable applications that run on a variety of devices. (C) 2003 Elsevier Inc. All rights reserved.
One of the biggest challenges in future application development is device heterogeneity. In the future, we expect to see a rich variety of computing devices that can run applications. These devices have different capa...
详细信息
One of the biggest challenges in future application development is device heterogeneity. In the future, we expect to see a rich variety of computing devices that can run applications. These devices have different capabilities in processors, memory, networking, screen sizes, input methods, and software libraries. We also expect that future users are likely to own many types of devices. Depending on users' changing situations and environments, they may choose to switch from one type of device to another that brings the best combination of application functionality and device mobility (size, weight, etc.). Based on this scenario, we have designed and implemented a seamless application framework called the Roam system that can both assist developers to build multi-platform applications that can run on heterogeneous devices and allow a user to move/migrate a running application among heterogeneous devices in an effortless manner. The Roam system is based on partitioning of an application into components and it automatically selects the most appropriate adaptation strategy at the component level for a target platform. To evaluate our system, we have created several multi-platform Roam applications including a Chess game, a Connect4 game, and a shopping aid application. We also provide measurements on application performance and describe our experience with application development in the Roam system. Our experience shows that it is relatively easy to port existing applications to the Roam system and runtime application migration latency is within a few seconds and acceptable to most non-real-time applications. (C) 2003 Elsevier Inc. All rights reserved.
One of the biggest challenges in future application development is device heterogeneity. In the future, we expect to see a rich variety of computing devices that can run applications. These devices have different capa...
详细信息
One of the biggest challenges in future application development is device heterogeneity. In the future, we expect to see a rich variety of computing devices that can run applications. These devices have different capabilities in processors, memory, networking, screen sizes, input methods, and software libraries. We also expect that future users are likely to own many types of devices. Depending on users' changing situations and environments, they may choose to switch from one type of device to another that brings the best combination of application functionality and device mobility (size, weight, etc.). Based on this scenario, we have designed and implemented a seamless application framework called the Roam system that can both assist developers to build multi-platform applications that can run on heterogeneous devices and allow a user to move/migrate a running application among heterogeneous devices in an effortless manner. The Roam system is based on partitioning of an application into components and it automatically selects the most appropriate adaptation strategy at the component level for a target platform. To evaluate our system, we have created several multi-platform Roam applications including a Chess game, a Connect4 game, and a shopping aid application. We also provide measurements on application performance and describe our experience with application development in the Roam system. Our experience shows that it is relatively easy to port existing applications to the Roam system and runtime application migration latency is within a few seconds and acceptable to most non-real-time applications. (C) 2003 Elsevier Inc. All rights reserved.
Exception handling continues to be a challenging problem in object oriented system development. One reason for this is that today’s software systems are getting increasingly more complex. Moreover, exception handling...
详细信息
ubiquitous Mobile Systems (UMSs) allow for automated capturing of events. Both mobility and ubiquity are supported by electronic means such as mobile phones and PDAs and technologies such as RFID, Bluetooth, WLAN, etc...
详细信息
ISBN:
(纸本)3540241000
ubiquitous Mobile Systems (UMSs) allow for automated capturing of events. Both mobility and ubiquity are supported by electronic means such as mobile phones and PDAs and technologies such as RFID, Bluetooth, WLAN, etc. These can be used to automatically record human behavior and business processes in detail. UMSs-typically also allow for more flexibility. The combination of flexibility (i.e., the ability to deviate from standard procedures) and the automated capturing of events, provides an interesting application domain for process mining. The goal of process mining is to discover process models from event logs. The a-algorithm is a process mining algorithm whose application is not limited to ubiquitous and/or mobile systems. Unfortunately, the alpha-algorithm is unable to tackle so-called "short loops", i.e., the repeated occurrence of the same event. Therefore, a new algorithm is proposed to deal with short loops: the alpha(+)-algorithm. This algorithm has been implemented in the EMiT tool.
We describe Infopipes, a distributed computational and communications abstraction for information flow applications and I/O intensive distributed real-time embedded (DRE) systems. Infopipes are specified by the syntax...
详细信息
We describe Infopipes, a distributed computational and communications abstraction for information flow applications and I/O intensive distributed real-time embedded (DRE) systems. Infopipes are specified by the syntax, semantics, and quality of service requirements for information flows. Software tools generate executable code from the specification. We explain a DRE scenario and then provide a microbenchmark comparison of generated Infopipe code to standard, handwritten TCP code. Measurements show that Infopipe-generated code has the same execution overhead as the manually written original version.
Today, we assist to the explosive development of mobile computing devices like PDAs and cellphones, the integration of embedded intelligence (like Web server) in more and more common devices, and the proliferation of ...
详细信息
ISBN:
(纸本)0769518745
Today, we assist to the explosive development of mobile computing devices like PDAs and cellphones, the integration of embedded intelligence (like Web server) in more and more common devices, and the proliferation of wireless communication technologies (IRdA, Bluetooth, IEEE 802.11, GPRS). All these trends contribute to move us closer to the ubiquitouscomputing world described by Mark Weiser. But while the technology is here, applications, and more important, models and tools for designing future ambient computing systems are still rare. One of the first innovative concepts of ubiquitouscomputing, context-awareness is still hard to use and understand from a programming perspective. We think that the problem resides in the lack of system support: in traditional computing, operating system offers simple to use and easy to understand abstractions of computational resources. ubiquitouscomputing involves an integration of "computing" into the real-world, which is a radically different environment for applications. We think that this environment requires new operating system services and abstractions. Because the real world is made of physical entities, "living" in the physical space, ambient computing software should be able to use abstraction representing such objects, in a simple way. In this paper, we present a light framework to design ubiquitouscomputing software, called SPREAD. Unlike many approaches which hides too much of the real-world behind traditional computing abstraction, SPREAD defines programming abstraction based on the properties of the physical space. Hence, physical properties, like relative proximity, are used as implicitly in SPREAD as variable addressing in a computer memory. In SPREAD, application (or process) behavior can be "mechanically" driven, in the sense that actions flow can be directly dependent of physical mobility. To support this concept, we introduce a programming and execution model allowing designing computing and information sy
Today, we assist to the explosive development of mobile computing devices like PDAs and cellphones, the integration of embedded intelligence (like Web server) in more and more common devices, and the proliferation of ...
详细信息
Today, we assist to the explosive development of mobile computing devices like PDAs and cellphones, the integration of embedded intelligence (like Web server) in more and more common devices, and the proliferation of wireless communication technologies (IRdA, Bluetooth, IEEE 802.11, GPRS). All these trends contribute to move us closer to the ubiquitouscomputing world described by Mark Weiser. But while the technology is here, applications, and more important, models and tools for designing future ambient computing systems are still rare. One of the first innovative concepts of ubiquitouscomputing, context-awareness is still hard to use and understand from a programming perspective. We think that the problem resides in the lack of system support: in traditional computing, operating system offers simple to use and easy to understand abstractions of computational resources. ubiquitouscomputing involves an integration of "computing" into the real-world, which is a radically different environment for applications. We think that this environment requires new operating system services and abstractions. Because the real world is made of physical entities, "living" in the physical space, ambient computing software should be able to use abstraction representing such objects, in a simple way. In this paper, we present a light framework to design ubiquitouscomputing software, called SPREAD. Unlike many approaches which hides too much of the real-world behind traditional computing abstraction, SPREAD defines programming abstraction based on the properties of the physical space. Hence, physical properties, like relative proximity, are used as implicitly in SPREAD as variable addressing in a computer memory. In SPREAD, application (or process) behavior can be "mechanically" driven, in the sense that actions flow can be directly dependent of physical mobility. To support this concept, we introduce a programming and execution model allowing designing computing and information sy
Networked heterogeneous systems pose a great challenge for parallel and distributed applications. Middleware provides a critical link between the vast resources and the application domain that simplifies development, ...
详细信息
Networked heterogeneous systems pose a great challenge for parallel and distributed applications. Middleware provides a critical link between the vast resources and the application domain that simplifies development, provides robust and reliable access to resources, helps optimize resource utilization, and facilitates the generation of stable distributed software. In this paper, we discuss a layered framework for distributed systems middleware, called Delmon, which supports parallel and distributed programmingmodels, tools and applications on heterogeneous systems. Distributed systems middleware provides multiple layers of abstractions to hide the details of the distributed system and facilitate the efficient utilization of such systems. From a software engineering point-of-view, such a layered middleware approach and the separation of concerns improve the development and management of parallel and distributed applications in many ways. The proposed model represented by Delmon is a general three-layer middleware that provides the services required to support parallel and distributed models and applications in clusters and heterogeneous systems. The layers are: the resource-specific services, the self-organized run-time environment, and the parallel and distributed programmingmodels. We also demonstrate the benefits of this well-defined layered approach that offers different levels of services and functionalities.
This publication is devoted to programmingmodels, languages, and tools for performance-oriented program development in commercial and scientific environments. The included papers have been written based on presentati...
详细信息
ISBN:
(数字)9781601294524
ISBN:
(纸本)9781586032678
This publication is devoted to programmingmodels, languages, and tools for performance-oriented program development in commercial and scientific environments. The included papers have been written based on presentations given at the workshop PADDA 2001. The goal of the workshop was to identify common interests and techniques for performance-oriented program development in commercial and scientific environments. Distributed architectures currently dominate the field of highly parallel computing. Distributed architectures, based on Internet and mobile computing technologies, are important target architectures in the domain of commercial computing too. The papers in this publication come from the two areas: scientific computing and commercial computing.
暂无评论