Modeling and Simulating Software Architectures

Modeling and Simulating Software Architectures
Author: Ralf H. Reussner
Publisher: MIT Press
Total Pages: 398
Release: 2016-10-21
Genre: Computers
ISBN: 0262336790

A new, quantitative architecture simulation approach to software design that circumvents costly testing cycles by modeling quality of service in early design states. Too often, software designers lack an understanding of the effect of design decisions on such quality attributes as performance and reliability. This necessitates costly trial-and-error testing cycles, delaying or complicating rollout. This book presents a new, quantitative architecture simulation approach to software design, which allows software engineers to model quality of service in early design stages. It presents the first simulator for software architectures, Palladio, and shows students and professionals how to model reusable, parametrized components and configured, deployed systems in order to analyze service attributes. The text details the key concepts of Palladio's domain-specific modeling language for software architecture quality and presents the corresponding development stage. It describes how quality information can be used to calibrate architecture models from which detailed simulation models are automatically derived for quality predictions. Readers will learn how to approach systematically questions about scalability, hardware resources, and efficiency. The text features a running example to illustrate tasks and methods as well as three case studies from industry. Each chapter ends with exercises, suggestions for further reading, and “takeaways” that summarize the key points of the chapter. The simulator can be downloaded from a companion website, which offers additional material. The book can be used in graduate courses on software architecture, quality engineering, or performance engineering. It will also be an essential resource for software architects and software engineers and for practitioners who want to apply Palladio in industrial settings.

Software Modeling and Design

Software Modeling and Design
Author: Hassan Gomaa
Publisher: Cambridge University Press
Total Pages: 577
Release: 2011-02-21
Genre: Computers
ISBN: 1139494732

This book covers all you need to know to model and design software applications from use cases to software architectures in UML and shows how to apply the COMET UML-based modeling and design method to real-world problems. The author describes architectural patterns for various architectures, such as broker, discovery, and transaction patterns for service-oriented architectures, and addresses software quality attributes including maintainability, modifiability, testability, traceability, scalability, reusability, performance, availability, and security. Complete case studies illustrate design issues for different software architectures: a banking system for client/server architecture, an online shopping system for service-oriented architecture, an emergency monitoring system for component-based software architecture, and an automated guided vehicle for real-time software architecture. Organized as an introduction followed by several short, self-contained chapters, the book is perfect for senior undergraduate or graduate courses in software engineering and design, and for experienced software engineers wanting a quick reference at each stage of the analysis, design, and development of large-scale software systems.

Modeling and Simulating Software Architectures

Modeling and Simulating Software Architectures
Author: Ralf H. Reussner
Publisher: MIT Press
Total Pages: 398
Release: 2016-10-28
Genre: Computers
ISBN: 026203476X

A new, quantitative architecture simulation approach to software design that circumvents costly testing cycles by modeling quality of service in early design states. Too often, software designers lack an understanding of the effect of design decisions on such quality attributes as performance and reliability. This necessitates costly trial-and-error testing cycles, delaying or complicating rollout. This book presents a new, quantitative architecture simulation approach to software design, which allows software engineers to model quality of service in early design stages. It presents the first simulator for software architectures, Palladio, and shows students and professionals how to model reusable, parametrized components and configured, deployed systems in order to analyze service attributes. The text details the key concepts of Palladio's domain-specific modeling language for software architecture quality and presents the corresponding development stage. It describes how quality information can be used to calibrate architecture models from which detailed simulation models are automatically derived for quality predictions. Readers will learn how to approach systematically questions about scalability, hardware resources, and efficiency. The text features a running example to illustrate tasks and methods as well as three case studies from industry. Each chapter ends with exercises, suggestions for further reading, and “takeaways” that summarize the key points of the chapter. The simulator can be downloaded from a companion website, which offers additional material. The book can be used in graduate courses on software architecture, quality engineering, or performance engineering. It will also be an essential resource for software architects and software engineers and for practitioners who want to apply Palladio in industrial settings.

Modeling and Simulating a Software Architecture Design Space

Modeling and Simulating a Software Architecture Design Space
Author:
Publisher:
Total Pages: 212
Release: 1997
Genre:
ISBN:

Frequently, a similar type of software system is used in the implementation of many different software applications. Databases are an example. Two software development approaches are common to fill the need for instances from a class of similar systems: (1) repeated custom development of similar instances, one for each different application, or (2) development of one or more general purpose off the shelf systems that are used many times in the different applications. Each approach has advantages and disadvantages. Custom development can closely match the requirements of an application, but has an associated high development cost. General purpose systems may have a lower cost when amortized across multiple applications, but may not closely match the requirements of all the different applications. It can be difficult for application developers to determine which approach is best for their application. Do any of the existing off the shelf systems sufficiently satisfy the application requirements? If so, which ones provide the best match? Would a custom implementation be sufficiently better to justify the cost difference between an off the shelf solution? These difficult buy versus build decisions are extremely important in today's fast-paced, competitive, unforgiving software application market. In this thesis we propose and study a software engineering approach for evaluating how well off-the-shelf and custom software architectures within the design space of a class of OODB systems satisfy the requirements for different applications. The approach is based on the ability to explicitly enumerate and represent the key dimensions of commonality and variability in the space of OODB designs.

MontiArc - Architectural Modeling and Simulation of Interactive Distributed Systems

MontiArc - Architectural Modeling and Simulation of Interactive Distributed Systems
Author: Arne Haber
Publisher: Shaker Verlag GmbH
Total Pages: 400
Release: 2016-09-02
Genre: Computers
ISBN: 3844046976

