Skip to main content

2011 | Buch

Handbook of Conceptual Modeling

Theory, Practice, and Research Challenges

herausgegeben von: David W. Embley, Bernhard Thalheim

Verlag: Springer Berlin Heidelberg

insite
SUCHEN

Über dieses Buch

Conceptual modeling is about describing the semantics of software applications at a high level of abstraction in terms of structure, behavior, and user interaction.

Embley and Thalheim start with a manifesto stating that the dream of developing information systems strictly by conceptual modeling – as expressed in the phrase “the model is the code” – is becoming reality. The subsequent contributions written by leading researchers in the field support the manifesto's assertions, showing not only how to abstractly model complex information systems but also how to formalize abstract specifications in ways that let developers complete programming tasks within the conceptual model itself. They are grouped into sections on programming with conceptual models, structure modeling, process modeling, user interface modeling, and special challenge areas such as conceptual geometric modeling, information integration, and biological conceptual modeling.

The Handbook of Conceptual Modeling collects in a single volume many of the best conceptual-modeling ideas, techniques, and practices as well as the challenges that drive research in the field. Thus it is much more than a traditional handbook for advanced professionals, as it also provides both a firm foundation for the field of conceptual modeling, and points researchers and graduate students towards interesting challenges and paths for how to contribute to this fundamental field of computer science.

Inhaltsverzeichnis

Frontmatter

Programming with Conceptual Models

Frontmatter
1. Conceptual-Model Programming: A Manifesto
Abstract
In order to promote conceptual-model programming (CMP), we present these CMP articles. We hold these articles to be the defining principles for model-complete software development.
Essentially, this CMP manifesto asserts that programming activities are to be carried out via conceptual modeling. For applications amenable to conceptual-model designs, software developers should never need to write a line of traditional code. Thus, programming is actually conceptual-model programming.
To accommodate CMP, conceptual-modeling languages must be executable. They must also be capable of completely deploying both databases and user interfaces and conceptually expressing database access and user interaction. To enable CMP, a conceptual-model compiler must exist to generate underlying code, which could be, but is not necessarily, high-level language code that itself needs further compilation. Important, however, is that model-compiled code is beyond the purview of CMP programmers – both for initially creating the application system being developed and for enhancing or evolving the application system. Thus, application-system development becomes entirely model-driven, and CMP constitutes model-complete software development.
David W. Embley, Stephen W. Liddle, Oscar Pastor
2. Model-Driven Software Development
Abstract
Software development is a complex and difficult task that requires the investment of significant resources and carries major risk of failure. For decades now, researchers have proposed “model-driven” approaches to improve the state of the art in software engineering. Software models are intended to improve communication among stakeholders and aid in the overall understanding both of a problem space and a proposed software solution that satisfies given requirements. As with architectural blueprints or miniature 3D models, software models make it possible to explore and test a design and its ramifications before investing in the actual build-out. The traditional approach to software development involves a modeling process – analysis, requirements specification, design – followed by an implementation process. In the traditional approach, programmers manually write software that conforms (more or less) to specifications described in software models; this process involves transformations that are often incomplete, awkward, and informal. The essence of model-driven software development is the idea that software models can go further than being mere blueprints, and constitute the basis for automatically or semiautomatically generating the software system itself. In this chapter, we survey various major approaches to model-driven software construction and illustrate how model-driven development works in practice.
Stephen W. Liddle

Structure Modelling

