Metamodelling is often regarded as a complex discipline, much removed from daily practice. This book seeks to demystify Metamodelling and explain 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.
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
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
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
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
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
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
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
APPENDIX Proposed Notation for ISO/IEC 24744 181
Brian Henderson–Sellers is Director of the Centre for Object Technology Applications and Research and Professor of Information Systems at the University of Technology, Sydney. He is author of over a dozen books on object and agent technologies and is well known for his work in OO methodologies and OO metrics. He is a frequent speaker at conferences, and was voted number 3 in the Who′s Who of Object Technology (Handbook of Object Technology, CRC Press). In July 2001, Professor Henderson–Sellers was awarded a Doctor of Science (DSc) from the University of London for his research contributions in object–oriented methodologies.