Formal ADLs offer great potential to analyse the architecture of a system, predict the overall performance by using simulations, and allow to automatically generate parts of the implementation. Nevertheless, ADLs are rather not used in industrial practice since several problems hinder to exploit their potential to the full extend. This thesis elaborates the design of an ADL that copes with these impediments of ADLs in practice. Therefore, the design of a lightweight ADL is derived which also provides well defined extension points to be adapted to a certain domain or development process. Furthermore, it is investigated how architectural modeling can be enriched with agile development methods to support incremental modeling and the validation of system architectures. Therefore, a set detailed of requirements for architectural modeling and the simulation of system architectures is defined and MontiArc, a concrete ADL to model logical architectures of distributed, interactive systems, is derived. The language is based on the mathematical FOCUS [BS01] framework, which allows to simulate modeled systems in an event-based style. Code generators and a simulation framework provide means to continuously refine and test architectural models. To add new features or adapt the language to a new domain, a corresponding language extension method is presented to extend the syntax, language processing tools, and code generators of the ADL. A lightweight model library concept is presented which allows to develop and reuse component models and their implementation in a controlled and transparent way. The developed language, the simulator, and the language extension techniques have been examined in several case studies which either used or extended MontiArc.

Creating Computer Simulation Systems

Creating Computer Simulation Systems
Author: Dr. Frederick Kuhl
Publisher: Prentice Hall
Total Pages: 248
Release: 2000
Genre: Computers
ISBN:

This book is an introduction to the High Level Architecture for modeling and simulation. The HLA is a software architecture for creating computer models and simulation out of component models or simulations. HLA was adopted by the US Defense Dept. The book is an introduction to HLA for application developers.

Quality of Software Architectures Models and Architectures

Quality of Software Architectures Models and Architectures
Author: Steffen Becker
Publisher: Springer Science & Business Media
Total Pages: 245
Release: 2008-10-07
Genre: Computers
ISBN: 3540878785

Models are used in all kinds of engineering disciplines to abstract from the various details of the modelled entity in order to focus on a speci?c aspect. Like a blueprint in civil engineering, a software architecture providesan abstraction from the full software system’s complexity. It allows software designers to get an overview on the system underdevelopmentandtoanalyzeitsproperties.Inthissense,modelsarethefoundation needed for software development to become a true engineering discipline. Especially when reasoning on a software system’s extra-functional properties, its software architecture carries the necessary information for early, design-time analyses. These analyses take the software architecture as input and can be used to direct the design process by allowing a systematic evaluation of different design alternatives. For example, they can be used to cancel out decisions which would lead to architecture - signs whose implementation would not comply with extra-functionalrequirements like performance or reliability constraints. Besides such quality attributes directly visible to the end user, internal quality attributes, e.g., maintainability, also highly depend on the system’s architecture. In addition to the above-mentioned technical aspects of software architecture m- els, non-technical aspects, especially project management-related activities, require an explicit software architecture model. The models are used as input for cost esti- tions, time-, deadline-, and resource planning for the development teams. They serve the project management activities of planning, executing, and controlling, which are necessary to deliver high-quality software systems in time and within the budget.

System Design, Modeling, and Simulation

System Design, Modeling, and Simulation
Author: Claudius Ptolemaeus
Publisher: Lee & Seshia
Total Pages: 687
Release: 2013-09-27
Genre: Computers
ISBN: 1304421066

This book is a definitive introduction to models of computation for the design of complex, heterogeneous systems. It has a particular focus on cyber-physical systems, which integrate computing, networking, and physical dynamics. The book captures more than twenty years of experience in the Ptolemy Project at UC Berkeley, which pioneered many design, modeling, and simulation techniques that are now in widespread use. All of the methods covered in the book are realized in the open source Ptolemy II modeling framework and are available for experimentation through links provided in the book. The book is suitable for engineers, scientists, researchers, and managers who wish to understand the rich possibilities offered by modern modeling techniques. The goal of the book is to equip the reader with a breadth of experience that will help in understanding the role that such techniques can play in design.

Software Architecture in Action

Software Architecture in Action
Author: Flavio Oquendo
Publisher: Springer
Total Pages: 241
Release: 2016-10-26
Genre: Computers
ISBN: 3319443399

This book presents a systematic model-based approach for software architecture according to three complementary viewpoints: structure, behavior, and execution. It covers a unified modeling approach and consolidates theory and practice with well-established learning outcomes. The authors cover the fundamentals of software architecture description and presents SysADL, a specialization of the OMG Standard Systems Modeling Language (SysML) with the aim of bringing together the expressive power of an Architecture Description Language (ADL) with a standard notation, widely accepted by industry and compliant with the ISO/IEC/IEEE 42010 Standard on Architecture Description in Systems and Software Engineering. The book is clearly structured in four parts: The first part focuses on the fundamentals of software architecture, exploring the concepts and constructs for modeling software architecture from differing viewpoints. Each chapter covers a specific viewpoint illustrated with examples of a real system. The second part focuses on how to design software architecture for achieving quality attributes. Each chapter covers a specific quality attribute and presents well-defined approaches to achieve it. Each architectural case study is illustrated with different examples drawn from a real-life system. The third part shows readers how to apply software architecture style to design architectures that meet the quality attributes. Each chapter covers a specific architectural style and gives insights on how to describe substyles. Each style is illustrated by variants and examples of a real-life system. The fourth part presents how to textually represent software architecture models to complement visual notation, including different examples. Software Architecture in Action is designed for teaching the required modeling techniques to both undergraduate and graduate students, giving them the practical techniques and tools needed to design the architecture of software-intensive systems. Similarly, this book will appeal to software development architects, designers, programmers and project managers too.