Overview of an Approach Describing Multi-views/ Multi-abstraction Levels Software Architecture
---
paper_title: Software systems architecture: working with stakeholders using viewpoints and perspectives

paper_content:

Software Systems Architecture is a practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices. It shows why the role of the architect is central to any successful information-systems development project, and, by presenting a set of architectural viewpoints and perspectives, provides specific direction for improving your own and your organization's approach to software systems architecture.With this book you will learn how to Design an architecture that reflects and balances the different needs of its stakeholders Communicate the architecture to stakeholders and demonstrate that it has met their requirements Focus on architecturally significant aspects of design, including frequently overlooked areas such as performance, resilience, and location Use scenarios and patterns to drive the creation and validation of your architecture Document your architecture as a set of related views Use perspectives to ensure that your architecture exhibits important qualities such as performance, scalability, and security The architectural viewpoints and perspectives presented in the book also provide a valuable long-term reference source for new and experienced architects alike.Whether you are an aspiring or practicing software architect, you will find yourself referring repeatedly to the practical advice in this book throughout the lifecycle of your projects.A supporting Web site containing further information can be found at www.viewpoints-and-perspectives.info
---
paper_title: The ViewPoints FAQ

paper_content:

The structure of this brief paper follows an emerging convention the FAQ Frequently Asked Questions list. FAQs have grown out of Internet newgroups where participants, tired of seeing the same questions repeated by newcomers, provide a list of canned answers to the most frequently asked questions. An FAQ also provides a covert role in defusing tiresome or unduly acrimonious debates by summarising the arguments and pre-empting outbreaks of “flame wars”. This is our attempt, somewhat tongue-in-cheek, to do the same for viewpoints. The FAQ serves as our introduction to the theme of the special issue papers which follow.
---
paper_title: Viewpoints: Principles, Problems and a Practical Approach to Requirements Engineering

paper_content:

The paper includes a survey and discussion of viewpointdoriented approaches to requirements engineering and a presentation of new work in this area which has been designed with practical application in mind. We describe the benefits of viewpointdoriented requirements engineering and describe the strengths and weaknesses of a number of viewpointdoriented methods. We discuss the practical problems of introducing viewpointdoriented requirements engineering into industrial software engineering practice and why these have prevented the widespread use of existing approaches. ::: ::: We then introduce a new model of viewpoints called Preview. Preview viewpoints are flexible, generic entities which can be used in different ways and in different application domains. We describe the novel characteristics of the Preview viewpoints model and the associated processes of requirements discovery, analysis and negotiation. Finally, we discuss how well this approach addresses some outstanding problems in requirements engineering (RE) and the practical industrial problems of introducing new requirements engineering methods.
---
paper_title: Code generation in VUML profile: A model driven approach

paper_content:

VUML is a view-based analysis/design method offering a formalism (UML profile) and a process to model software systems through objects and views. The main extension to UML is the multiview class whose goal is to store and deliver information according to the user's viewpoint. VUML supports the dynamic change of viewpoints and offers mechanisms to describe view dependencies. On the semantics side, the VUML meta-model extends the UML one with OCL rules. VUML proposes also a generic implementation pattern to generate the object code corresponding to a VUML class diagram. The proposed pattern uses delegation, handle technique and polymorphism to implement views. In this paper, we present a model driven implementation of this pattern, which integrates the multi-user aspect and supports Java language. We propose a code generation technique that respects the pattern and uses the MDA approach. We specify transformations as a collection of rules implemented in ATL. The proposal is illustrated by a simple example.
---
paper_title: VUML: a viewpoint oriented UML extension

paper_content:

One of the main challenges of our modern societies is the development of information systems accessible to every citizen with respect to his culture, rights, education etc. A number of such information systems (servers) are now provided on the Web in e-learning, tourism, environment, health, transport, etc. But the development and the maintenance of those systems are not guided by users' profile (viewpoints) and thus such systems are very difficult to adapt, reuse and maintain when a viewpoint must be added/removed/updated. To meet these requirements, we propose an extension of UML called VUML (View based Unified Modeling Language). VUML provides the concept of multiviews component whose goal is to store and deliver information according to users' viewpoints. A multiviews component consists of a default view and a set of specific views related to the base through an extension relation. This approach allows for dynamic change of viewpoints and offers mechanisms to describe views dependencies. To favor reuse and transition to coding, we propose an implementation generic pattern targeting object-oriented languages.
---
paper_title: Consistency in multi-viewpoint design of enterprise information systems

paper_content:

Different stakeholders in the design of an enterprise information system have their own view on that design. To help produce a coherent design this paper presents a framework that aids in specifying relations and consistency rules between such views. The contribution of our framework is that it provides a collection of basic concepts. These basic concepts aid in relating viewpoints by providing: (i) a common terminology that helps stakeholders to understand each others concepts; and (ii) re-usable consistency rules. We show that our framework can be applied, by performing a case study in which we specify the relations and consistency rules between three RM-ODP viewpoints.
---
paper_title: CORE - a method for controlled requirement specification

