Modeling Techniques for Software-Intensive Systems

Modeling Techniques for Software-Intensive Systems

Holger Giese (University of Potsdam, Germany), Stefan Henkler (University of Paderborn, Germany), Martin Hirsch (University of Paderborn, Germany), Vladimir Rubin (University of Paderborn, Germany) and Matthias Tichy (University of Paderborn, Germany)
Copyright: © 2009 |Pages: 37
DOI: 10.4018/978-1-59904-699-0.ch002
OnDemand PDF Download:
$37.50

Abstract

Software has become the driving force in the evolution of many systems, such as embedded systems (especially automotive applications), telecommunication systems, and large scale heterogeneous information systems. These so called software-intensive systems, are characterized by the fact that software influences the design, construction, deployment, and evolution of the whole system. Furthermore, the development of these systems often involves a multitude of disciplines. Besides the traditional engineering disciplines (e.g., control engineering, electrical engineering, and mechanical engineering) that address the hardware and its control, often the system has to be aligned with the organizational structures and workflows as addressed by business process engineering. The development artefacts of all these disciplines have to be combined and integrated in the software. Consequently, software-engineering adopts the central role for the development of these systems. The development of software-intensive systems is further complicated by the fact that future generations of software-intensive systems will become even more complex and, thus, pose a number of challenges for the software and its integration of the other disciplines. It is expected that systems become highly distributed, exhibit adaptive and anticipatory behavior, and act in highly dynamic environments interfacing with the physical world. Consequently, modeling as an essential design activity has to support not only the different disciplines but also the outlined new characteristics. Tool support for the model-driven engineering with this mix of composed models is essential to realize the full potential of software-intensive systems. In addition, modeling activities have to cover different development phases such as requirements analysis, architectural design, and detailed design. They have to support later phases such as implementation and verification and validation, as well as to systematically and efficiently develop systems.
Chapter Preview
Top

Introduction

Software has become the driving force in the evolution of many systems such as embedded systems (especially automotive applications), telecommunication systems, and large scale heterogeneous information systems. These so called software-intensive systems are characterized by the fact that software influences the design, construction, deployment, and evolution of the whole system (cf. Recommended Practice for Architectural Description of Software-intensive Systems, IEEE-Std-1471-2000 (2000)).

A good example for the growing importance of software in many advanced engineering fields is automotive software. It has become an important factor in the development of modern high-end vehicles where today the size of the software grows at an exponential rate. About 70% of the innovations in these cars today are software driven and the percentage of costs due to the development of software is expected to increase from 20-25% up to 40% in the next years (cf. Grimm, 2003; Hardung, Kölzow, & Krüger, 2004). In addition, today more and more functions can only be realized by the cooperation of different control devices. This result in dramatically increasing complexity (cf. Grimm, 2003) compared to the separate control devices employed traditionally which had to fulfill a single task only.

Furthermore, the development of these software-intensive systems often involves a multitude of disciplines (cf. Figure 1 (a)). Besides the traditional engineering disciplines (e.g., control engineering (CE), electrical engineering (EE), and mechanical engineering (ME)) that address the hardware and its control, the system often has to be aligned with the organizational structures and workflows as addressed by business process engineeringbusiness process engineering (Wirsing, 2004). The development artifacts of all these disciplines have to be combined and integrated in the software. Consequently, software engineeringsoftware engineering (SE) adopts the central role for the development of these systems.

Figure 1.

Software-intensive systems w.r.t classical domains (cf. Figure 1 (a)), and the assignment of phases to disciplines (cf. Figure 1 (b))

The development of software-intensive systems is further complicated by the fact that future generations of software-intensive systems will become even more complex and, thus, pose a number of challenges for the software and its integration of the other disciplines. It is expected that systems become highly distributed, exhibit adaptive and anticipatory behavior, and act in highly dynamic environments interfacing with the physical world (Wirsing, 2004). Consequently, modeling as an essential design activity has to support not only the different disciplines but also the outlined new characteristics.

Tool support for the model-driven engineering, with this mix of composed models, is essential to realize the full potential of software-intensive systems. In addition, modeling tasks have to cover different development phases such as requirements analysis (Req.), architectural design (Arch.), and detailed design (Design). They have to support the phase specific modeling and analysis tasks as well as the synthesis and analysis tasks required for later phases such as implementation and verification and validation (V&V), as well as to systematically and efficiently develop systems (cf. Figure 1 (b)).

The integration of the different models used in the different disciplines is of major importance for the systematic development of software-intensive systems. Therefore, in this chapter we focus on the modeling techniques of the different disciplines involved as well as their proper integration (cf. Giese & Henkler, 2006).

We consider the different modeling options in the three main disciplines to reflect the different modeling techniques employed for software-intensive systems: UML (Unified Modeling Language), the de facto standards for software engineeringsoftware engineering, MATLAB/Simulink, the de facto standards for traditional engineering, and a number of approaches for business process engineeringbusiness process engineering.

Complete Chapter List

Search this Book:
Reset
Table of Contents
Acknowledgment
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
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
$37.50
About the Contributors