際際滷

際際滷Share a Scribd company logo
change
up to
?www.uptochange.com and www.anchormodeling.com
?
Copyleft 2013
What if you could travel through time
and become someone else?
Lars R?nnb?ck
co-author of Anchor Modeling,
an award winning agile modeling technique
for evolving data environments
@anchormodeling
change
up to
?
What is it all about?
or how to understand the temporal nature of information
Anchoranytime to the time of any
TM
change
up to
?
It is
about liberty
? The Anchor Modeling technique is free to use for
anyone in any way you like.
? All material we publish or present is made available
through Creative Commons or Copyleft licenses.
? Our modeling tool is Open Source and available in
the cloud as well as a stand alone package for local
installations.
change
up to
?
It is
about things
? Things are that which the domain can
recognize and determine if it is something
new or something already known. It may be
the case that ^Leonardo ̄ and ^Da Vinci ̄ are
the same thing, or it may not. Only the
domain knows.
change
up to
?
It is
about identities
? Every thing is given a unique identity,
through which it is possible to determine
equality. If ^Leonardo ̄ and ^Da Vinci ̄ are
referring to the same thing, then ^Leonardo ̄
and ^Da Vinci ̄ share the same identity.
change
up to
?
It is about
what is said of things
? Posits are identifiable statements that take
the forms:
x has the property P(t) with value V(t)
where x is identifiable by the domain, P(t) is a property
that x has at the time t, and V is the value that P takes
at the time t.
change
up to
?
Example posits
? ^Leonardo¨s hair color turned gray in 1501 ̄.
x = ^Leonardo ̄, which can be mapped to some identity,
P(t) = hair color, V(t) = ^gray ̄, t = 1501
? ^Leonardo was born in 1452 ̄.
x = ^Leonardo ̄, which can be mapped to some identity,
P(t) = year of birth, V(t) = ^1452 ̄, t = always
change
up to
?
... and their
relationships
? x is related to yi, i = 1, ..., n under the conditions
C j (t) with values V j (t), j = 1, ..., m, defined by
the roles R and Si
where x and yi are identifiable by the domain, Cj are
optional conditions under which the relationship holds and
Vj their values at t, R and Si are the roles x and yi have in
the relationship.
change
up to
?
Example posits
? ^Leonardo is married to Beatrice since 1482 ̄.
x = ^Leonardo ̄, y = ^Beatrice ̄,
R = husband, S = wife,
C(t) = marital status, V(t) = ^married ̄, t = 1482
? ^Leonardo divorced Beatrice in 1489 ̄.
x = ^Leonardo ̄, y = ^Beatrice ̄,
R = spouse, S = other spouse,
C(t) = marital status, V(t) = ^divorced ̄, t = 1489
change
up to
?
It is
about classification
? Every thing belongs to a class, where classes
create groupings of things that through their
properties have some kind of similarity. If
Leonardo and Beatrice are persons, they may
belong to a Person class, defined by ^that
which is born, may have different hair colors
over time and can be married ̄.
change
up to
?
It is
about evolution
? Before 1998 the Person class did not have a
property called `hair color¨, but it was added
after that, and `marital status¨ was introduced
in 2005. A model is non-destructively
extended in order to cope with structural
changes, such as new classes, new properties,
or new relationships.
Every
?previous
?version
?of
?the
?database
?is
?available
?as
?a
?
subset
?of
?the
?current
?database.
change
up to
?
Is it
about certainty
? There is no guesswork in Anchor Modeling,
you only model what you know. Whatever
happens in the future will be taken care of in
the future.
? Revisiting your model should be encouraged
and inspiring, not discouraged and
disconcerting.
change
up to
?
It is about
who said what when
? If q is a posit, then both the positors A and B
may have stated that q is a fact, such that:
A uttered q in 1999
B also uttered q, but in 2003
The recording of such information is done
in an annex to the posit.
change
up to
?
It is
about concurrency
? Even if A and B disagree, say on a value for a
property, such that:
A uttered ^Leonardo¨s hair was brown. ̄
B uttered ^Leonardo¨s hair was blonde. ̄
both views can be recorded, resulting in
a concurrent-temporal implementation.
change
up to
?
It is
about reliability
? If both A and B uttered q, they may have
done so with different degrees of reliability:
Text
A (1999):
B (2003):
I think Leonardo divorced
Beatrice in 1489.
I am absolutely certain that
Leonardo divorced Beatrice
in 1489.
change
up to
?
It is
about corrections
? Even if B was so sure about q, there is no
guarantee that B is correct, and perhaps later
it is learnt that:
B (2005): I was wrong, Leonardo never
divorced Beatrice.
As a consequence, the posit made by B in
2003 must be considered unreliable.
We
?are
?almost
?certain
?that
?
Leonardo
?did
?not
?have
?blonde
?hair.
change
up to
?
It is
about metadata
? If B uttered q in 2003, this information may
have been recorded elsewhere in 2012 by job
number 555 extracting data from system 9.
This information becomes metadata in the
model.
There are now three points in time:
when something changed, was posited, or recorded.
change
up to
?
It is
about completeness
? All in all, that means that in 2012, job
number 555 using system 9 recorded that:
`In 2003 B said ^I am absolutely certain that
Leonardo divorced Beatrice in 1489 ̄.¨
? We also know that `marital status¨ was
introduced as a property of the Person class
in 2005.
change
up to
?
It is
about time traveling
? Questions can be given the answers they would have
been given at any point in time and by anyone
making posits, both with respect to which value was or
will be in effect at the time and to what the chosen
positor knew at the time.
? Furthermore, it is possible to determine if the question
was possible to answer at the time or not, due to the
structural evolution of the model or when data was
recorded.
change
up to
?
It is about seizing the
past and the future
? In Anchor Modeling, you can see the future
based on what the future will be like and see
the past as the past was really like.
? You can even see the past through what you
know today or an alternative future as it
would be under different circumstances.
change
up to
?
So how do you do it?
or how to become a vicarious temporal navigator
Anchoranytime to the time of any
TM
change
up to
?
Do it elementary
? Information has no temporality in itself, but
information can be temporally modeled:
Mona Lisa was painted in 1503 and has been hanging
in the Louvre since 1797.
Research done in 2012 has shown that Mona Lisa was
in fact painted somewhat later, in 1506.
During the Second World War, 1939C1945, the painting
was moved to safety in the Ingres Museum.
All this was stored in a database today.
change
up to
?
Do it structurally
Mona Lisa
#4711
#42
1503
Louvre
#43
Ingres
has the name
painted
has the name
has the name
painting
museum
museum
hanging
since 1797
hanging
since 1939
hanging
since 1945
1506
corrected
in 2012 today
change
up to
?
Do it identifiably
Mona Lisa
#4711
#42
1503
Louvre
#43
Ingres
has the name
painted
has the name
has the name
painting
museum
museum
hanging
since 1797
hanging
since 1939
hanging
since 1945
1506
corrected
in 2012
(value)
(identity)
(identity)
(value) (value)
(value)
today
change
up to
?
Do it temporally
Mona Lisa
#4711
#42
1503
Louvre
#43
Ingres
has the name
painted
has the name
has the name
painting
museum
museum
hanging
since 1797
hanging
since 1939
hanging
since 1945
1506
corrected
in 2012
(happening time)
(positing time)
(changing time)
(recording time)
today
change
up to
?
Do it modeled
Mona Lisa
#4711
#42
1503
Louvre
#43
Ingres
has the name
painted
has the name
has the name
painting
museum
museum
hanging
since 1797
hanging
since 1939
hanging
since 1945
1506
corrected
in 2012
(attribute)
(anchor)
(anchor)
(attribute)
(tie)
(attribute)
today
(metadata)
change
up to
?
Do it conceptually
Anchors
store identities of entities
Knots
store value domains
Attributes
store values of properties
(with optional history over changing time)
Ties
store relationships between entities
(with optional history over changing time)
change
up to
?
Do it graphically
?
?
???????????
?????????
????????????????????
???????????????????????????
??????????????????
????????????????
Anchor Modeling also
provides a naming
convention with
semantic encoding
change
up to
?
Do it relationally
?????????
??????????
??????????????????
??????????????
??????????????????
????????????????
??????????????????????
?????????????
???????????????????????????????
???????????
??????????
????????????????????
??????????????
????????????????????
???????????????????????????
??????????????
???????????????????????????
The tables in the
database will be in
sixth normal form.
There is a one-to-one
correspondence between
graphical symbols and
tables in the database.
This