paper_content:

Attempts to specify requirements adequately normally fail - sometimes catastrophically. One reason is the lack of a rigorously defined method which directly addresses the needs of requirement specification. CORE, the subject of this paper, is such a method. CORE is the result of several years of practical experiment by the author, using a number of published approaches to specification and design. It is supported by a diagrammatic notation whose key features are a composite of ideas drawn from several widely used notations for expression of requirement or design.
---
paper_title: A Rule-Driven Approach for composing Viewpoint-oriented Models

paper_content:

Model composition is a crucial activity in Model Driven Engineering (MDE). It is particularly useful when adopting a multi-modeling approach to analyze and design software systems. In previous works, we defined a view-based UML profile called VUML. In this paper, we describe a composition process and a MDE-based framework, which contains a generic composition part, and a specific part dedicated to a given modeling domain. To illustrate our approach, we apply it to the composition (merging) of two UML class diagrams into one VUML class diagram. The composition operator is implemented as a ruled-based transformation in ATL.
---
paper_title: A Formal Approach to Model Composition Applied to VUML

paper_content:

Several approaches adopted by the software engineering community rely on the principle of multi-modeling which allows to separate concerns and to model a system as a set of less complex sub-models. Model composition is a crucial activity in Model Driven Engineering (MDE). It is particularly useful when adopting a multi-modeling approach to analyze and design software systems. In previous work, we have defined a view-based UML profile called VUML. In this paper, we describe a formal approach for model composition in which we consider the composition as an algebraic operator on the set of UML-compliant models. We specify the semantics of our composition operator by means of graph transformations. Furthermore, we present a composition scheme interpreted by a two-steps composition process based on two strategies of correspondence and merging. To illustrate our approach, we apply it to the composition of UML class models diagrams into one VUML model class diagram.
---
paper_title: Software systems architecture: working with stakeholders using viewpoints and perspectives

paper_content:

Software Systems Architecture is a practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices. It shows why the role of the architect is central to any successful information-systems development project, and, by presenting a set of architectural viewpoints and perspectives, provides specific direction for improving your own and your organization's approach to software systems architecture.With this book you will learn how to Design an architecture that reflects and balances the different needs of its stakeholders Communicate the architecture to stakeholders and demonstrate that it has met their requirements Focus on architecturally significant aspects of design, including frequently overlooked areas such as performance, resilience, and location Use scenarios and patterns to drive the creation and validation of your architecture Document your architecture as a set of related views Use perspectives to ensure that your architecture exhibits important qualities such as performance, scalability, and security The architectural viewpoints and perspectives presented in the book also provide a valuable long-term reference source for new and experienced architects alike.Whether you are an aspiring or practicing software architect, you will find yourself referring repeatedly to the practical advice in this book throughout the lifecycle of your projects.A supporting Web site containing further information can be found at www.viewpoints-and-perspectives.info
---
paper_title: Views and Viewpoints in Software Systems Architecture

paper_content:

Although the use of multiple views is a virtual holy grail of software and systems engineering, its status appears less secure in the eld known as Software Architecture. Yet, practicing architects need views to manage the inherent complexity of the large, software-intensive systems they specify and build. This paper begins with a brief survey of the topic from its historical origins through current usage and issues, and ends with an overview of an approach to treating views as rst-class entities within architectural description with respect to their usage in architectural specication,
---
paper_title: Foundations for the study of software architecture

paper_content:

The purpose of this paper is to build the foundation for software architecture. We first develop an intuition for software architecture by appealing to several well-established architectural disciplines. On the basis of this intuition, we present a model of software architecture that consists of three components: elements, form, and rationale. Elements are either processing, data, or connecting elements. Form is defined in terms of the properties of, and the relationships among, the elements --- that is, the constraints on the elements. The rationale provides the underlying basis for the architecture in terms of the system constraints, which most often derive from the system requirements. We discuss the components of the model in the context of both architectures and architectural styles and present an extended example to illustrate some important architecture and style considerations. We conclude by presenting some of the benefits of our approach to software architecture, summarizing our contributions, and relating our approach to other current work.
---
paper_title: A practical method for documenting software architectures

paper_content:

A practical approach for documenting software architectures is presented. The approach is based on the well-known architectural concept of views, and holds that documentation consists of documenting the relevant views and then documenting the information that applies to more than one view. Views can be usefully grouped into viewtypes, corresponding to the three broad ways an architect must think about a system: as a set of implementation units, as a set of runtime elements interacting to carry out the system’s work, and as a set of elements existing in and relating to external structures in its environment. A simple three-step procedure for choosing the relevant views to document is given, and applied to the problem of documentation for a large, complex NASA system.
---
paper_title: Extending and formalizing the framework for information systems architecture

