You are previewing Metamodelling for Software Engineering.
O'Reilly logo
Metamodelling for Software Engineering

Book Description

This book focuses on metamodelling as a discipline, exploring its foundations, techniques and results. It presents a comprehensive metamodel that covers process, product and quality issues under a common framework.

Issues covered include:

  • An explanation of what metamodelling is and why it is necessary in the context of software engineering.

  • Basic concepts and principles of traditional metamodelling, and some existing results of this approach.

  • Problems associated with traditional approaches to Metamodelling are discussed, alongside an exploration of possible solutions and alternative approaches.

  • Advanced topics such as the extension of the object-oriented paradigm for metamodelling purposes or the foundations of powertype-based tool development will be studied.

  • Finally, a comprehensive case study is introduced and developed, showing how to use many of the concepts explained in the previous chapters.

This book provides a comprehensive conceptual framework for metamodelling and includes case studies and exercises which will demonstrate practical uses of metamodelling. For lecturers and educators, the book provides a layered repository of contents, starting from the basics of metamodelling in the first chapters, through specific issues such as trans-layer control or non-strict approaches, up to advanced topics such as universal powertyping or extensions to the object-oriented paradigm. The book also serves as an in-depth reference guide to features and technologies to consider when developing in-house software development methods or customising and adopting off-the-shelf ones. Software tool developers and vendors can benefit from the book by finding in it a comprehensive guide to the implementation of frameworks and toolsets for computer-aided software modelling and development.

Table of Contents

  1. Cover Page
  2. Title Page
  3. Copyright
  4. Contents
  5. Preface
    1. REFERENCES
  6. CHAPTER 1: Software Development Methodologies and Metamodelling
    1. 1.1 WHAT IS A METHODOLOGY?
    2. 1.2 METAMODELLING NEEDS
    3. 1.3 WHAT IS METAMODELLING?
    4. 1.4 SUMMARY
    5. REFERENCES
  7. CHAPTER 2: Modelling Infrastructure
    1. 2.1 MODELS AND MODELLING 1
    2. 2.2 MODELLING LANGUAGES
    3. 2.3 CATEGORIZATION ISSUES
    4. 2.4 THE RELATIONSHIP BETWEEN MODELS AND METAMODELS
    5. 2.5 INFRASTRUCTURE
    6. 2.6 SUMMARY
    7. REFERENCES
  8. CHAPTER 3: Using Metamodels
    1. 3.1 METAMODELLING FOR MODELLING LANGUAGES
    2. 3.2 METAMODELLING FOR PROCESSES
    3. 3.3 METAMODELLING FOR DEVELOPMENT METHODOLOGIES
    4. 3.4 METAMODELLING FOR MODEL TRANSFORMATION
    5. 3.5 USING A METAMODELLING INFRASTRUCTURE
    6. 3.6 SUMMARY
    7. REFERENCES
  9. CHAPTER 4: Problems with Traditional Approaches and Current Products
    1. 4.1 TERMINOLOGY AND CULTURE CLASHES
    2. 4.2 LINGUISTIC AND ONTOLOGICAL METAMODELS
    3. 4.3 PROCESS AND MODELLING CONFLICTS
    4. 4.4 THE QUALITY ASPECT
    5. 4.5 SOLUTIONS AND GUIDELINES
    6. 4.6 SUMMARY
    7. REFERENCES
  10. CHAPTER 5: New Approaches to Metamodelling
    1. 5.1 DEEP INSTANTIATION-BASED METAMODELLING
    2. 5.2 POWERTYPE-BASED METAMODELLING
    3. 5.3 COMPARISON OF POWERTYPE MODELLING AND POTENCY
    4. 5.4 SUMMARY
    5. REFERENCES
  11. CHAPTER 6: Software Engineering Metamodel for Development Methodologies
    1. 6.1 GENERAL PHILOSOPHY AND SCOPE
    2. 6.2 HIGH-LEVEL VIEW
    3. 6.3 PROCESS ASPECTS
    4. 6.4 MODELLING ASPECTS – PRODUCT CLASSES
    5. 6.5 PEOPLE ASPECTS – PRODUCER CLASSES
    6. 6.6 LINKING PROCESS AND PRODUCT ASPECTS
    7. 6.7 SUPPORT CLASSES
    8. 6.8 CLASSES IN ISO/IEC 24744
    9. 6.9 EXTENDING THE ISO/IEC 24744 METAMODEL
    10. 6.10 SUMMARY
    11. REFERENCES
  12. CHAPTER 7: Creating and Using a Methodology Generated from the Metamodel
    1. 7.1 CREATING A POWERTYPE-BASED METHODOLOGY FROM ITS METAMODEL
    2. 7.2 THE ENDEAVOUR DOMAIN
    3. 7.3 SUMMARY
    4. REFERENCES
  13. Appendix: Proposed Notation for ISO/IEC 24744
    1. STAGES
    2. WORK UNITS
    3. WORK PRODUCTS
    4. PRODUCERS
    5. CONSTRAINTS
    6. RELATIONSHIP CONCEPTS
    7. AUXILIARY CONCEPTS
    8. GENERIC SYMBOLS
    9. DIAGRAM TYPES
  14. Index