Metamodelling for Software Engineering
Buy Rights Online Buy Rights

Rights Contact Login For More Details

More About This Title Metamodelling for Software Engineering


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.


Dr. César González-Pérez has extensive experience in developing educational material, teaching and training in both university and industry settings, and as a programmer and systems designer. He has published over 20 papers and 3 monographs in software engineering-related topics, and works as a researcher at the Deptartment of Software Engineering of the University of Technology, Sydney.

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.


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