Evaluating Quality of Service for Enterprise Distributed Systems

Evaluating Quality of Service for Enterprise Distributed Systems

James H. Hill (Vanderbilt University, USA), Douglas C. Schmidt (Vanderbilt University, USA) and John M. Slaby (Raytheon Integrated Defense Systems, USA)
Copyright: © 2009 |Pages: 37
DOI: 10.4018/978-1-59904-699-0.ch011
OnDemand PDF Download:


This chapter introduces the next generation of system execution modeling tools designed around modeldriven engineering (MDE) coupled with domain-specific modeling languages (DSMLs). The authors discuss key design issues involved with implementing a next generation SEM tool and show how they can be applied to developing service-oriented architecture (SOA)-based applications. Finally, the authors use a real-life case study to illustrate how next generation system execution modeling tools can help understand quality-of-service (QoS) issues earlier in the development lifecycle (i.e., during design-time) instead of waiting until complete system integration.
Chapter Preview

Integration Challenges of 
SOA-Based Enterprise DRE Systems

Enterprise distributed real-time and embedded (DRE) systems, such as supervisory control and data acquisition (SCADA) systems, air traffic control systems, and shipboard computing environments, are growing in complexity and importance as computing devices are networked together to help automate tasks previously done by human operators. These types of systems are required to provide quality of service (QoS) support to process the right data in the right place at the right time over a networked grid of computers. QoS properties required by enterprise DRE systems include the low latency and jitter expected in conventional real-time and embedded systems, and the high throughput, scalability, and reliability expected in conventional enterprise distributed systems. Achieving this combination of QoS capabilities is hard because these systems work in constrained environments with a limited amount of resources that can vary depending on the location of the system. Moreover, this level of QoS requires in depth knowledge of low-level programming techniques, for example, properly interfacing with sockets to write efficient networking protocols, which the application developers of enterprise DRE system may not possess.

To address these challenges, enterprise DRE systems are increasingly being developed using applications composed of components running on feature–rich service-oriented architecture (SOA) middleware frameworks. These components are designed to provide reusable services to a range of application domains that are composed into domain-specific assemblies for application (re)use. SOA middleware is intended to alleviate problems of inflexibility and reinvention of core capabilities associated with prior monolithic, functionally-designed, and “stove-piped” legacy applications developed using just the capabilities required for a specific set of requirements and operating conditions. SOA-based systems, conversely, are designed to have a more general range of capabilities that enable their reuse in other contexts. Moreover, these systems are developed in layers, for example, layer(s) of infrastructure middleware services (such as naming and discovery, event and notification, security and fault tolerance) and layer(s) of application components that use these services in different compositions.

Combining stringent QoS requirements in DRE systems with the transition to SOA component frameworks has created a particularly vexing problem for researchers and developers of large and layered enterprise DRE systems: The inadequacies of system architectures may not be ascertained until years into development. At the heart of this problem is the serialized phasing of layered system development, shown in Figure 1, which postpones the discovery of design flaws that affect system QoS until late in the lifecycle, that is, at integration time. A hallmark of serialized phasing is that application components are not created until after their underlying system infrastructure components, such as naming and discovery, event and notification, security and fault tolerance, and resource management.

Figure 1.

Characteristics and complexities of serialized phasing in enterprise DRE systems

As shown in Figure 1, SOA-based enterprise DRE systems built using serialized phasing often do not adequately test the implementations, configurations, and deployments of infrastructure components under realistic workloads until the application components are done. Moreover, both application and infrastructure components are hosted on the same target platform. Each component must, therefore, be properly deployed and configured to achieve the desire QoS. As a result, it hard to know how well the system will satisfy key QoS properties due to disconnects in the phasing of infrastructure and application component development. Moreover, handcrafted software designs used in many enterprise DRE systems to address these concerns make it hard to conduct “what if” experiments on alternative system architectures and implementations to determine which valid configurations can obtain performance goals for a particular workload. Making any significant changes to these types of handcrafted systems late in their lifecycle can be costly due to the impact on the design, implementation, deployment, and (re)validation of many application and infrastructure software/hardware components.

Complete Chapter List