paper_content:

John Zachman introduced a framework for information systems architecture (ISA) that has been widely adopted by systems analysts and database designers. It provides a taxonomy for relating the concepts that describe the real work to the concepts that describe an information system and its implementation. The ISA framework has a simple elegance that makes it easy to remember, yet it draws attention to fundamental distinctions that are often overlooked in systems design. This paper presents the framework and its recent extensions and shows how it can be formalized in the notation of conceptual graphs.
---
paper_title: Subject-oriented composition rules

paper_content:

Subject-oriented programming supports composition of object-oriented programs or program fragments called subjects. This paper presents an approach to the composition rules used to specify composition details. Rules can be generic, allowing different subrules to be "plugged into" higher-level rules, and they include a means of specifying exceptions to general rules. We give definitions of a number of useful, generic rules, including merge and override, as a first step towards a generally-useful composition rule library. We also outline an object-oriented framework for implementing rules, which we are currently building as part of our support for subject-oriented programming in C++.
---
paper_title: A hierarchical use case model with graphical representation

paper_content:

Use case modelling is gaining increasing interest in computer-based systems engineering, especially in the earliest stages of system development, where requirements are elicited, documented and validated. The paper presents a conceptual framework for use case modelling and a new use case model with graphical representation, including support for different abstraction levels and mechanisms for managing large use case models. Current application of use cases in requirements engineering is discussed, as well as ontological and methodological issues related to use case modelling.
---
paper_title: Software systems architecture: working with stakeholders using viewpoints and perspectives

paper_content:

Software Systems Architecture is a practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices. It shows why the role of the architect is central to any successful information-systems development project, and, by presenting a set of architectural viewpoints and perspectives, provides specific direction for improving your own and your organization's approach to software systems architecture.With this book you will learn how to Design an architecture that reflects and balances the different needs of its stakeholders Communicate the architecture to stakeholders and demonstrate that it has met their requirements Focus on architecturally significant aspects of design, including frequently overlooked areas such as performance, resilience, and location Use scenarios and patterns to drive the creation and validation of your architecture Document your architecture as a set of related views Use perspectives to ensure that your architecture exhibits important qualities such as performance, scalability, and security The architectural viewpoints and perspectives presented in the book also provide a valuable long-term reference source for new and experienced architects alike.Whether you are an aspiring or practicing software architect, you will find yourself referring repeatedly to the practical advice in this book throughout the lifecycle of your projects.A supporting Web site containing further information can be found at www.viewpoints-and-perspectives.info
---
paper_title: Viewpoints: Principles, Problems and a Practical Approach to Requirements Engineering

paper_content:

The paper includes a survey and discussion of viewpointdoriented approaches to requirements engineering and a presentation of new work in this area which has been designed with practical application in mind. We describe the benefits of viewpointdoriented requirements engineering and describe the strengths and weaknesses of a number of viewpointdoriented methods. We discuss the practical problems of introducing viewpointdoriented requirements engineering into industrial software engineering practice and why these have prevented the widespread use of existing approaches. ::: ::: We then introduce a new model of viewpoints called Preview. Preview viewpoints are flexible, generic entities which can be used in different ways and in different application domains. We describe the novel characteristics of the Preview viewpoints model and the associated processes of requirements discovery, analysis and negotiation. Finally, we discuss how well this approach addresses some outstanding problems in requirements engineering (RE) and the practical industrial problems of introducing new requirements engineering methods.
---
paper_title: Consistency in multi-viewpoint design of enterprise information systems

paper_content:

Different stakeholders in the design of an enterprise information system have their own view on that design. To help produce a coherent design this paper presents a framework that aids in specifying relations and consistency rules between such views. The contribution of our framework is that it provides a collection of basic concepts. These basic concepts aid in relating viewpoints by providing: (i) a common terminology that helps stakeholders to understand each others concepts; and (ii) re-usable consistency rules. We show that our framework can be applied, by performing a case study in which we specify the relations and consistency rules between three RM-ODP viewpoints.
---
paper_title: CORE - a method for controlled requirement specification

paper_content:

Attempts to specify requirements adequately normally fail - sometimes catastrophically. One reason is the lack of a rigorously defined method which directly addresses the needs of requirement specification. CORE, the subject of this paper, is such a method. CORE is the result of several years of practical experiment by the author, using a number of published approaches to specification and design. It is supported by a diagrammatic notation whose key features are a composite of ideas drawn from several widely used notations for expression of requirement or design.
---
paper_title: Views and Viewpoints in Software Systems Architecture

paper_content:

