All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage and retrieval system, without written permission from the publisher, except for the inclusion of brief quotations in a review.
The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein.
All trademarks are property of their respective owners and should be treated as such.
ISBN, print ed. 9781634620741
ISBN, Kindle ed. 9781634620758
ISBN, ePub ed. 9781634620765
Foreword
Serge Valera
Senior Software Engineer, System, Software and In-Orbit Demonstration Department
European Space Agency
Developing and operating space systems entails complex activities involving many partners, distributed in location and time. This requires efficient and effective exchanges of information between all partners involved. Years of work developing centralized information systems revealed the complexity of such development, often resulting in inadequate and inefficient products that fail to satisfy all the needs. Years of work building distributed information systems by reusing (and adapting) proprietary systems also revealed that such approaches often suffer from loss of semantics in the resulting data exchange.
These deficiencies always have the same source: the difficulty for the customers to fully and adequately specify their needs and to validate the resulting system requirements specifications prior to contracting the development of the required products.
Most information modelling approaches used in industry today are technology driven rather than adequately addressing the customers needs. By focusing on the structuring of the information in terms of data items according to the required storage and access performances, such approaches provide little emphasis on the semantics .
The Object-Role Modelling (ORM) methodology introduced in this book addresses information modelling from the customers viewpoint, the WHAT. This approach focuses on capturing all stakeholders information requirements in a conceptual model that can be expressed as system requirements specifications, i.e. the contractual language, for the purpose of being validated by these stakeholders prior to any contract agreement.
ORM is a Fact Based Modelling (FBM) methodology in which all facts are modelled as relationships (unary, binary, ternary, etc.). How facts are grouped into structures is an implementation issue that is out of scope for the customer. This results in greater semantic stability for any contractual business. By capturing information in terms of atomic facts, ORM expresses the information requirements in the simplest possible way.
At ESA since the late 1980s, I searched for a means to fully and formally specify the WHAT, i.e. applying the Conceptualization and 100% Principle of ISO TR9007. I discovered fact based modelling in the early 90s and successfully used ORM to develop in-house information systems, and to conceptualize situations for the purpose of verifying and validating the adequacy of related industrial developments.
In 2006, I met with Terry and others in the FBM research community, and have been collaborating with them ever since. Today, at the European Space Agency we have the technology to develop any information system as a stand-alone product. The use of FBM and ORM in the specification of these systems reduces the risk of expensive developments due to lack of understanding the stakeholders needs.
What is missing in the European Space Business and more generally in all large products development involving many industrial and agencies partners is the adequate means to address the interoperability, i.e. the means to address interoperability at a semantic level.
Thanks to Terrys constant willingness to share his knowledge, to transfer his many years of research and knowhow to ESA, we are now facing a new evolution in the Software business that is from Product Modelling to Enterprise Modelling, from semantic modelling to semantic interoperability.
Enabling semantic interoperability requires semantic modelling of the products involved, using a modelling approach such as FBM/ORM to fully and precisely capture the relevant semantics. This raises the question of how to best train industrial practitioners in ORM.
Previously published books on ORM have provided an in-depth and broad coverage of multiple information systems modelling approaches, including formal discussion of the logical foundations of ORM, or instead have focused on use of a specific ORM modelling tool. In contrast, Terrys new book is mainly aimed at practitioners, providing a simple and short introduction to the key aspects of ORM and explaining how it can be used in practice to develop information systems.
Transferring academic knowledge to industry has always been a difficult task. Industry needs to estimate the maturity of the research technology, the industrial work needed to develop operational solutions, and the value of the resulting solutions to positively impact the business. This technology readiness level assessment is on-going in the European space business. Terrys new book will play an important role in this assessment. Together with the NORMA freeware tool discussed in the book, it offers newcomers a way to discover the benefit of conceptual modelling with ORM by applying that methodology for example to the development of new information systems or to facilitate the process of validating the adequacy of existing or under-development systems, resulting in a reduction of the overall maintenance costs.
Terrys book is well written and sufficiently detailed to allow newcomers to understand how to conceptualize information requirements with ORM. The availability of the NORMA tool, the ORM graphical notation and automated verbalization in FORML provides the means to easily learn and quickly exploit ORM as a way to capture the semantics of business domains.
For those who work with relational databases, NORMAs automatic mapping from ORM to relational models helps one realize the benefits of first modelling the semantics in a natural way before dropping to the level of implementation.
I highly recommend this book to any customer who desires clarity in the way their information modeler documents their needs. I also strongly recommend the book to any conceptual modeler who wishes a formal, logic-based means to capture the needs of their stakeholders, and validate the specification of the business domain before even considering the prototyping of some of the specified features.
Preface
This book provides a practical introduction to data modeling using the Object-Role Modeling (ORM) approach. ORM is a fact-based modeling method that expresses the information requirements of any business domain simply in terms of objects that play roles in relationships. All facts of interest are treated as instances of attribute-free structures known as fact types, where the relationship may be unary (e.g. Person smokes ), binary (e.g. Person was born on Date ), ternary (e.g. Customer bought Product on Date) , or longer.