Frontmatter
3. The Entity-Relationship Model (Reprinted Historic Data)
Abstract
A data model, called the entity-relationship model, is proposed. This model incorporates some of the important semantic information about the real world. A special diagrammatic technique is introduced as a tool for database design. An example of database design and description using the model and the diagrammatic technique is given. Some implications for data integrity, information retrieval, and data manipulation are discussed.
The entity-relationship model can be used as a basis for unification of different views of data: the network model, the relational model, and the entity set model. Semantic ambiguities in these models are analyzed. Possible ways to derive their views of data from the entity-relationship model are presented.
Peter Pin-Shan Chen
4. UML and OCL in Conceptual Modeling
Abstract
The development of the entity-relationship (ER) model is one of the cornerstones for conceptual modeling of information systems. The Unified Modeling Language (UML) and the Object Constraint Language (OCL) take up central ideas from the ER model and put them into a broad software development context by proposing various graphical sublanguages and diagrams for specialized software development tasks and by adding more precision through textual constraints. The first section of this contribution will introduce the correspondence between basic ER modeling concepts and their UML counterparts. The next part will explain how more advanced conceptual modeling concepts can be formulated in UML. In the following section we will use OCL for features not expressible in diagrammatic form. Then we turn to the description of relational databases with UML. Before we conclude, we will show how to metamodel conceptual modeling features with UML itself and discuss further relevant work from the literature.
Martin Gogolla
5. Mapping Conceptual Models to Database Schemas
Abstract
From the beginning, a primary objective of conceptual modeling has been to generate good database schemas. This chapter surveys and explains the principles and practices of algorithmically mapping conceptual models to database schemas. An important unifying theme is that the underlying principles are independent of conceptual-modeling languages and notation. Although illustrated mainly in terms of the entity-relationship model, the chapter explains and illustrates the application of the mapping principles to extended entity-relationship models, the unified modeling language, and generic conceptual-model hypergraphs. Besides explaining conceptual-model-independent mapping rules, the chapter also addresses normalization issues, explaining both the map-then-normalize approach and the normalize-then-map approach to schema normalization. In addition to mapping conceptual models to flat relations for standard relational databases, the chapter also shows how to map conceptual models to nested relations applicable for object-based and XML storage structures.
David W. Embley, Wai Yin Mok
6. The Enhanced Entity-Relationship Model
Abstract
This chapter introduces an extended entity-relationship model. Structural extensions are complex attributes, cluster or generalisation types, and higher-order relationship types. These extensions still allow a hierarchical construction of schema items. Therefore, a layered predicate logic can be defined. Classical integrity constraints are thus definable on the basis of this logics. The structuring of a database consists of a schema together with a set of static integrity constraints. Database design is nowadays based on the co-design of structuring and functionality. Therefore, extended entity-relationship model languages are supported by explicit functionality. The relational algebra and aggregation functions are generalised for extended entity-relationship models. Therefore, queries, transactions and workflows can directly be defined within the model. Additionally, views can be defined in a more general setting. This extension also supports a novel and sophisticated simple definition of the OLAP cube and its treatment. Semantics generalises the entire theory of relational integrity constraints in such a way that constraint handling and specification can be entirely managed at the conceptual level. Finally, we show how constraint specification can be supported.
Bernhard Thalheim

Process Modelling

Frontmatter
7. Object-Process Methodology for Structure-Behavior Co-Design
Abstract
Function, structure, and behavior are the three major facets of any system. Structure and behavior are two inseparable system aspects, as no system can be faithfully modeled without considering both in tandem. Object-Process Methodology (OPM) is a systems paradigm and language that combines structure–behavior codesign requirements with cognitive considerations. Based on the formal mathematical foundations of graph grammars and a subset of natural language, OPM caters to human intuition in a bimodal way via graphics and autogenerated natural language text. In a nutshell, OPM processes transform objects by creating them, consuming them, or changing their states. The concurrent representation of structure and behavior in the same, single diagram type is balanced, creating synergy whereby each aspect helps understand the other. This chapter defines and demonstrates the principles and elements of OPM, showing its benefits in facilitating structure–behavior codesign and achieving formal, semantically sound, and humanly accessible conceptual models of complex systems in a host of domains and at virtually any complexity level.
Dov Dori
8. Business Process Modelling and Workflow Design
Abstract
Detailed knowledge about the structure and functionality of a business process within an enterprise is of utter importance for a thorough understanding of organizational sequences. This is a crucial requirement in business process management (BPM) and business process re-engineering (BPR), which cover the entire process lifecycle, from modeling and design, to execution, monitoring, and optimization. Throughout this lifecycle, process models are required to represent an enterprise’s processes, so that they can be documented, communicated, verified, simulated, analyzed, automated, evaluated, or improved. This chapter provides an overview of business process modeling and workflow design, discusses their commonalities and differences, explains how different process perspectives aremodeled, and gives an overview of several business process modeling related research topics.
Horst Pichler, Johann Eder
9. BPMN Core Modeling Concepts: Inheritance-Based Execution Semantics
Abstract
We define an abstract model for the dynamic semantics of the core process modeling concepts in the OMG standard for BPMN 2.0. The UML class diagrams associated therein with each flow element are extendedwith a rigorous behavior definition, which reflects the inheritance hierarchy structure by refinement steps. The correctness of the resulting precise algorithmic model for an execution semantics for BPMN can be checked by comparing the model directly with the verbal explanations in [8]. Thus, the model can be used to test reference implementations and to verify properties of interest for (classes of) BPMN diagrams. Based on the model the second author has implemented a native BPMN 2.0 Process Engine.
Egon Börger, Ove Sörensen

