This is an ERwin Model, and ERwin has a very powerful feature called Model Templates which provide great support for Design Patterns.
You can download the Chapter on Model Templates from Donna Burbank's excellent book called "Data Modeling made simple with CA ERwin Data Modeler r8".
Wikipedia has an interesting Entry on a Generic Data Model
and another on ISO 15926.
Here is our original ERwin ERD Version ... Items such as food eaten in a meal are modelled as Products.
Here is the user-friendly Conceptual Model (created in Word) ...
Here is some interesting background from
describing Complex Event Processing
putting forth his view that Event-driven Data is the new paradigm.
Although we are practitioners in Data Modelling Best Practice here at Database Answers, we don't often get the chance to use the word 'Canonical'.
When we do, we think of a Canonical Data Model as a 'stripped-down' Models which contains the basics for a specific application area.
This makes it possible to use it for a number of different purposes :-
1. To be a standard for messaging in an ESB/SOA environment.
2. To provide a common point of agreement for all stakeholders.
3. To define a Kick-Start for Master Data Management.
4. To establish a starting-point for development of more detailed specific Data Models
5. To serve as a translation between different data sources.
This diagram shows our Generic Canonical Data Model which is Event-oriented and this has proved to be the best generic design in our experience.
On May 11th. 2013, we added an Assets Entity in response to comments from John Giles.
Here is Version 2 of our Conceptual Model ...
We have compared our Canonical Data Model with these models from practitioners whom we respect (listed alphabetically):-