Search this Book:
Table of Contents
Pierre F. Tiako
Chapter 1
Alf Inge Wang, Carl-Fredrik Sørensen
This chapter presents a framework for differentiated process support in large software projects. Process support can be differentiated in different... Sample PDF
Differentiated Process Support for Large Software Projects
Chapter 2
Holger Giese, Stefan Henkler, Martin Hirsch, Vladimir Rubin, Matthias Tichy
Software has become the driving force in the evolution of many systems, such as embedded systems (especially automotive applications)... Sample PDF
Modeling Techniques for Software-Intensive Systems
Chapter 3
Jaroslav Král, Michal Žemlicka
Software intensive systems are systems strongly depending on supporting software. The software is typically large, complex, and it as a rule... Sample PDF
Service Orientation and Software-Intensive Systems
Chapter 4
Alf Inge Wang, Carl-Fredrik Sørensen, Hien Nam Le, Heri Ramampiaro, Mads Nygård, Reidar Conradi
This chapter describes a requirement analysis framework that may be used as a tool for developing client-server systems for mobile workers. The... Sample PDF
From Scenarios to Requirements in Mobile Client-Server Systems
Chapter 5
Gan Deng, Douglas C. Schmidt, Aniruddha Gokhale, Jeff Gray, Yuehua Lin, Gunther Lenz
This chapter describes our approach to model-driven engineering (MDE)-based product line architectures (PLAs) and presents a solution to address the... Sample PDF
Evolution in Model-Driven Software Product-Line Architectures
Chapter 6
Ståle Walderhaug, Erlend Stav, Ulrik Johansen, Gøran K. Olsen
This chapter introduces a tracability solution for use in a model-driven software development approach. It argues that a trace model based on a... Sample PDF
Traceability in Model-Driven Software Development
Chapter 7
Gerhard Chroust, Erwin Schoitsch
When designing a complex software-intensive system it is unavoidable to make some a-priori basic assumptions about its architecture. We introduce... Sample PDF
Choosing Basic Architectural Alternatives
Chapter 8
Rafael Capilla, Margarita Martínez, Francisco Nava, Cristina Muñoz
Virtual reality systems are a kind of complex software systems that need a lot of effort and resources during its development phase. Because rigid... Sample PDF
Architecting Virtual Reality Systems
Chapter 9
Kendra M.L. Cooper, Lirong Dai, Renee Steiner, Rym Zalila Mili
This chapter presents a survey of software architecture approaches. It is intended for a broad audience of students, practitioners, and researchers... Sample PDF
A Survey of Software Architecture Approaches
Chapter 10
Daniel G. Waddington, Nilabja Roy, Douglas C. Schmidt
As software-intensive systems become larger, more parallel, and more unpredictable the ability to analyze their behavior is increasingly important.... Sample PDF
Dynamic Analysis and Profiling of Multithreaded Systems
Chapter 11
James H. Hill, Douglas C. Schmidt, John M. Slaby
This chapter introduces the next generation of system execution modeling tools designed around modeldriven engineering (MDE) coupled with... Sample PDF
Evaluating Quality of Service for Enterprise Distributed Systems
Chapter 12
Jules White, Douglas C. Schmidt, Andrey Nechypurenko, Egon Wuchner
Model-driven development is one approach to combating the complexity of designing software intensive systems. A model-driven approach allows... Sample PDF
Reducing the Complexity of Modeling Large Software Systems
Chapter 13
Enis Afgan, Purushotham Bangalore, Jeff Gray
Grid computing environments are dynamic and heterogeneous in nature. In order to realize applicationspecific Quality of Service agreements within a... Sample PDF
A Domain-Specific Language for Describing Grid Applications
Chapter 14
Jeff Elpern, Sergiu Dascalu
Traditional software engineering methodologies have mostly evolved from the environment of proprietary, large-scale software systems. Here, software... Sample PDF
A Framework for Understanding the Open Source Revolution
Chapter 15
Syed Ahsan, Abad Shah
With the proliferation of Web, a tremendous amount of data is available to researchers and scientists in computational sciences, business... Sample PDF
Quality Metrics for Evaluating Data Provenance
Chapter 16
Krishnakumar Balasubramanian, Douglas C. Schmidt, Zoltán Molnár, Ákos Lédeczi
With the emergence of commercial-off-the-shelf (COTS) component middleware technologies software system integrators are increasing faced with the... Sample PDF
System Integration Using Model-Driven Engineering
About the Contributors