Although the use of multiple views is a virtual holy grail of software and systems engineering, its status appears less secure in the eld known as Software Architecture. Yet, practicing architects need views to manage the inherent complexity of the large, software-intensive systems they specify and build. This paper begins with a brief survey of the topic from its historical origins through current usage and issues, and ends with an overview of an approach to treating views as rst-class entities within architectural description with respect to their usage in architectural specication,
---
paper_title: Software systems architecture: working with stakeholders using viewpoints and perspectives

paper_content:

Software Systems Architecture is a practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices. It shows why the role of the architect is central to any successful information-systems development project, and, by presenting a set of architectural viewpoints and perspectives, provides specific direction for improving your own and your organization's approach to software systems architecture.With this book you will learn how to Design an architecture that reflects and balances the different needs of its stakeholders Communicate the architecture to stakeholders and demonstrate that it has met their requirements Focus on architecturally significant aspects of design, including frequently overlooked areas such as performance, resilience, and location Use scenarios and patterns to drive the creation and validation of your architecture Document your architecture as a set of related views Use perspectives to ensure that your architecture exhibits important qualities such as performance, scalability, and security The architectural viewpoints and perspectives presented in the book also provide a valuable long-term reference source for new and experienced architects alike.Whether you are an aspiring or practicing software architect, you will find yourself referring repeatedly to the practical advice in this book throughout the lifecycle of your projects.A supporting Web site containing further information can be found at www.viewpoints-and-perspectives.info
---
paper_title: A practical method for documenting software architectures

paper_content:

A practical approach for documenting software architectures is presented. The approach is based on the well-known architectural concept of views, and holds that documentation consists of documenting the relevant views and then documenting the information that applies to more than one view. Views can be usefully grouped into viewtypes, corresponding to the three broad ways an architect must think about a system: as a set of implementation units, as a set of runtime elements interacting to carry out the system’s work, and as a set of elements existing in and relating to external structures in its environment. A simple three-step procedure for choosing the relevant views to document is given, and applied to the problem of documentation for a large, complex NASA system.
---

Title: Overview of an Approach Describing Multi-views/ Multi-abstraction Levels Software Architecture

Section 1: INTRODUCTION
Description 1: Introduce the complexity of large-scale systems, the role of stakeholders, and the concepts of views and abstraction levels in software architecture. Provide a summary of the paper's structure.

Section 2: HISTORY OF VIEWS
Description 2: Present the evolution and significance of views in software architecture across various domains, including requirements engineering, software systems modeling, software architecture construction, and software development.

Section 3: Views in Requirements Engineering
Description 3: Detail the historical and influential research on viewpoints in requirements specification, including key contributors and their contributions to the field.

Section 4: Views in Software Systems Modelling
Description 4: Discuss the development and impact of views in software systems modeling, highlighting key methods and extensions like UML and VUML.

Section 5: Views in Software Architecture
Description 5: Explore different models and frameworks that utilize views in software architecture documentation, including the IEEE Standard 1471.

Section 6: Views in Software Development
Description 6: Explain the role of views in the software development process, discussing techniques like Aspect-Oriented Programming, Subject-Oriented Programming, and View-Oriented Programming.

Section 7: HISTORY OF ABSTRACTION LEVELS
Description 7: Provide an overview of the concept of abstraction levels in software engineering, including key researches and their proposed hierarchical modeling approaches.

Section 8: MoVAL APPROACH
Description 8: Introduce the MoVAL (Model, View, Abstraction level) approach, detailing how it integrates views and abstraction levels to address complexities in software architecture.

Section 9: Views in MoVAL
Description 9: Define what constitutes a view in MoVAL and how it represents the concerns of different stakeholders.

Section 10: Abstraction Levels in MoVAL
Description 10: Explain the role and definition of abstraction levels within the MoVAL framework, including examples.

Section 11: Architectural Representations in MoVAL
Description 11: Describe how architectural representations are structured in MoVAL and their dependency on views and abstraction levels.

Section 12: Links in MoVAL
Description 12: Discuss the links in MoVAL that define relationships between architectural representations, ensuring consistency and coherence.

Section 13: MoVAL Meta-model
Description 13: Present the MoVAL meta-model, extending the IEEE standard 1471-2000, and defining additional concepts like abstraction levels, architectural representations, formalisms, and links.

Section 14: ANALYSIS
Description 14: Analyze the comparative characteristics of various approaches related to MoVAL, focusing on inter-view relations, stakeholder roles, hierarchy support, and methodology support.

Section 15: RELATED WORKS LIMITATIONS
Description 15: Summarize the identified limitations of related works and how MoVAL addresses them.

Section 16: CONCLUSIONS
Description 16: Conclude the paper by summarizing the main contributions of the MoVAL approach and its potential benefits in documenting complex software architectures.