User Interface Modelling

Frontmatter
10. Conceptual Modelling of Interaction
Abstract
The conceptual model of an information system cannot be considered to be complete after just specifying the structure and behaviour of the system. It is also necessary to specify how end users will interact with the system. Even though there are several proposals for modelling interaction, none of them have become widely known or widely used in academia and industry. After illustrating the state of the art in this field, this chapter briefly presents a practical approach with the aim of showing how interaction modelling can be faced. The presented approach is called OO-Method, a Model-Driven Engineering method that allows full functional systems to be generated from a conceptual model. The chapter explains how OO-Method supports the interaction modelling by means of its Presentation Model. Apart from this description, the chapter comments on some limitations of the presentation model to satisfy end user interaction requirements related to preferences and different contexts of use. This problem is faced by distinguishing an abstract and a concrete level for interaction modelling. The abstract perspective focuses on what must be presented to end users in order to allow their interaction with an information system, and the concrete perspective focuses on how those elements are presented.
Nathalie Aquino, Jean Vanderdonckt, Jose Ignacio Panach, Oscar Pastor
11. Conceptual Modelling of Application Stories
Abstract
The development of complex systems requires an understanding of how the system is supposed to be used. This corresponds to describing how actors are supposed to navigate through the system and which actions they are to execute in order to perform certain tasks. As descriptions of navigation paths correspond to “telling stories” about the system usage, a conceptual model for application stories is needed. This chapter highlights the key concepts of storyboarding such as actors, scenarios and tasks, and the composed action scheme called “plot”. Furthermore, the pragmatics of storyboards is addressed, i.e. what the model means to users. The chapter is rounded out by discussing inferences to analyse storyboards.
Antje Düsterhöft, Klaus-Dieter Schewe

Special Challenge Area

Frontmatter
12. Evolution and Migration of Information Systems
Abstract
Modernisation of information systems is a fundamental but sometimes neglected aspect of conceptual modelling. The management of evolution, migration and refinement and the ability for information systems to deal with modernisation is an essential component in developing and maintaining truly useful systems that minimise service disruption and down time and maximise availability of data and applications. Many approaches to handling evolution and migration have been proposed in various areas of data management. Most of them are rather informal descriptions of the project management of either evolution management or migration management. Typical problems that have been considered are modelling and management of evolution and migration; handling of changes and versioning; managing information system upgrades and schema changes; semantics of modernisation in time and space; handling changes in metadata, schema evolution, migration and versioning; change detection, monitoring and mining.
This chapter provides a systematic inside look at the first two problems. We show that migration and evolution are interwoven aspects. Three migration strategies (big bang, chicken little, butterfly) can be based on systematic evolution steps. Evolution steps use the theory of model suites. An information system is specified by models such as the database structure model, the view model, the functionality model and the interaction model. Model suites thus support the co-evolution of models during system evolution and migration. We restrict migration and evolution to model aspects. The theory, technics and methodology can, however, be extended to database or information base evolution and migration by the derivation of corresponding support functions based on mappings among the models.
Meike Klettke, Bernhard Thalheim
13. Conceptual Geometric Modelling
Abstract
This chapter starts with a review of existing spatial data models in the literature to show some key problems that need to be addressed by conceptual models to include spatial data and more generally geometric data. Motivated among other things by the need to support spatial modelling for the sustainable land use initiative we present a geometrically enhanced ER model (GERM), which preserves the key principles of ER modelling and at the same time introduces bulk constructions and types that support geometric objects. The model distinguishes between a syntactic level of types and an explicit internal level, in which types give rise to polyhedra that are defined by algebraic varieties. It further emphasises the stability of algebraic operations by means of a natural modelling algebra that extends the usual Boolean operations on point sets.
Hui Ma, Klaus-Dieter Schewe
14. Data Integration
Abstract
Given the many data integration approaches, a complete and exhaustive comparison of all the research activities is not possible. In this chapter we will present an overview of the most relevant research activities and ideas in the field investigated in the last 20 years. We will also introduce the MOMIS system, a framework to perform information extraction and integration from both structured and semistructured data sources, that is one of the most interesting results of our research activity. An open source version of the MOMIS system was delivered by the academic startup DataRiver (www.datariver.it).
Sonia Bergamaschi, Domenico Beneventano, Francesco Guerra, Mirko Orsini
15. Conceptual Modeling Foundations for a Web of Knowledge
Abstract
The semantic web purports to be a web of knowledge that can answer our questions, help us reason about everyday problems as well as scientific endeavors, and service many of our wants and needs. Researchers and others expound various views about exactly what this means. Here we propose an answer with conceptual modeling as its foundation. We define a web of knowledge as a collection of interconnected knowledge bundles superimposed over a web of documents. Knowledge bundles are conceptual model instances augmented with facilities that provide for both extensional and intensional facts, for linking between knowledge bundles yielding a web of data, and for linking to an underlying document collection providing a means of authentication. We formally define both the component parts of these augmented conceptual models and their synergistic interconnections. As for practicalities, we discuss problems regarding the potentially high cost of constructing a web of knowledge and explain how they may be mitigated. We also discuss usage issues and show how untrained users can interact with and gain benefit from a web of knowledge.
David W. Embley, Stephen W. Liddle, Deryle W. Lonsdale
16. A Conceptual Modeling Approach To Improve Human Genome Understanding
Abstract
Information systems cannot be designed nor programmed without prior elicitation of the knowledge they need to know. Representing this knowledge in an explicit form is the main application of a conceptualmodel. By allowing for a minor paradigm shift, one can imagine the human body as an information system; highly complex and built of biological molecules, rather than man-made hardware, but an information system nonetheless. It is this paradigm shift that allows for exciting possibilities. Just as acquiring the source-code of a man-made system allows for post-production modifications and easy software maintenance, the same could very well apply to the human body: essentially, the act of debugging life itself. Acquiring the source-code to the human information system begins with the first step in any information system development: the creation of a comprehensive, correct conceptual model of the human genome.
Oscar Pastor, Ana M. Levin, Juan Carlos Casamayor, Matilde Celma, Matthijs Kroon
17. The Theory of Conceptual Models, the Theory of Conceptual Modelling and Foundations of Conceptual Modelling
Abstract
Conceptual modelling is a widely applied practice and has led to a large body of knowledge on constructs that might be used for modelling and on methods that might be useful for modelling. It is commonly accepted that database application development is based on conceptual modelling. It is, however, surprising that only very few publications have been published on a theory of conceptual modelling. Modelling is typically supported by languages that are well-founded and easy to apply for the description of the application domain, the requirements and the system solution. It is thus based on a theory of modelling constructs. Modelling is ruled by its purpose, e.g., construction of a system, simulation of real-world situations, theory construction, explanation of phenomena, or documentation of an existing system. Modelling is also an engineering activity with engineering steps and engineering results. It is thus engineering.
Bernhard Thalheim
Backmatter
Metadaten
Titel
Handbook of Conceptual Modeling
herausgegeben von
David W. Embley
Bernhard Thalheim
Copyright-Jahr
2011
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-642-15865-0
Print ISBN
978-3-642-15864-3
DOI
https://doi.org/10.1007/978-3-642-15865-0