Author Topic: Developing a meta model and aplying it to an existing project  (Read 14680 times)

Glassboy

  • EA User
  • **
  • Posts: 898
  • Karma: +52/-54
    • View Profile
Re: Developing a meta model and aplying it to an existing project
« Reply #60 on: April 13, 2016, 09:29:14 am »
I want to be clear, the Conceptual Level Model (I'm talking about) is NOT a Ontology.  In our case we have a separate Ontological Model.  The Conceptual View is the model of the real world.  It took me a decade of thinking and experimenting to finally "get it".  That the OTM and the the CIM were not the same thing.  They are INTIMATELY related, of course, but they aren't the same thing.

In most designs I'm looking for the conceptual model to be a Ontology-lite or an upper level domain model.  Most architects employed on projects are contractors and have to learn the business domain they're working in, often with no subject matter experts to draw upon for support.  The architectural governance process needs to include a method of determining whether the architect truly understands the business domain.  Having a conceptual model expressed before the logical model is part of this process.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 5882
  • Karma: +71/-78
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Developing a meta model and aplying it to an existing project
« Reply #61 on: April 13, 2016, 09:44:08 am »
I want to be clear, the Conceptual Level Model (I'm talking about) is NOT a Ontology.  In our case we have a separate Ontological Model.  The Conceptual View is the model of the real world.  It took me a decade of thinking and experimenting to finally "get it".  That the OTM and the the CIM were not the same thing.  They are INTIMATELY related, of course, but they aren't the same thing.

In most designs I'm looking for the conceptual model to be a Ontology-lite or an upper level domain model.  Most architects employed on projects are contractors and have to learn the business domain they're working in, often with no subject matter experts to draw upon for support.  The architectural governance process needs to include a method of determining whether the architect truly understands the business domain.  Having a conceptual model expressed before the logical model is part of this process.
Just to make sure I understand,  your conceptual model is a set of (say ArchiMate) Business Objects?  Or is it a set of concepts?   If it's Business Objects, then I've found it can't be an Ontology (even lite) because an Ontology has relationship metatypes which are invalid for a Conceptual model of the real world.  The ontology informs the Conceptual Model but it isn't one.  As I said, it took me over a decade to get it.

ArchiMate (your nemesis  ;)) has the Meaning element which, in theory, could be used to hold the Ontological stuff.  We decided we needed a real onto-terminological model - so we don't use the Meaning Element.  We DID however, "pinch" the cloud shape for our Concept Element.  ;D

So, is your Conceptual Model objects or concepts - or something else?

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Glassboy

  • EA User
  • **
  • Posts: 898
  • Karma: +52/-54
    • View Profile
Re: Developing a meta model and aplying it to an existing project
« Reply #62 on: April 13, 2016, 11:01:19 am »
It could be a DFD-0 or a TOGAF solution overview or the Archimate introductory viewpoint.  Personally I favour DFDs and UML class models because they lend themselves better to other activities like OWASP application threat modelling.  You also can't take a knowledge model like BMM or EBMM, or any of the security frameworks and express it in Archimate.

There isn't really anything else you can do with a good Archimate model.  So in the end practising Archimate is just self-abuse.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 5882
  • Karma: +71/-78
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Developing a meta model and aplying it to an existing project
« Reply #63 on: April 13, 2016, 11:19:54 am »
Thanks, I think that clarifies things a bit for me.

I guess, ultimately, one could say I agree with you on ArchiMate.  We only really use it as a jumping off point to a more holistic modelling environment that encompasses some of the points you made - for example we're extending into BMM (and maybe EBMM).

Part of its utility for us is that more people "speak it" - though often not very well.  We provide them with a "Controlled Vocabulary" that leverages their language skills to produce more rigorous models.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Modesto Vega

  • EA User
  • **
  • Posts: 151
  • Karma: +0/-1
    • View Profile
Re: Developing a meta model and aplying it to an existing project
« Reply #64 on: April 13, 2016, 10:18:33 pm »
There is a risk of confusing 2 things:

1) what an ontology is
2) the languages created by standard makers to express ontologies

I don't particularly enjoy quoting Wikipedia, but the following is a good definition and saves me having to consult my Kindle: “An ontology is a formal naming and definition of the types, properties, and interrelationships of the entities that really or fundamentally exist for a particular domain of discourse”.

An ontology is essentially a controlled vocabulary describing a particular business domain and the interrelationships between item in the vocabulary. The interrelationships are not just generalizations, which in this case are really types; there are also associations and information flows. With regards to the later, a Delivery happens after Payment, and Payment happens after Purchase.

MOF, OWL, ArchiMate and IDEF5 are all languages that could be used to express ontologies. However, a class UML diagram can also be used to express an ontology.
Ontologies are not the languages used to express them. The languages are the means to an end, expressing an ontology.

Glassboy

  • EA User
  • **
  • Posts: 898
  • Karma: +52/-54
    • View Profile
Re: Developing a meta model and aplying it to an existing project
« Reply #65 on: April 14, 2016, 07:07:48 am »
MOF, OWL, ArchiMate and IDEF5 are all languages that could be used to express ontologies. However, a class UML diagram can also be used to express an ontology.
Ontologies are not the languages used to express them. The languages are the means to an end, expressing an ontology.