More Related Content

Back to the Moment

  • 1. change up to ?www.uptochange.com and www.anchormodeling.com ? Copyleft 2013 What if you could travel through time and become someone else? Lars R?nnb?ck co-author of Anchor Modeling, an award winning agile modeling technique for evolving data environments @anchormodeling
  • 2. change up to ? What is it all about? or how to understand the temporal nature of information Anchoranytime to the time of any TM
  • 3. change up to ? It is about liberty ? The Anchor Modeling technique is free to use for anyone in any way you like. ? All material we publish or present is made available through Creative Commons or Copyleft licenses. ? Our modeling tool is Open Source and available in the cloud as well as a stand alone package for local installations.
  • 4. change up to ? It is about things ? Things are that which the domain can recognize and determine if it is something new or something already known. It may be the case that ^Leonardo ̄ and ^Da Vinci ̄ are the same thing, or it may not. Only the domain knows.
  • 5. change up to ? It is about identities ? Every thing is given a unique identity, through which it is possible to determine equality. If ^Leonardo ̄ and ^Da Vinci ̄ are referring to the same thing, then ^Leonardo ̄ and ^Da Vinci ̄ share the same identity.
  • 6. change up to ? It is about what is said of things ? Posits are identifiable statements that take the forms: x has the property P(t) with value V(t) where x is identifiable by the domain, P(t) is a property that x has at the time t, and V is the value that P takes at the time t.
  • 7. change up to ? Example posits ? ^Leonardo¨s hair color turned gray in 1501 ̄. x = ^Leonardo ̄, which can be mapped to some identity, P(t) = hair color, V(t) = ^gray ̄, t = 1501 ? ^Leonardo was born in 1452 ̄. x = ^Leonardo ̄, which can be mapped to some identity, P(t) = year of birth, V(t) = ^1452 ̄, t = always
  • 8. change up to ? ... and their relationships ? x is related to yi, i = 1, ..., n under the conditions C j (t) with values V j (t), j = 1, ..., m, defined by the roles R and Si where x and yi are identifiable by the domain, Cj are optional conditions under which the relationship holds and Vj their values at t, R and Si are the roles x and yi have in the relationship.
  • 9. change up to ? Example posits ? ^Leonardo is married to Beatrice since 1482 ̄. x = ^Leonardo ̄, y = ^Beatrice ̄, R = husband, S = wife, C(t) = marital status, V(t) = ^married ̄, t = 1482 ? ^Leonardo divorced Beatrice in 1489 ̄. x = ^Leonardo ̄, y = ^Beatrice ̄, R = spouse, S = other spouse, C(t) = marital status, V(t) = ^divorced ̄, t = 1489
  • 10. change up to ? It is about classification ? Every thing belongs to a class, where classes create groupings of things that through their properties have some kind of similarity. If Leonardo and Beatrice are persons, they may belong to a Person class, defined by ^that which is born, may have different hair colors over time and can be married ̄.
  • 11. change up to ? It is about evolution ? Before 1998 the Person class did not have a property called `hair color¨, but it was added after that, and `marital status¨ was introduced in 2005. A model is non-destructively extended in order to cope with structural changes, such as new classes, new properties, or new relationships. Every
  • 14. ?of
  • 15. ?the
  • 17. ?is
  • 19. ?as
  • 20. ?a
  • 22. ?of
  • 23. ?the
  • 26. change up to ? Is it about certainty ? There is no guesswork in Anchor Modeling, you only model what you know. Whatever happens in the future will be taken care of in the future. ? Revisiting your model should be encouraged and inspiring, not discouraged and disconcerting.
  • 27. change up to ? It is about who said what when ? If q is a posit, then both the positors A and B may have stated that q is a fact, such that: A uttered q in 1999 B also uttered q, but in 2003 The recording of such information is done in an annex to the posit.
  • 28. change up to ? It is about concurrency ? Even if A and B disagree, say on a value for a property, such that: A uttered ^Leonardo¨s hair was brown. ̄ B uttered ^Leonardo¨s hair was blonde. ̄ both views can be recorded, resulting in a concurrent-temporal implementation.
  • 29. change up to ? It is about reliability ? If both A and B uttered q, they may have done so with different degrees of reliability: Text A (1999): B (2003): I think Leonardo divorced Beatrice in 1489. I am absolutely certain that Leonardo divorced Beatrice in 1489.
  • 30. change up to ? It is about corrections ? Even if B was so sure about q, there is no guarantee that B is correct, and perhaps later it is learnt that: B (2005): I was wrong, Leonardo never divorced Beatrice. As a consequence, the posit made by B in 2003 must be considered unreliable. We
  • 31. ?are
  • 34. ?that
  • 36. ?did
  • 37. ?not
  • 38. ?have
  • 41. change up to ? It is about metadata ? If B uttered q in 2003, this information may have been recorded elsewhere in 2012 by job number 555 extracting data from system 9. This information becomes metadata in the model. There are now three points in time: when something changed, was posited, or recorded.
  • 42. change up to ? It is about completeness ? All in all, that means that in 2012, job number 555 using system 9 recorded that: `In 2003 B said ^I am absolutely certain that Leonardo divorced Beatrice in 1489 ̄.¨ ? We also know that `marital status¨ was introduced as a property of the Person class in 2005.
  • 43. change up to ? It is about time traveling ? Questions can be given the answers they would have been given at any point in time and by anyone making posits, both with respect to which value was or will be in effect at the time and to what the chosen positor knew at the time. ? Furthermore, it is possible to determine if the question was possible to answer at the time or not, due to the structural evolution of the model or when data was recorded.
  • 44. change up to ? It is about seizing the past and the future ? In Anchor Modeling, you can see the future based on what the future will be like and see the past as the past was really like. ? You can even see the past through what you know today or an alternative future as it would be under different circumstances.
  • 45. change up to ? So how do you do it? or how to become a vicarious temporal navigator Anchoranytime to the time of any TM
  • 46. change up to ? Do it elementary ? Information has no temporality in itself, but information can be temporally modeled: Mona Lisa was painted in 1503 and has been hanging in the Louvre since 1797. Research done in 2012 has shown that Mona Lisa was in fact painted somewhat later, in 1506. During the Second World War, 1939C1945, the painting was moved to safety in the Ingres Museum. All this was stored in a database today.
  • 47. change up to ? Do it structurally Mona Lisa #4711 #42 1503 Louvre #43 Ingres has the name painted has the name has the name painting museum museum hanging since 1797 hanging since 1939 hanging since 1945 1506 corrected in 2012 today
  • 48. change up to ? Do it identifiably Mona Lisa #4711 #42 1503 Louvre #43 Ingres has the name painted has the name has the name painting museum museum hanging since 1797 hanging since 1939 hanging since 1945 1506 corrected in 2012 (value) (identity) (identity) (value) (value) (value) today
  • 49. change up to ? Do it temporally Mona Lisa #4711 #42 1503 Louvre #43 Ingres has the name painted has the name has the name painting museum museum hanging since 1797 hanging since 1939 hanging since 1945 1506 corrected in 2012 (happening time) (positing time) (changing time) (recording time) today
  • 50. change up to ? Do it modeled Mona Lisa #4711 #42 1503 Louvre #43 Ingres has the name painted has the name has the name painting museum museum hanging since 1797 hanging since 1939 hanging since 1945 1506 corrected in 2012 (attribute) (anchor) (anchor) (attribute) (tie) (attribute) today (metadata)
  • 51. change up to ? Do it conceptually Anchors store identities of entities Knots store value domains Attributes store values of properties (with optional history over changing time) Ties store relationships between entities (with optional history over changing time)
  • 52. change up to ? Do it graphically ? ? ??????????? ????????? ???????????????????? ??????????????????????????? ?????????????????? ???????????????? Anchor Modeling also provides a naming convention with semantic encoding
  • 53. change up to ? Do it relationally ????????? ?????????? ?????????????????? ?????????????? ?????????????????? ???????????????? ?????????????????????? ????????????? ??????????????????????????????? ??????????? ?????????? ???????????????????? ?????????????? ???????????????????? ??????????????????????????? ?????????????? ??????????????????????????? The tables in the database will be in sixth normal form. There is a one-to-one correspondence between graphical symbols and tables in the database. This
  • 54. ?is
  • 55. ?a
  • 59. change up to ? Do it evolutionary ? ? ? ? ??????????? ????????? ?????????? ???????????????????? ??????????????????????????? ????????????????????????????????????? ???????????????? ?????????????????? All changes are implemented as extensions to the existing model.
  • 60. change up to ? Do it non-destructively Upgrading
  • 61. ?a
  • 63. ?can
  • 64. ?be
  • 65. ?done
  • 67. ?and
  • 70. change up to ? Do it auditable This
  • 71. ?is
  • 72. ?a
  • 76. ?with
  • 78. change up to ? Do it concurrently This
  • 79. ?is
  • 80. ?a
  • 84. ?with
  • 85. ?metadata. Every posit has its own identity and the annex holds data about the positor. Anchors and knots are immutable. the annexing modeling pattern
  • 86. change up to ? Do it with perspective This
  • 87. ?is
  • 88. ?a
  • 91. ?of
  • 92. ?an
  • 94. ?model. ????????????? ????? ???????????????????? ????????????????????????? ??????????? ????? ?????????????????? ?????????????????? ????????????? ???????? Most end users are familiar with 3NF and need not see the underlying 6NF model. Users only need to pick the temporal perspectives suitable for their task. PERSPECTIVES current latest point-in-time difference natural
  • 95. change up to ? Do it table-like -- happening time insert into llPA_Painting ( PA_NAM_Painting_Name, PA_PDA_Painting_PaintDate ) values (`Mona Lisa¨, 1503); -- changing time update llPA_hanging_MU_at ( set MU_ID = 43, PA_hanging_MU_at_ChangedAt = 1939 where PA_ID = 4711; -- recording time delete from llPA_Painting where PA_NAM_Painting_Name = `Mona Lisa¨; insert into llPA_Painting ( PA_NAM_Painting_Name, PA_PDA_Painting_PaintDate ) values (`Mona Lisa¨, 1506); -- latest changing latest positing select * from llPA_Painting; -- point-in-changing latest positing select * from plPA_Painting(1942); -- point-in-changing point-in-positing select * from ppPA_Painting(1942, 1942); The
  • 97. ?and
  • 101. ?very
  • 102. ?much
  • 103. ? like
  • 106. ?to
  • 109. ?and
  • 111. change up to ? Who is already doing it? or how some have learnt to adapt to change Anchoranytime to the time of any TM
  • 112. change up to ? The insurance industry is doing it ? A customer lifetime value model is using concurrent- temporal modeling to store the input values for over 600 parameters, each estimated (changing time) for the next 50 years, and revised (positing time) yearly. ? Such a set is called a scenario (positor), and there are for example standard, best-case, and worst-case scenarios that can be used in the calculations.
  • 113. change up to ? The clinical domain is doing it ? A hospital is like a fast changing micro-environment (evolution), where you have transactions between clinics, research, biobanks, and laboratories. ? These use Anchor Modeling in order to create a federated database layer of the various models. ? Federation normally means a lot of work is being done at query-time, but in AM it is almost trivial (non-destructive).
  • 114. change up to ? The traders are doing it ? A trading system is looking back at every second of the last 15 minutes of trading, in order to predict the next 60 seconds (changing time) of trades with different probabilities (reliability). ? Statistical and genetic systems analyze the 60x60 predictions per minute over longer periods (time- traveling), and adjust the trading algorithm.
  • 115. change up to ? The media distributors are doing it ? In a strictly regulated market, a media distributor has built an enterprise data warehouse from which it is possible to create reports based on the exact circumstances that were in effect at the close of each period (changing time). ? It is also possible to trace every single piece of information back to its source (metadata). ? Any historical report can be recreated at any point in time (time-traveling), which meant that reports no longer have to be printed out and kept in binders.
  • 116. change up to ? And why should You? or how to survive in an ever changing environment Anchoranytime to the time of any TM
  • 117. change up to ? Because change is everywhere The only constant is change. Heraclitus ~ 500 B.C.
  • 118. change up to ? Because change is accelerating 5,000,000,000 The earth forms 500,000,000 Vertebrates 50,000,000 Mammals 5,000,000 Primates 500,000 Humans 50,000 Great migrations 5,000 Civilizations 500 Printing press 50 Television 5 Mobile Internet
  • 119. change up to ? Because only those who adapt survive ? Big Data ? Moore¨s Law ? Ephemeralization ? New emerging markets ? Customer ^re-preferencing ̄ ? Volatile economic environment ? Fast changing and far reaching regulations
  • 120. change up to ? Because others get quicker and dirtier Few
  • 122. ?scale
  • 123. ?well
  • 124. ?with
  • 126. change up to ? number of changes over time total cost of ownership implementation maintenance the
  • 128. ? must
  • 129. ?redo
  • 134. ?year
  • 137. change up to ? Because of time Flat Dimensional 3NF Data Vault Anchor C O N T E N T static uni bi concurrent T E M P O R A L I T Y S T R U C T U R E properties relations classes static
  • 138. change up to ? Because it is well-founded ? Entity Relationship Modeling (1976 C Chen) ? Bitemporal Databases (1992 C Snodgrass) ? The Sixth Normal Form (2002 C Date, Darwen, Lorentzos) ? Immutability, Temporal Independency, and Annexing (2009 C R?nnb?ck, Regardt, Johannesson, Bergholtz, Wohed) Anchor
  • 140. ?is
  • 142. ?on
  • 143. ?well
  • 146. change up to ? Because it is proven and active Research Group Professor Paul Johannesson, DSV M.Sc. Lars R?nnb?ck, Up To Change M.Sc. Olle Regardt, Teracom Ph.D. Maria Bergholtz, DSV Ph.D. Petia Wohed, DSV Anchor
  • 148. ?is
  • 150. ?since
  • 151. ?2003
  • 152. ?in
  • 153. ?a
  • 156. ? the
  • 159. ?and
  • 161. ?the
  • 163. ?of
  • 166. ?at
  • 170. change up to ? Because of powerful tools DEMO
  • 171. change up to ? Anchor Modeling ... ? has a solid scientific formalization. ? is built on well known principles. ? is easy to learn. ? is hard to make mistakes with. ? fully supports agile development. ? shortens implementation time. ? lowers maintenance costs. ? preserves all previous versions of the database. ? increases the lifetime of the database. ? has Open Source tools. ? is free to use. GET
  • 173. change up to ? ? Homepage: ? E-mail: ? Twitter: ? LinkedIn: ? Facebook: ? Wikipedia: ? MSDN: www.anchormodeling.com lars.ronnback@anchormodeling.com sales@uptochange.com anchormodeling Anchor Modeling Group Anchor Modeling Anchor Modeling Anchor Modeling Anchor TM
  • 174. change up to ? Temporal Dimensional Modeling ? Using techniques from Anchor Modeling, dimensional modeling can be made uni-temporal without the need for slowly changing dimensions! ? We can even take it one step further, and introduce concurrency in a star schema. ? It can be done without sacrificing performance. ? Scientific paper is going to be published in 2013. on
  • 175. ?a
  • 176. ?side
  • 177. ?note: