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.
Preface vii
Chapter 1 – Software Development Methodologies and Metamodelling 1
1.1 What is a Methodology? 2
1.2 Metamodelling Needs 11
1.3 What is Metamodelling? 17
1.4 Summary 18
References 19
Chapter 2 – Modelling Infrastructure 21
2.1 Models and Modelling 21
2.2 Modelling Languages 26
2.3 Categorization Issues 36
2.4 The Relationship Between Models and Metamodels 42
2.5 Infrastructure 44
2.6 Summary 48
References 48
Chapter 3 – Using Metamodels 53
3.1 Metamodelling for Modelling Languages 53
3.2 Metamodelling for Processes 58
3.3 Metamodelling for Development Methodologies 62
3.4 Metamodelling for Model Transformation 65
3.5 Using a Metamodelling Infrastructure 68
3.6 Summary 72
References 72
Chapter 4 – Problems with Traditional Approaches and Current Products 75
4.1 Terminology and Culture Clashes 76
4.2 Linguistic and Ontological Metamodels 79
4.3 Process and Modelling Conflicts 83
4.4 The Quality Aspect 95
4.5 Solutions and Guidelines 104
4.6 Summary 106
References 106
Chapter 5 – New Approaches to Metamodelling 111
5.1 Deep Instantiation-Based Metamodelling 112
5.2 Powertype-Based Metamodelling 114
5.3 Comparison of Powertype Modelling and Potency 126
5.4 Summary 129
References 130
Chapter 6 – Software Engineering Metamodel for Development Methodologies 133
6.1 General Philosophy and Scope 133
6.2 High-Level View 141
6.3 Process Aspects 144
6.4 Modelling Aspects – Product Classes 148
6.5 People Aspects – Producer Classes 151
6.6 Linking Process and Product Aspects 153
6.7 Support Classes 154
6.8 Classes in ISO/IEC 24744 155
6.9 Extending the ISO/IEC 24744 Metamodel 157
6.10 Summary 161
References 161
Chapter 7 – Creating and Using a Methodology Generated from the Metamodel 163
7.1 Creating a Powertype-Based Methodology from its Metamodel 165
7.2 The Endeavour Domain 175
7.3 Summary 178
References 179
Appendix– Proposed Notation for ISO/IEC 24744 181
Index 203
Metamodelling for Software Engineering is a comprehensive and practical guide to a subject that is growing in interest and importance and is becoming the standard way of defining software development methodologies, including both processes and languages such as UML. The ISO/IEC 24744 standard metamodel is adopted throughout the book as a background reference.
Metamodelling is often regarded as a complex discipline, much removed from daily practice. This book seeks to demystify metamodelling and explains why it is necessary in the context of software engineering. It covers:
- Basic concepts and principles of metamodelling.
- Problems associated with traditional metamodelling, 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.
- A comprehensive case study, which shows how to use the concepts explained in the previous chapters.
This thorough and practical guide bridges the gap between the academic realm, where most of the innovation happens, and industry, where the real needs exist. This book will show academics how to approach metamodelling in such a fashion that their research outcomes are useful to industry; lecturers and educators how to teach metamodelling to students so it is well understood and assimilated; industry methodologists how to utilize valuable metamodelling ideas in their daily work and software tool developers how to incorporate the most innovative research outcomes into their products.
Focusing on metamodelling as a discipline, exploring its foundations, techniques and results and covering process, product and quality issues under a common framework, this is a unique and timely publication for all software engineering practitioners, academics and students interested in metamodelling.
Produktdetaljer
Om bidragsyterne
Cesar Gonzalez-Perez is a senior researcher in the application of information technologies in the management of cultural heritage at the Spanish National Research Council and was previously a researcher in the Department of Software Engineering at the University of Technology, Sydney.
Brian Henderson-Sellers is Director of the Centre for Object Technology Applications and Research and a professor at the University of Technology, Sydney. He is the author of more than a dozen books on object and agent technologies.