I'd love to see you try and model a disjoint in Archimate :-)

Glassboy

  • EA User
  • **
  • Posts: 898
  • Karma: +52/-54
    • View Profile
Re: Developing a meta model and aplying it to an existing project
« Reply #66 on: April 14, 2016, 07:34:20 am »
I guess, ultimately, one could say I agree with you on ArchiMate.  We only really use it as a jumping off point to a more holistic modelling environment that encompasses some of the points you made - for example we're extending into BMM (and maybe EBMM).

Part of its utility for us is that more people "speak it" - though often not very well.  We provide them with a "Controlled Vocabulary" that leverages their language skills to produce more rigorous models.

The thing I notice about the LinkedIn Archimate forums is that that the majority of the answers given to people are wrong.  At a fundamental level, people don't understand the difference between behaviour and structure.  I'm not sure why it's always the first differentiation I make.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 5882
  • Karma: +71/-78
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Developing a meta model and aplying it to an existing project
« Reply #67 on: April 14, 2016, 10:51:12 am »
I guess, ultimately, one could say I agree with you on ArchiMate.  We only really use it as a jumping off point to a more holistic modelling environment that encompasses some of the points you made - for example we're extending into BMM (and maybe EBMM).

Part of its utility for us is that more people "speak it" - though often not very well.  We provide them with a "Controlled Vocabulary" that leverages their language skills to produce more rigorous models.

The thing I notice about the LinkedIn Archimate forums is that that the majority of the answers given to people are wrong.  At a fundamental level, people don't understand the difference between behaviour and structure.  I'm not sure why it's always the first differentiation I make.
My experience is that most people who "model' see it as a burden.  Consequently, they don't go to the trouble of attempting to understand the fundamentals.  That having been said, we're both of the view that ArchiMate is deficient; so maybe coming to that conclusion is the fundamental understanding required.  Once you've arrived there, you can more properly advise on where ArchiMate is not deficient.

Personally, I view learning ArchiMate as like learning Latin (or Ancient Greek - of which I did both), it helps me better to understand and use my own language (principally English).  If I use (and I often do) use terms that are derived from Latin or Greek, then I better understand how to use them properly in English.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Glassboy

  • EA User
  • **
  • Posts: 898
  • Karma: +52/-54
    • View Profile
Re: Developing a meta model and aplying it to an existing project
« Reply #68 on: April 14, 2016, 12:32:28 pm »
Personally, I view learning ArchiMate as like learning Latin (or Ancient Greek - of which I did both), it helps me better to understand and use my own language (principally English).  If I use (and I often do) use terms that are derived from Latin or Greek, then I better understand how to use them properly in English.

I'd like to agree, but I can't.  Many of the element names appear to be cognates for real world or even TOGAF or UML concepts but aren't.  How exactly does an application service or an infrastructure service tell us about the real world?

What I do find useful about modelling in Archimate is that it allows me to find an incomplete model.  Mind you that being said I've never seen anyone join up a top-down model with a bottom-up model without it all falling apart badly in the application layer.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 5882
  • Karma: +71/-78
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Developing a meta model and aplying it to an existing project
« Reply #69 on: April 14, 2016, 02:12:11 pm »
[SNIP]
Many of the element names appear to be cognates for real world or even TOGAF or UML concepts but aren't.
I agree this is a BIG problem.  Maybe we need the equivalent of Fowler's "Usage and abusage"?

Quote
How exactly does an application service or an infrastructure service tell us about the real world?
As I mentioned previously, the answer depends on your definition of Application.  By separating out the (conceptual) Application from the (physical) product you can relate the application side to the real world better.  Once you've got a real product, the infrastructure service tells you about how the product will REALLY interact with the other products.

Quote
What I do find useful about modelling in ArchiMate is that it allows me to find an incomplete model.  Mind you that being said I've never seen anyone join up a top-down model with a bottom-up model without it all falling apart badly in the application layer.
This is true...  I hope to be the first to sort this out.  ;)  It will require adjustments on both sides, but it must be possible since it really happens...  Wish me luck!

But you can't do it with standard ArchiMate.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Modesto Vega

  • EA User
  • **
  • Posts: 151
  • Karma: +0/-1
    • View Profile
Re: Developing a meta model and aplying it to an existing project
« Reply #70 on: April 15, 2016, 09:33:26 pm »
MOF, OWL, ArchiMate and IDEF5 are all languages that could be used to express ontologies. However, a class UML diagram can also be used to express an ontology.
Ontologies are not the languages used to express them. The languages are the means to an end, expressing an ontology.

I'd love to see you try and model a disjoint in Archimate :-)
You don't  ;)

I seem to have made a profession of modelling disjoints. Keep in mind disjoints are hindsight, while a well joined architecture is foresight. The difference between hindsight and foresight:  hindsight happens after the event, foresight before.

Disjointed architectures are architectures that already exist, they are not new designs. This is approaching the edge of consistency, similar to approaching the edge of chaos.

By the way the whole point of this thread was to understand what is involved in putting together an MDG to model disjoints. IMHO, you cannot model a disjoint using just one language, which in Sparkish, means multiple profiles.