وبلاگ بلیان

Development and Evolution of Software Architectures for Product Families: Second International Esprit Ares Workshop Las Palmas De Gran Canaria, Spain February ... (Lecture Notes in Computer Science, 1429)

معرفی کتاب «Development and Evolution of Software Architectures for Product Families: Second International Esprit Ares Workshop Las Palmas De Gran Canaria, Spain February ... (Lecture Notes in Computer Science, 1429)» نوشتهٔ Henk Obbink, Paul C. Clements, Frank van der Linden (auth.), Frank van der Linden (eds.) در سال 1007. این کتاب در 3 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است.

This Book Originates From A Workshop Organised By Esprit Project 20 477, Ares In Las Palmas De Gran Canaria, Spain, February 1998. Ares Is An Acronym For Architectural Reasoning For Embedded Systems. Within This Project We Investigate Techniques To Deal With Problems Of Software Architecture Of Families Of Embedded Systems. It Is The Second Workshop Organised By This Project. Its Predecessor Was Held In Las Navas De Marques, Spain, November 1996. The Proceedings Of The First Workshop Are Only Available In Electronic Format At Http://www.dit.upm.es/~ares/. The Second Workshop Succeeded, Even More Than The First One, In Gathering Many Of The Most Prominent People Working In The Area Of Software Architecture For Product Families Or Product Lines. This Second Workshop Consisted Of Six Sessions. The First Session Was Meant To Report The Ares Results, According To The Topics Of The Next Five Sessions. The Remaining Sessions Dealt With Different Aspects Of Software Architecture, Focussed On Applications For Product Families Or Product Lines. Because There Will Be A Separate Book Covering All Ares Results, The First Session Is Not Included In This Book. The Workshop Was Chaired By Henk Obbink From Philips Research And Paul Clements From The Software Engineering Institute At Carnegie Mellon University. They Prepared And Presented An Overall Conclusion At The End Of The Workshop. This Conclusion Was Used In The Introduction To This Book. Example Architectures -- Architectural Description -- Architecture Recovery -- Analysis Of Software Architectures -- Development Process. Frank Van Der Linden, Ed. Includes Bibliographical References And Index. Lecture Notes in Computer Science Developmentand Evolutionof Software Architecturesfor Product Families Preface Table of Contents Introduction 1. Sessions 2. Results of the Workshop Towards Engineering Practice Stakeholders People Relation to Other Fields Variability Fulfilment of the Goals Session 1: Example Architectures 1. Economic Issues 2. Making Commitments 3. Styles 4. Techniques 5. Maturity in Organisations Reusable Framework for Telecontrol Protocols 1. Introduction 2. COMSOFT Reusable Object Oriented Design Framework 2.1 Software Architecture 2.2 Communication Protocol Adapter (CPA) Design Patterns 3. COMSOFT Repository Organisation 4. Usage of Patterns and Library in Protocol Development 5. Conclusion 6. References A Software Bus as a Platform for a Family of Distributed Embedded System Products 1. Introduction 2. Flexible Distributed Embedded Systems 2.1 Control System Application Characteristics 2.2 Component-Based Software for the Product Family Domain Analysis Configuration 2.3 Systems Extendible by an Application-Specific Software Bus 3. Mechanisms for Flexible Control Systems 3.1 An Application Framework 3.2 A Lightweight Communication Interface for Application Agents 3.3 A Configurable Software Bus as an Intelligent Router 4. Lessons Learned 5. Conclusion 6. References A Three-Tier Design Approach for a Family of Large AC Drive Control Systems 1. Motivation for Reuse 2. Overall Software Structure 2.1 Software Levels for a Product Family 3. Details of the Software Layers 3.1 Common Layer Framework Architecture 3.2 Topology Layer Concepts 4. Three-Tier Reuse Approach 4.1 Steps to Go 4.2 Gained Reuse Potential 5. Conclusion 6. References Modular Turbine Control Software: A Control Software Architecture for the ABB Gas Turbine Family 1. Introduction 1.1 Turbine Control 1.2 Family Variation 2. Reuse 2.1 Current Control Structures 2.2 Requirements 3. Object Orientation 3.1 Object Hierarchy Design 3.2 Data Encapsulation State Modifying Services: Information Services: Administration Services: Parameters: 3.3 Inheritance 3.4 Abstraction 3.5 Use Cases 3.6 Implementation and Design Rules 4.Conclusion 5.References Experiences with the Evolution of an Application Family Architecture 1. Introduction 1.1 Semantic Graphics at ABB 1.2 History 2. Concepts and Architecture 2.1 General Concepts 2.2 Graphical editor 2.3 Synchronized graphical views 2.4 Object persistence 2.5 Customizability 3. Documentation 3.1 Source code based docu ̃ment ̃ation 3.2 Evolution of the SGF Concept book 4. Organizational Issues 4.1 Ownership issues 4.2 People issues 4.3 Process responsibilities 5. Lessons Learned 6. Summary and Conclusions 7. References Session 2: Architectural Description 1. Main Issues 2. Discussion Generic Architecture Descriptions for Product Lines 1 Introduction 2 A Style as a Generic Architecture 3 An Under-Constrained Architecture as a Generic Architecture 4 A Variance-Free Architecture as a Generic Architecture 5 A Parametric Architecture as a Generic Architecture 6 A Service Oriented Architecture as a Generic Architecture 7 Putting The Pieces Together 8 Summary A Model of Interaction in Concurrent and Distributed Systems 1 Introduction 2 Component Interaction 2.1 The Component Model Example: Mobile Telephony 2.2 Binding Actions 2.3 Interaction Model 3 A Language for the Definition of Interactions 4 Implementation of Midas Endpoints 4.1 Interactions between Concurrent Components 4.2 Interactions between Distributed Components 5 Related Work References An Integral Hierarchy and Diversity Model for Describing Product Family Architectures 1. Introduction 1.1 Product families 1.2 Diversity-aware architecture models 1.3 Goals of model 2. Hierarchy and Diversity Model 2.1 Hierarchy-only models 2.2 Modelling Hierarchy and Diversity 2.3 Adding interfaces 2.4 Constraining Combinations 2.5 Individual Configurations 3. A Software Example 4. Discussion and Conclusions 5. References Koala, a Component Model for Consumer Electronics Product Software 1. Introduction 2. The Koala Component Model 2.1 Interfaces 2.2 Configurations 2.3 Implementation 3. Extensions to the Model 3.1 Compound Components 3.2 Gluing Interfaces 3.3 Multiple Instantiation 3.4 Packages 4. Diversity 4.1 Interface Compatibility 4.2 Diversity Interfaces 4.3 Late Binding 4.4 Switches 4.5 Function Binding 4.6 Optional Interfaces 5. Execution Architecture 5.1 Events 5.2 Threads and Tasks 6. Concluding Remarks 7. Acknowledgments 8. References Session 3: Architecture Recovery Recovery of Architectural Structure: A Case Study* 1. Introduction 1.1 Software Architecture Recovery 1.2 Related Work 1.3 Architectural Description 2. The Case Study 3. Recovering Architectural Structure 4. Result - The Identified Architecture 5. Future Work 6. Conclusion 7. Acknowledgments Reengineering C/C++ Source Code by Transforming State Machines* 1 Introduction 2 Finding State Machines Using ESPaRT 2.1 How Does ESPaRT Work? 2.2 ESPaRT vs. Regular Expressions 2.3 State Machine Patterns 2.4 Summary 3 The `Generic Harel State Machine Engine' (HSME) Design Pattern 4 Replacing Conventional State Machine Implementations with Generic Components 5 Related Work 6 Summary and Conclusions References An Experiment in Distributed Software Architecture Recovery 1 Introduction 2 The Software 3 Modules and Subsystems 4 Architectural Abstractions 4.1 Searching for Code Patterns 4.2 Components 4.3 Interactions 5 Conclusion References Reverse Engineering to Recover and Describe a System's Architecture* 1 Introduction 2 Case study: Train Control System (TCS) 3 The Architecture Recovery Framework 3.1 Architectural Properties 3.2 Architectural Descriptions 3.3 Architecture Recovery Methods 4 The Architecture Recovery Process 4.1 Principles of the Framework 4.2 Architecture Recovery Process 4.3 An Architecture Recovery Example 5 Summary and Conclusions Acknowledgements References Can Legacy Systems Beget Product Lines? 1. Introduction 2. Using an Enterprise Approach for Decision Making 3. Developing High-Level System Understanding 4. Distributed Object Technology and Wrapping 5. Network-Centric Computing 6. Examples of Successful Legacy System Evolution 7. Conclusions 8. References The Relation between the Product Line Development Entry Points and Reengineering 1. Introduction 1.1. The Problem 1.2. The Product Line Approach and Its Context 1.3. Related Work 2. Main Entry Points to Product Lines for Software Systems 2.1. Pure PL 2.2.Project Integrating PL 2.3. Reengineering-enabled PL 3. Reengineering as a Product Line Enabler 3.1. Initial Product Line Assets 3.2. Process for PL Assets Recovery 3.3. Assets Recovery & Product Line Engineering 4. Conclusions References Session 4: Analysis of Software Architectures Introduction Goals of architectural analysis Stakeholders Techniques Conclusion Diagnostic Software Architectures 1. Introduction 2. Constructing Diagnostic Software Architectures 3. Diagnostic Techniques 4. Summary and Conclusions 5. References A Software Architecture Evaluation Model 1. Introduction 2. The General Software Quality Assessment Process 3. The Software Architecture evaluation Model 3.1 Quality Specification The external quality specification The internal quality specification 3.2 Metrics Specification The external metrics specification The internal metrics specification 3.3 Quality Evaluation The external quality evaluation The internal quality evaluation 4. Conclusion and Future Work 5. References An Architectural Infrastructure for Product Families 1. Instrumented Connectors 2. Future Work Assessment of Timing Properties of Family Products 1. Introduction 2. An Overview of Rate-Monotonic Analysis 2.1 System Model 2.2. Basic Concepts 3. Generating a Global RMA Model 4. Illustration of the Method 5. Tool Support 6. Conclusions 7. Acknowledgements 8. References Session 5: Development Process 1. Introduction 2. Issues 3. Discussion Stakeholders in Software-System Family Architectures 1. Introduction 2. Software-System Family Development 2.1 Product Families 2.2 Product Family – Caracteristics and Consequen 2.3 Software-System Families 2.4 Software-System Family Architectures 3. A Stakeholder-Oriented Approach to Architecture 4. Software-System Family Stakeholders 5. Software-System Family Stakeholders – A Practi 6. Conclusions and Directions 6.1 References and Bibliography Handling Variant Requirements in Software Architectures for Product Families 1. Introduction 2. Modeling Variations during Domain Analysis 3. System Engineering Process Model 4. Customization of Component Interfaces 5. Concluding Remarks 6. References Architecture-Centric Software Development Based on Extended Design Spaces* 1 Introduction 2 Architectural Reuse with Components and Frameworks 3 The Concept of Design Spaces 4 Extended Design Spaces 5 Using Extended Design Spaces for Architecture-Centric Software Development 6 Current and Further Work 7 Acknowledgements 8 References Architecting for Domain Variability 1. Introduction 2. The Project and Its Goals 3. Domain Analysis 4. Commonality & Variability Analysis 4.1 Feature Variability 5. Deriving an Architecture for Variability 5.1 Product Family Architecture 5.2 Design Strategy for Feature Variability 5.3 Design Strategy for Hardware Variability 5.4 Design Strategy for Performance and Attribute Variability 6. Conclusion References Commonality Analysis: A Systematic Process for Defining Families 1. Introduction 1.1 Developing Families 1.2 An Example: The Host At Sea Buoy Family 2. Defining Families 2.1 Terminology 2.2 Commonalities 2.3 Variabilities 3. FAST Commonality Analysis 3.1 Contents of a Commonality Analysis 3.2 The Commonality Analysis Process 3.3 Stages of the Analysis 4. Results 5. Acknowledgements 6. References Structuring Design Decisions for Evolution 1. Introduction 2. Variance in Large Software Systems 2.1 Classification of variance 2.2 Options for Managing Variance 3. Variance, System Structure and Design Decisions 4. Design Decision Tree 5. Controlled Evolution by Using DDT 6. An example: A Boot Loader for Distributed System 6.1 DDT for Boot Loader 6.2 Sources of Variance in the Boot Loader 6.3 Analyzing Change Requests 6.4 Examples of Change request Analysis 7. Conclusions 8. References Structural Views, Structural Evolution, and Product Families 1 Introduction 2 Approach 3 Conclusion 4 Bibliography Product Family and Reuse in Separate Market Driven Profit Centers 1. Introduction 2. Problem Definition 3. Scope 4. Processes for Reuse 4.1 Making Roadmaps and Product Requests 4.2 Allocate Developments 4.3 Create Systems Develop Architecture Develop Platform Quick Specific Platform Update Application Develop Product Supply Components ERW’97 Session Report: Reuse Adoption Experiences Across a Large Corporation 1. Introduction 2. The European Reuse Workshop (ERWTM97) 3. Reuse across a Large Corporation 3.1 Assessment Experiences 3.2 Improvement Planning and Implementation 4. Conclusions and lessons learned 5. References Author Index This book constitutes the thoroughly refereed post-workshop proceedings of the Second International Workshop on the Development and Evolution of Software Architectures for Product Families organized by ESPRIT Project 20477 ARES (Architectural Reasoning for Embedded Software). The 28 revised full papers presented were carefully reviewed for inclusion in the book. Also included are an introduction and surveys by the session chairpersons. The book is divided in sections on example architectures, architectural description, architecture recovery, analysis of software architectures, and development process
دانلود کتاب Development and Evolution of Software Architectures for Product Families: Second International Esprit Ares Workshop Las Palmas De Gran Canaria, Spain February ... (Lecture Notes in Computer Science, 1429)