The Codex of Business Writing Software for Real-World Solutions 2.pptx
Reconsider Shlaer-Mellor method as Conceptual Modeling
1. Reconsider Share-Mellor method
as Conceptual Modeling
Knowledge & Experience
Hiroshi Ota
https://www.kae-made.jp
E-Mail: master@kae-made.jp Twitter: 1
Date: 2023/11/14
2. Agenda
• Short Introduction
• Why modeling now?
• What is “Conceptual Modeling”
• Contemplate basis of Conceptual Modeling
• From philosophical point of view
• From mathematical point of view
• Current & Feature Work
※ This contents is based on what I presented at the xtUML Japan user group seminar in July 2023.
3. Short Introduction
• 1989/4 ~2006/8
• As an engineer of OA company
• Mastering Shlaer-Mellor method by developing real product
software by myself and supporting other teams development
• Evangelize for all engineers inside and outside the company
• 2006/9~2022/2
• As an evangelist and technical specialist of Microsoft
• Use Shlaer-Mellor method as tools to understand new services
& technologies
• Behind the scenes, use Shlaer-Mellor method to support more
than hundred customer’s IoT/Digital Twins business projects
• 2022/3~
• As an independent contributor
• Continuing to refine and redefinition Shlaer-Mellor method for
applicable to a wider range of business systems
• Continuing to write and publish many technical contents
• https://note.com/kae_made
• https://github.com/kae-made
4. AI, IoT, Digital Twins – Modeling is becoming increasingly important!
Model Driven Development - Basics
From
Zinovy Diskin et.al
“Category Theory and Model-Driven Engineering: From Formal Semantics to
Design Patterns and Beyond”
DT(Digital Twins):
A set of technologies for converting things and events in the
real world into data and reproducing them in digital space
IoT :
A set of technologies for collecting or changing the “state
(data)” of things and events in the real world in the data space
DX(Digital Transformation):
The process of using Digital Technologies to reimagine
business processes, cultures, and customer experiences to meet
changing business and market demands. ※ from Wikipedia
Technical base
Technical base
“A Model of What you want to do” in the Real World
↤ “Mapping”
Open AI
↤ “Mapping”
5. Essentials of Software and System Development starting point
• Understand the Real World of the target for development
• Describe what you understand and Share that among
stakeholders
Requires “Notation and Methodology for describing the Real World”
“Conceptual Modeling” as a means to achieve this
“Shlaer-Mellor method” + “My long & rich experience”
6. What is “Conceptual Modeling”?
Base is “Shlaer – Mellor Method”
“Refined and Redefinition with my long & rich experience”
“To Extend” not only RT & Embedded Systems
but also to General Business System development
7. Question: “Real World” ⇔ “Conceptual Model”?
Model the “Real World” for business
Can “Real-world objects” be described by
Model correctly with “Conceptual Modeling”?
1. The “objective” world of reality and the world recognized through human
“subjectivity” – Can these two be matched?
2. If “yes”, is “Conceptual Modeling” appropriate as a description method?
Considering in philosophy and mathematics as a means of verification
8. From philosophical point of view
• By “Husserl’s phenomenology” with a little bit from Frege, Russel and Wittgenstein
https://note.com/kae_made/n/n7ba632d9555e?magazine_key=m12bb08458a18
「 Phenomenological reduction 」
If we can properly describe the experience of moving the "body" or feeling various things with the "body" as something that occurs in "consciousness," then this is the
"phenomenological reduction" of the "body" experience
It is impossible to properly describe the experience of moving the body in the first place
It's not a conceptual situation, it's a sensory situation.
Because the modes of representation are infinite
1. Cogitatio( Conscious Experience )
• Cogitatum ( The very object you are conscious of )- is existing as structure
• In fact, we are always perceiving a part, but through it we are intentionally experiencing the whole object
2. 「Central Object」and「background field」are existing as structure
• It is same as “chiasm” by Merleau-Ponty
3. The subjective center of attention and arrangement
To perceive the human world not as a world as a fact, but
as a "world of relationships," that is, a "world of
relationships" that is constantly being woven as a link of
"meaning" and "value.
This is the core of the perspective that perceives the
"world" as the "essence"
9. For the 2nd Question…
Summarize…
• Conceptual Modeling Tooling
• Subject matters areas as “background field” ⇒ Domain
• Folders of values that represent individual characteristics ⇒ Property or Attribute
• Definition of the meaning of feature value ⇒ Data Type
• Classification of objects by bundling feature values ⇒ Conceptual Class
• Meaning and definition of multiplicity between objects ⇒ Relationship
Meets the minimum necessary to describe the target world … I think
From Husserl’s “Epoche”…
• “Modeling”=“Describing the real world”, and can be a means of grouping out common denominators with the
subjective worldview of others ⇒ Some kind of modeling technique is a must!
• It is meaningless to ask whether the described model is correct or not, and it is important whether the people
involved in the model(those who participate in the world of the model) agree or not.
• A model is a description of conditions and structures that explain why the conviction that the modeler has about the
world being modeled is true
As a result.
1st Question The “objective” world of reality and the world recognized through human “subjectivity” - Does it match?
is … Nonsense! ⇒ The Model with consensus of the parties is valid!
10. From mathematical point of view
• Formalizing by “Category Theory”
“Natural Equivalence” means that
What works on the “ “ will work on the ”
Each tooling may be formalized by well-known or specific category.
Classes and Relationships should
constitute “Proposition”
Value of proposition should be “True”
By Frage, Russel and Wittgenstein
11. … But I‘m just a Practitioner!
• I’m not a professional philosopher and mathematician
• I need a professionals help to verify whether my current
understanding is correct or not
Please help me! (^_<)
12. Current & Feature Work
• Evangelism for “Conceptual Modeling”
• Providing C# Code Generator for Azure Cloud Service
• Begin to build Model Generator based on OpenAI
https://note.com/kae_made
All most all contents are written in Japanese, so use a translator service to read them
Hello,
I’m Hiroshi Ota from Japan
This session, I will talk about reconsidering Shlaer-Mellor method as conceptual modeling
This session is based on my presentation at the xtUML Japan user group event in July 2023.
Before I begin, please let me introduce myself shortly.
During the last decade of the twentieth century and the first six years of the twenty-first century, I worked for OA company as software engineer, I mastered the Shlaer-Mellor method by applying it to actual OA equipment product software development.
In addition I tried to evangelize this method to many engineers inside and outside the company.
During next 16 years I worked for Microsoft as technical evangelist and technical specialist, I continued to apply Shlare-Melllor method to understand new technologies from Microsoft quickly and to support more than hundred real customers’ IoT-Digital Twins business projects behind the scenes. I realized that Shlaer-Mellor method is powerful and effective for general IT solution development.
Last year, I left Microsoft and became independent, I started to refine and redefinition Shlaer-Mellor method for applicable to a wider range of business systems and continuing to write and publish many technical contents.
In my last few years at Microsoft, I felt that the importance of modeling technology has been increased with the practical application of DX, DT, IoT and OpenAI.
They are just tool to realize “what you want to do “ in the Real World.
As you know, Shlaer-Mellor method is one of Model Driven Development. In model driven development, the target of modeling is not a software but the Real World.
It is reasonable to think that the modeling target of the Shlaer-Mellor method is also the Real World.
Without mention DX, DT and so on, Originally, when people develop software system or solve some problem, they should understand the real world of the target and should describe what you understand and share that among stakeholders.
In other words, requires some “notation and methodology” for describing the real world. I decided call it as “Conceptual Modeling”.
Base of “Conceptual Modeling” is ofcause “Shlaer-Mellor method”.
That is refined and redefinition with my long & rich experience to extend not only Realtime and embedded software systems but also to general business system development
I decided that the model created by conceptual modeling is called as “Conceptual Model”.
For refine and redefinition of modeling to model the real world for business, I think I should answer for a question.
The question is … “Can real-world objects be described by model correctly with conceptual modeling?
In other word, this question is that
“the objective world of reality”
and
“the world recognized through human subjectivity”
Can these two be matched?
I call this question as “1st question” in my session, please remember
For 1st question, If the answer is “yes”
Then I should answer next question
The question is
Is my conceptual modeling appropriate as a description method?
I call this question as “2nd question” in my session.
To answer these two question, I’m considering from two points of view, one is from philosophy and other one is mathematics
First, from philosophical point of view, I tried to make a discussion based on Husserl’s phenomenology and little bit Frege, Rassel and Wigtgensutien epistemology.
As you know this session is short time. So I can’t explain detail so I’ll just give you a summary.
(右下の薄黄色を指して)
To summarize what phenomenology is saying:
To perceive the human world as a fact, but as a “world of relationships”, that is constantly being woven as a link of meaning and value.
This is the core of the perspective that perceives the “world” as the “essence”
Applying phenomenological terminology to conceptual modeling tools terminology,
“background field “ can be mapped to domain
“folders of values” can be mapped to property or attribute
“definition of the meaning of feature value” can be to data type
“classification of objects” can be to conceptual class
“meaning and definition of multiplicity between objects” can be to relationship
From the above, I think conceptual modeling tooling meet the necessary to describe the target world. So my second question may be yes.
In addition, in order to Hussel’s “Epoche”,
There is no a priori existence like Plato’s idea and the correctness of description for the world can only be determined by agreement between the stakeholders.
As a result my 1st question is nonsense I think.
“model’s correctness” is not important but the most important point is
“The model with consensus of the parties”!
Second point of view, mathematics.
To verify the validity of the conceptual modeling, category theory would be the best way I think.
Here I’ll also just give you a summary.
It seems that the elements of the conceptual modeling and targeted real world can be formalized as well-known or specific categories and functors in category theory.
For simplicity, let’s call “the target world” as Category W and “the modeled instances and links world” as Category I.
In my opinion, if the model of category I success to describe the real world, category W and I should be satisfied “natural equivalence”.
“natural equivalence” means that what works on the category I, will work on the category W.
Next,
the information model , which consist from conceptual classes and relationships, and state models and action descriptions are the schema category for category I.
Let’s call these models as category C.
You know, The main models produced by conceptual modeling are models of this category C
I think that elements of category C should be able only to be schema for category I but also to constitute “proposition” and the value of each proposition should be true
This idea come from Frage, Russel and Wittgenstein’s “Philosophical logic”
In summary, I think that the modeling, which can describe the real world, needs to satisfy both natural equivalence between category W and I and propositional possibilities of category C which is schema category for Category I.
conceptual model must be created to meet these two requirements
So far , I’ve explained
as if I were an expert who knows everything of philosophy and mathematics, but I’m not a professional of them but a just engineer or practitioner.
I need a professionals help to verify whether my current understanding is correct or not!
I hope someone help me.
Regards!
Finally, let me introduce what I’m doing now.
Currently , there are very few content to explain the Shlaer-Mellor method, so I have been writing and publishing textbooks or workshop materials including some column about today’s session topic as “conceptual modeling”.
I’m sorry, almost all content are written by Japanese so please use google or bing translator to read them if you are interested.
in addition I’ve already released C# code generator on github and continue to improve. This generator can generate a set of source code from model of BridgePoint that runs on Microsoft Cloud Services.
I’m happy that some one use this.
At last, I begin to build conceptual model generator base on OpenAI. Today ‘s topic is a part of the preparation for doing this.
But I’m also not a professional of AI so I’m looking for collaborators.
This concludes my session.
My content was about philosophy and mathematics, so I’m worried that everyone was sleepy
I ‘m happy if my session help you.
Thank you.