-
Sci. Comput. Program. 01/2008; 73:39-58.
-
IEEE Trans. Software Eng. 01/2007; 33:124-141.
-
Proceedings of the 2006 EuroSys Conference, Leuven, Belgium, April 18-21, 2006; 01/2006
-
IJES. 01/2006; 2:142-155.
-
Software Process: Improvement and Practice. 01/2006; 11:163-176.
-
06/2005: pages 413 - 438; , ISBN: 9780470862087
-
[show abstract]
[hide abstract]
ABSTRACT: Commercial off-the-shelf (COTS) middleware is now widely used to develop distributed real-time and embedded (DRE) systems. DRE systems are themselves increasingly combined to form systems of systems that have diverse quality of service (QoS) requirements. Earlier generations of COTS middleware, such as Object Request Brokers (ORBs) based on the CORBA 2.x standard, did not facilitate the separation of QoS policies from application functionality, which made it hard to configure and validate complex DRE applications. The new generation of component middleware, such as the CORBA Component Model (CCM) based on the CORBA 3.0 standard, addresses the limitations of earlier generation middleware by establishing standards for implementing, packaging, assembling, and deploying component implementations.There has been little systematic empirical study of the performance characteristics of component middleware implementations in the context of DRE systems. This paper therefore provides four contributions to the study of CCM for DRE systems. First, we describe the challenges involved in benchmarking different CCM implementations. Second, we describe key criteria for comparing different CCM implementations using key black-box and white-box metrics. Third, we describe the design of our CCMPerf benchmarking suite to illustrate test categories that evaluate aspects of CCM implementation to determine their suitability for the DRE domain. Fourth, we use CCMPerf to benchmark CIAO implementation of CCM and analyze the results. These results show that the CIAO implementation based on the more sophisticated CORBA 3.0 standard has comparable DRE performance to that of the TAO implementation based on the earlier CORBA 2.x standard.
Real-Time Systems 01/2005; 29(2):281-308. · 0.74 Impact Factor
-
11th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2005), 7-10 March 2005, San Francisco, CA, USA; 01/2005
-
Real-Time Systems. 01/2005; 29:281-308.
-
27th International Conference on Software Engineering (ICSE 2005), 15-21 May 2005, St. Louis, Missouri, USA; 01/2005
-
Stud. Inform. Univ. 01/2005; 4:53-72.
-
[show abstract]
[hide abstract]
ABSTRACT: Time and resource constraints often force developers of highly configurable quality of service (QoS)-intensive software systems to guarantee their system's persistent software attributes (PSAs) (e.g., functional correctness, portability, efficiency, and QoS) on very few platform configurations and to extrapolate from these configurations to the entire configuration space, which allows many sources of degradation to escape detection until systems are fielded. This article illustrates how distributed continuous quality assurance (DCQA) processes help improve the assessment of these PSAs across large QoSintensive software system configuration spaces. We also illustrate how model-based DCQA processes enable developers to run formally-designed screening experiments that isolate the most significant configuration options, such as different workload parameters, operating system, compiler flags, feature sets, and/or run-time optimization controls. Our empirical results show that DCQA processes can be used monitor, safeguard, and enforce PSAs at an acceptable level of cost and effort.
07/2004;
-
[show abstract]
[hide abstract]
ABSTRACT: Quality assurance (QA) tasks, such as testing, profiling, and performance evaluation, have historically been done in-house on developer-generated workloads and regression suites. Performance-intensive systems software, such as that found in the scientific computing grid and distributed real-time and embedded (DRE) domains, increasingly run on heterogeneous combinations of OS, compiler, and hardware platforms. Such software has stringent quality of service (QoS) requirements and often provides a variety of configuration options to optimize QoS. As a result, QA performed solely in-house is inadequate since it is hard to manage software variability, i.e., ensuring software quality on all supported target platforms across all desired configuration options. This paper describes how the Skoll project is addressing these issues by developing advanced QA processes and tools that leverage the extensive computing resources of user communities in a distributed, continuous manner to improve key software quality attributes.
05/2004;
-
[show abstract]
[hide abstract]
ABSTRACT: Time and resource constraints often force developers of highly configurable systems, such as that found in performance-intensive software, to assess their system's performance on very few configurations and to extrapolate from these to the entire configuration space, which allows many performance bottlenecks and sources of QoS degradation to escape detection until systems are fielded. To improve the assessment of performance across large configuration spaces, we present a model-based approach to developing and deploying a new distributed continuous quality assurance (DCQA) process. Our approach builds upon and extends the Skoll environment, which is developing and validating novel software QA processes and tools that leverage the extensive computing resources of worldwide user communities in a distributed, continuous manner to significantly and rapidly improve software quality. This paper describes how our new DCQA performance assessment process enables developers to run formally-designed screening experiments that isolate the most significant options. After that, exhaustive experiments (on the now much smaller configuration space) are conducted. We implemented this process using model-based software tools and executed it in the Skoll environment to demonstrate its effectiveness via two experiments on widely used QoS-enabled middleware. Our results show that model-based DCQA processes improves developer insight into the effect of system changes on performance at an acceptable cost.
05/2004;
-
[show abstract]
[hide abstract]
ABSTRACT: Middleware is increasingly been used to develop and deploy large-scale distributed real-time and embedded (DRE) systems in domains ranging from avionics to industrial process control and financial services. To support a wide range of DRE systems with diverse QoS needs, middleware platforms often provide scores of options and configuration parameters that enable it to be customized and tuned for different use cases. Supporting this level of flexibility, however, can significantly complicate middleware and application configuration. This problem is exacerbated for developers of DRE systems by the lack of documented patterns of middleware configuration and customization.
05/2004;
-
[show abstract]
[hide abstract]
ABSTRACT: Performance-intensive software is increasingly being used on heterogeneous combinations of OS, compiler, and hardware platforms. Examples include reusable middleware that forms the basis for scientific computing grids and distributed realtime and embedded systems. Since this software has stringent quality of service (QoS) requirements, it often provides a multitude of configuration options that can be tuned for specific application workloads and run-time environments.
05/2004;
-
[show abstract]
[hide abstract]
ABSTRACT: Commercial off-the-shelf (COTS) middleware is now widely used to develop distributed real-time and embedded (DRE) systems. DRE systems are themselves increasingly combined to form "systems of systems" that have diverse quality of service (QoS) requirements. Earlier generations of COTS middleware, such as Object Request Brokers (ORBs) based on the CORBA 2.x standard, do not facilitate the separation of QoS policies from application functionality, which makes it hard to configure and validate complex DRE applications. The new generation of component middleware, such as the CORBA Component Model (CCM) based on the CORBA 3.0 standard, addresses the limitations of earlier generation middleware by establishing standards for implementing, packaging, assembling, and deploying component implementations. There has been little systematic empirical study of the performance characteristics of component middleware implementations in the context of DRE systems. This paper therefore provides three contributions to the study of CCM for DRE systems. First, we describe the challenges involved in benchmarking different CORBA Component Model (CCM) implementations. Second, we describe key criteria for comparing different CCM implementations using key black-box and white-box metrics. Third, we describe the design of our CCMPerf benchmarking suite to illustrate test categories that evaluate aspects of CCM implementation to determine their suitability for the DRE domain. We demonstrate CCMPerf by using it to collect metrics from a CCM implementation designed for DRE applications.
04/2004;
-
[show abstract]
[hide abstract]
ABSTRACT: Distributed real-time and embedded (DRE) applications have become critical in domains such as avionics (e.g., flight mission computers), telecommunications (e.g., wireless phone services), tele-medicine (e.g., robotic surgery), and defense applica-tions (e.g., total ship computing environments). DRE applications are increasingly composed of multiple systems that are interconnected via wireless and wireline net-works to form systems of systems. A challenging requirement for DRE applications involves supporting a diverse set of quality of service (QoS) properties, such as pre-dictable latency/jitter, throughput guarantees, scalability, 24x7 availability, depend-ability, and security that must be satisfied simultaneously in real-time. Although a growing number of DRE applications are based on QoS-enabled commercial-off-the-shelf (COTS) hardware and software components, the complexity of managing long lifecycles (often ∼15-30 years) remains a key challenge for DRE application develop-ers. For example, substantial time and effort is spent retrofitting DRE applications when their COTS technology infrastructure changes. This paper provides three contributions to improving the development and vali-dation of DRE applications throughout their lifecycles. First, we illustrate the chal-lenges in developing and deploying QoS-enabled component middleware-based DRE applications and outline our solution approach to resolve these challenges. Second, we describe a new software paradigm called Model Driven Middleware (MDM) that combines model-based software development techniques with QoS-enabled compo-nent middleware to address key challenges faced by developers of DRE applica-tions -particularly composition, integration, and assured QoS for end-to-end op-erations. Finally, we describe our progress on a MDM tool-chain, called CoSMIC that addresses key DRE application and middleware lifecycle challenges, including developing component functionality, partitioning the components to use distributed resources effectively, validating the software, assuring multiple simultaneous QoS Preprint submitted to Science of Computer Programming 14 November 2003 properties in real-time, and safeguarding against rapidly changing technology.
04/2004;
-
10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2004), 25-28 May 2004, Toronto, Canada; 01/2004
-
Software Reuse: Methods, Techniques and Tools: 8th International Conference, ICSR 2004, Madrid, Spain, July 5-9, 2009. Proceedings; 01/2004