SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
From Muddling
      to Modelling
in software, economics, engineering, science
instance ?                       class ?

      encrypting ?    coding ?

      modelling ?    muddling ?


    Golf
                                  ABC 123



 model ?                         object ?
Dictionary definition: to code
express (a statement or communication) in an indirect
way

Coding can be viewed as having to deal with
someone else’s representation (program notation
or otherwise)

Dictionary definition: to model
devise a representation, especially a mathematical one
of (a phenomenon or system)

Modelling can be viewed as dealing with a
representation that is fit for purpose
Notation    Semantics ?




    Golf




  ABC 123          ABC 12
                         3
Golf             ABC 123




       ABC 1
            23                   3
                           ABC 12
A familiar setting from
elementary school maths




            ABC 1
                 23              3
                           ABC 12
cars




Observation:
Modelling of abstractions relies on concepts from
pure mathematics, it requires no statistics or
other applied mathematics

                       ABC 1
                            23                      3
                                              ABC 12
Observation: Models are a way of referring
    to useful sets or subsets in a domain
                        Observation:
                        The elements of a set may
                        change over time
                        Definition:
             Golf       A query is a function that
Golf                    returns the content of a set at
cars                    a given point in time
Observation: Only one car with
      reg # ABC 123 can exist at any given time




                          cars with
                            reg #          ABC 123

                          ABC 123
Definition:
An instance is a set
that contains one and
                            ABC 1
only one element at              23
                                                     ABC 12
                                                           3



any given point in time
model
Adding another
level of subsets

                   model




                           instance
         model
            Golf
                            ABC 123
Definition:
Instantiation is a       model
function that returns
an instance
                         model




                                        instance
           model
                        instantiation
              Golf
                             of          ABC 123
model



                                     instantiation
                                of
Observation: If the
intermediate subsets cars
and Golf are not relevant to
                                      instance
our model, we can use an
instantiation function from a
higher level of abstraction             ABC 123
Simplifying the
notation

              subset of




        subset of

           Golf
                                  ABC 123
                    instance of
View points

                subset of




        subset of

              Golf
                        sales            ABC 123

                        person
                      ABC 123 is an instance of Golf
View points

                subset of




                            Golf is an instance of cars
                            engineer
              Golf
                        sales            ABC 123

                        person
                      ABC 123 is an instance of Golf
View points

cars is an instance of objects      software platform




                             Golf is an instance of cars
                             engineer
               Golf
                            sales            ABC 123

                            person
                          ABC 123 is an instance of Golf
engineer
               Golf             Golf
                   is an
                  ABC instance
                        123      of ca
                            is an      rs
                                  insta
                                        nce o
                                              f   Golf
                                                         Communication ?




                      ABC 123
                                              Golf




sales person
Abstractions must be validated via instantiation


                                               Golf

                       abstract

                                        instantiate


                                     ABC 1
                                          23




       engineer                   sales person
Notation    Semantics




    Golf




             ABC 1
  ABC 123         23
No support for multi-level instantiation in any
industry standard modelling/programming language !


                         cars is an instance of objects



                                 engineer
        Golf             Golf is an instance of cars


                               sales person
                         ABC 123 is an instance of Golf
      ABC 123
Pragmatic kludge:                                                                 design time
The Power Type pattern
                                                                      Class : Mammal
Class : AnimalSpecies
                                                                  dateOfBirth
maxAge                    [1]                               [*]




                            configuration
A.S. : Dog
{20 years}
                               time?               Class : Dog
                                           isPoliceDog                      [2]
                                                                                         Class : Cat
                                                                                                              [2]
             A.S. : Cat
             {30 years}                                                     [*]                               [*]




                                           Dog : Jack                              Cat : Coco


 Observation: Today’s
                                           {1/5/03, yes}                           {4/3/07}


                                                           Dog : Susie                          Cat : Peter

 software contains a                                       {1/2/00, no}                         {10/9/98}




 significant amount of
 avoidable, spurious
 complexity                                                                            run time
Some
familiar
subsets




Golf
Notation matters, often less is more

           ?
                          U
                                   not quite
           ?                       correct ...
                          U

           ?                           U
                          U    (            )
Potentially useful semantics


        <=> (     ABC 123   :         ) U ( ... ) U ...
                                Joe




        <=> (     ABC 123   :         ) U ( ... ) U ...
                                Joe




        <=> (               :(
                                         U
                  ABC 123
                                                 )) U ...
                                          Joe
We constantly rely on speculative interpretation


         <=>        airplane or aircraft ?

         <=>        commercial aircraft ?

         <=>        ship or boat ?

         <=>       ferry or cruise ship ?

         <=>       car ferry ?

         <=>       paddler or boat ?
         Observation: It works 80% of the time
Perhaps 80% is not quite good enough
for software specification !

                                    Golf

             abstract

                             instantiate


                          ABC 1
                               23




           Observation: We need less
           speculation and much more
           validation via instantiation !
Is natural language any better?




use case step (end user needs)
Is code any better?




use case step (end user needs)


software design (voodoo)
whizBangTech.createStandardOrder(whizBangTech.createPartner(“Joe”), vwGolf, blue, 1);
code (implementation)
Is code any better?
The code is the design.


                                                                               Yeah, right!


use case step (end user needs)


software design (voodoo)
whizBangTech.createStandardOrder(whizBangTech.createPartner(“Joe”), vwGolf, blue, 1);
code (implementation)
model (specification)




use case step (end user needs)

Automation (generation, execution)

whizBangTech.createStandardOrder(whizBangTech.createPartner(“Joe”), vwGolf, blue, 1);
code (implementation)
model (specification)




use case step (end user needs)




whizBangTech.createStandardOrder(whizBangTech.createPartner(“Joe”), vwGolf, blue, 1));
code (implementation)
Observation: Instantiation links do not adhere to the
simplistic rules of the traditional class/object paradigm ...

                                                   under-specified
                                                 instance of the VWGolf
                                                      product line




                                                 nearly fully-specified instance




                     only here the instance is
                         fully-specified




Observation:
Partial, incremental instantiation is common in product lines
A typical problem
object oriented model A                                                        object oriented model B
         (modelling instantiation via association)                                 (modelling instantiation via specialisation)

                                                                                                               Class : Mammal
Class : AnimalSpecies                              Class : Animal
                                                                             [2]                           dateOfBirth
maxAge                                        dateOfBirth
                               [1]      [*]                                                                                                 problem
                                                                                                                                            no species
                                                                             [*]
                                                                                                                                               data




A.S. : Dog
{20 years}                                                                                  Class : Dog                          Class : Cat
                                                                                    isPoliceDog                      [2]                                 [2]
             A.S. : Cat
             {30 years}                                                                                              [*]                                 [*]




                                                                                    Dog : Jack                             Cat : Coco
 Animal : Jack                       Animal : Coco                                  {1/5/03, yes}                          {4/3/07}
 {1/5/03}                            {4/3/07}

                                                                                                    Dog : Susie                         Cat : Peter
              Animal : Susie                                Animal : Peter                          {1/2/00, no}                        {10/9/98}
              {1/2/00}                                      {10/9/98}




     problem
 no species-specific
   instance data                        problem
                                     precision of links
object oriented model C
                                     (Power Type pattern)

                                                                                            Class : Mammal
Class : AnimalSpecies
                                                                                        dateOfBirth
maxAge                    [1]                                                     [*]




                                                 problem
                                              Fragmentation of
                                                  concepts
A.S. : Dog
{20 years}                                                               Class : Dog                          Class : Cat
                                                                 isPoliceDog                      [2]                              [2]
             A.S. : Cat
             {30 years}                                                                           [*]                              [*]



                                          problem
                                     Spurious complexity

                                                                 Dog : Jack                             Cat : Coco
                                                                 {1/5/03, yes}                          {4/3/07}


                                                                                 Dog : Susie                         Cat : Peter
                                                                                 {1/2/00, no}                        {10/9/98}
object oriented model C                                            design time
                                     (Power Type pattern)

                                                                                       Class : Mammal
Class : AnimalSpecies
                                                                                   dateOfBirth
maxAge                    [1]                                                [*]




                            configuration
A.S. : Dog
{20 years}
                               time?                                Class : Dog
                                                            isPoliceDog                      [2]
                                                                                                          Class : Cat
                                                                                                                               [2]
             A.S. : Cat
             {30 years}                                                                      [*]                               [*]




                                                            Dog : Jack                              Cat : Coco
                                                            {1/5/03, yes}                           {4/3/07}


                                                                            Dog : Susie                          Cat : Peter
                                                                            {1/2/00, no}                         {10/9/98}




                                                                                                        run time
The solution
multi-level modelling                                           Vertex : AnimalSpecies                               system
 precise instantiation semantics
    role based binding times
                                                              maxAge
                                                              isAbstract : no                                    design time
           modularity
           simplicity



          instantiation ...
                                                               AnimalSpecies : Mammal                                species
establishes connections between
 two levels of abstraction that
    define different binding times
                                                               maxAge : 150
                                                               isAbstract : yes
                                                               dateOfBirth
                                                                                                                configuration
                                                                                                                       time
generalisation/specialisation ...
expresses the commonalities and                                                                                      a consistent instantiation
variabilities between the concepts                                                                                       mechanism at all levels
  relevant to a specific binding time                                                                                   and unlimited levels of
                                        AnimalSpecies : Dog                        AnimalSpecies : Cat
                                                                                                                            instantiation
                                       maxAge : 20                          [2]   maxAge : 30             [2]
                                       isAbstract : no                            isAbstract : no
                                       isPoliceDog                          [*]                           [*]




                                                                                                         treatment time
              Dog : Jack                       Dog : Susie                                 Cat : Coco                    Cat : Peter
      dateOfBirth : 1/5/03             dateOfBirth : 1/2/00                       dateOfBirth : 4/3/07           dateOfBirth : 10/9/98
      isPoliceDog : yes                isPoliceDog : no
More Information

The role of artefacts           tiny.cc/artefacts
Model Oriented Domain Analysis tiny.cc/domainanalysis
Multi-Level Modelling           tiny.cc/gmodel
                                tiny.cc/sematpos_jbe,
SEMAT
                                tiny.cc/sematslides_jbe
Denotational Semantics          tiny.cc/densem


                   Thank you!

                    Jorn Bettin
                 jbe @ sofismo.ch

Weitere ähnliche Inhalte

Andere mochten auch

Nzcom writing for the journal.pptx with sound
Nzcom writing for the journal.pptx with soundNzcom writing for the journal.pptx with sound
Nzcom writing for the journal.pptx with soundNZCollegeofMidwives
 
The nature of management, managers and their
The nature of management, managers and theirThe nature of management, managers and their
The nature of management, managers and theirMuXamil Haider
 
Applying a public policy lens to environmental decision making
Applying a public policy lens to environmental decision makingApplying a public policy lens to environmental decision making
Applying a public policy lens to environmental decision makingMegan Evans
 
Dissertation in Politics - US Foreign Policy Decision Making in Iraq
Dissertation in Politics - US Foreign Policy Decision Making in IraqDissertation in Politics - US Foreign Policy Decision Making in Iraq
Dissertation in Politics - US Foreign Policy Decision Making in IraqVijay Luhan
 
Turning Shared Decision Making Policy into a Reality: Can We Really Improve t...
Turning Shared Decision Making Policy into a Reality: Can We Really Improve t...Turning Shared Decision Making Policy into a Reality: Can We Really Improve t...
Turning Shared Decision Making Policy into a Reality: Can We Really Improve t...Informed Medical Decisions Foundation
 
Charles E. Lindblom: The science of muddling through.
Charles E. Lindblom: The science of muddling through. Charles E. Lindblom: The science of muddling through.
Charles E. Lindblom: The science of muddling through. Chalitha Priyadarshani
 
Ppt science muddling_critique(joseph)
Ppt science muddling_critique(joseph)Ppt science muddling_critique(joseph)
Ppt science muddling_critique(joseph)nida19
 
Decision making theory and process
Decision making theory and processDecision making theory and process
Decision making theory and processArdha
 
Decision making in administration
Decision making in administrationDecision making in administration
Decision making in administrationtaratoot
 
Public Policy Philippines
Public Policy PhilippinesPublic Policy Philippines
Public Policy PhilippinesKaren S.
 
Incremental model presentation
Incremental model presentationIncremental model presentation
Incremental model presentationNiat Murad
 
Models of policy making and the concept of power in policy
Models of policy making and the concept of power in policyModels of policy making and the concept of power in policy
Models of policy making and the concept of power in policyNayyar Kazmi
 
21. Decision making model
21. Decision making model21. Decision making model
21. Decision making modelNBHS
 
Decision Making PowerPoint PPT Content Modern Sample
Decision Making PowerPoint PPT Content Modern SampleDecision Making PowerPoint PPT Content Modern Sample
Decision Making PowerPoint PPT Content Modern SampleAndrew Schwartz
 
Decision Making Process
Decision Making ProcessDecision Making Process
Decision Making ProcessAima Masood
 
Decision Making Process
Decision Making ProcessDecision Making Process
Decision Making ProcessJolene Rennie
 

Andere mochten auch (20)

Nzcom writing for the journal.pptx with sound
Nzcom writing for the journal.pptx with soundNzcom writing for the journal.pptx with sound
Nzcom writing for the journal.pptx with sound
 
The nature of management, managers and their
The nature of management, managers and theirThe nature of management, managers and their
The nature of management, managers and their
 
Applying a public policy lens to environmental decision making
Applying a public policy lens to environmental decision makingApplying a public policy lens to environmental decision making
Applying a public policy lens to environmental decision making
 
Dissertation in Politics - US Foreign Policy Decision Making in Iraq
Dissertation in Politics - US Foreign Policy Decision Making in IraqDissertation in Politics - US Foreign Policy Decision Making in Iraq
Dissertation in Politics - US Foreign Policy Decision Making in Iraq
 
Turning Shared Decision Making Policy into a Reality: Can We Really Improve t...
Turning Shared Decision Making Policy into a Reality: Can We Really Improve t...Turning Shared Decision Making Policy into a Reality: Can We Really Improve t...
Turning Shared Decision Making Policy into a Reality: Can We Really Improve t...
 
03 conceptual framework for policy making
03 conceptual framework for policy making03 conceptual framework for policy making
03 conceptual framework for policy making
 
02 Policy making models - Approaches
02 Policy making models - Approaches02 Policy making models - Approaches
02 Policy making models - Approaches
 
Charles E. Lindblom: The science of muddling through.
Charles E. Lindblom: The science of muddling through. Charles E. Lindblom: The science of muddling through.
Charles E. Lindblom: The science of muddling through.
 
Ppt science muddling_critique(joseph)
Ppt science muddling_critique(joseph)Ppt science muddling_critique(joseph)
Ppt science muddling_critique(joseph)
 
Decision making theory and process
Decision making theory and processDecision making theory and process
Decision making theory and process
 
Decision making in administration
Decision making in administrationDecision making in administration
Decision making in administration
 
Public Policy Philippines
Public Policy PhilippinesPublic Policy Philippines
Public Policy Philippines
 
Incremental model presentation
Incremental model presentationIncremental model presentation
Incremental model presentation
 
Models of policy making and the concept of power in policy
Models of policy making and the concept of power in policyModels of policy making and the concept of power in policy
Models of policy making and the concept of power in policy
 
Decision making
Decision makingDecision making
Decision making
 
21. Decision making model
21. Decision making model21. Decision making model
21. Decision making model
 
Decision Making PowerPoint PPT Content Modern Sample
Decision Making PowerPoint PPT Content Modern SampleDecision Making PowerPoint PPT Content Modern Sample
Decision Making PowerPoint PPT Content Modern Sample
 
Decision Making Process
Decision Making ProcessDecision Making Process
Decision Making Process
 
Decision Making Process
Decision Making ProcessDecision Making Process
Decision Making Process
 
Decision making
Decision makingDecision making
Decision making
 

Mehr von Jorn Bettin

From collective insanity to organisational learning 2019 03 11 brisbane bus...
From collective insanity to organisational learning   2019 03 11 brisbane bus...From collective insanity to organisational learning   2019 03 11 brisbane bus...
From collective insanity to organisational learning 2019 03 11 brisbane bus...Jorn Bettin
 
From artificially intelligent systems towards real thinking tools and human s...
From artificially intelligent systems towards real thinking tools and human s...From artificially intelligent systems towards real thinking tools and human s...
From artificially intelligent systems towards real thinking tools and human s...Jorn Bettin
 
From collective insanity to organisational learning
From collective insanity to organisational learningFrom collective insanity to organisational learning
From collective insanity to organisational learningJorn Bettin
 
From artificially intelligent systems towards real thinking tools and human s...
From artificially intelligent systems towards real thinking tools and human s...From artificially intelligent systems towards real thinking tools and human s...
From artificially intelligent systems towards real thinking tools and human s...Jorn Bettin
 
From project to product mindset and onwards to product platform architectures
From project to product mindset and onwards to product platform architecturesFrom project to product mindset and onwards to product platform architectures
From project to product mindset and onwards to product platform architecturesJorn Bettin
 
Semantic Search – Do you know what I mean?
Semantic Search – Do you know what I mean?Semantic Search – Do you know what I mean?
Semantic Search – Do you know what I mean?Jorn Bettin
 
The Story of Life is Language
The Story of Life is LanguageThe Story of Life is Language
The Story of Life is LanguageJorn Bettin
 
Curation of information and knowledge
Curation of information and knowledgeCuration of information and knowledge
Curation of information and knowledgeJorn Bettin
 
Advanced modelling made simple with the Gmodel metalanguage
Advanced modelling made simple with the Gmodel metalanguageAdvanced modelling made simple with the Gmodel metalanguage
Advanced modelling made simple with the Gmodel metalanguageJorn Bettin
 
Model Oriented Domain Analysis - Industrialized Software Specifications
Model Oriented Domain Analysis - Industrialized Software SpecificationsModel Oriented Domain Analysis - Industrialized Software Specifications
Model Oriented Domain Analysis - Industrialized Software SpecificationsJorn Bettin
 

Mehr von Jorn Bettin (10)

From collective insanity to organisational learning 2019 03 11 brisbane bus...
From collective insanity to organisational learning   2019 03 11 brisbane bus...From collective insanity to organisational learning   2019 03 11 brisbane bus...
From collective insanity to organisational learning 2019 03 11 brisbane bus...
 
From artificially intelligent systems towards real thinking tools and human s...
From artificially intelligent systems towards real thinking tools and human s...From artificially intelligent systems towards real thinking tools and human s...
From artificially intelligent systems towards real thinking tools and human s...
 
From collective insanity to organisational learning
From collective insanity to organisational learningFrom collective insanity to organisational learning
From collective insanity to organisational learning
 
From artificially intelligent systems towards real thinking tools and human s...
From artificially intelligent systems towards real thinking tools and human s...From artificially intelligent systems towards real thinking tools and human s...
From artificially intelligent systems towards real thinking tools and human s...
 
From project to product mindset and onwards to product platform architectures
From project to product mindset and onwards to product platform architecturesFrom project to product mindset and onwards to product platform architectures
From project to product mindset and onwards to product platform architectures
 
Semantic Search – Do you know what I mean?
Semantic Search – Do you know what I mean?Semantic Search – Do you know what I mean?
Semantic Search – Do you know what I mean?
 
The Story of Life is Language
The Story of Life is LanguageThe Story of Life is Language
The Story of Life is Language
 
Curation of information and knowledge
Curation of information and knowledgeCuration of information and knowledge
Curation of information and knowledge
 
Advanced modelling made simple with the Gmodel metalanguage
Advanced modelling made simple with the Gmodel metalanguageAdvanced modelling made simple with the Gmodel metalanguage
Advanced modelling made simple with the Gmodel metalanguage
 
Model Oriented Domain Analysis - Industrialized Software Specifications
Model Oriented Domain Analysis - Industrialized Software SpecificationsModel Oriented Domain Analysis - Industrialized Software Specifications
Model Oriented Domain Analysis - Industrialized Software Specifications
 

Kürzlich hochgeladen

Keppel Ltd. 1Q 2024 Business Update Presentation Slides
Keppel Ltd. 1Q 2024 Business Update  Presentation SlidesKeppel Ltd. 1Q 2024 Business Update  Presentation Slides
Keppel Ltd. 1Q 2024 Business Update Presentation SlidesKeppelCorporation
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Roland Driesen
 
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130  Available With RoomVIP Kolkata Call Girl Howrah 👉 8250192130  Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Roomdivyansh0kumar0
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...anilsa9823
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMANIlamathiKannappan
 
Sales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessSales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessAggregage
 
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsCash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsApsara Of India
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayNZSG
 
Event mailer assignment progress report .pdf
Event mailer assignment progress report .pdfEvent mailer assignment progress report .pdf
Event mailer assignment progress report .pdftbatkhuu1
 
Progress Report - Oracle Database Analyst Summit
Progress  Report - Oracle Database Analyst SummitProgress  Report - Oracle Database Analyst Summit
Progress Report - Oracle Database Analyst SummitHolger Mueller
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Serviceritikaroy0888
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsMichael W. Hawkins
 
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Delhi Call girls
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Roland Driesen
 
Understanding the Pakistan Budgeting Process: Basics and Key Insights
Understanding the Pakistan Budgeting Process: Basics and Key InsightsUnderstanding the Pakistan Budgeting Process: Basics and Key Insights
Understanding the Pakistan Budgeting Process: Basics and Key Insightsseri bangash
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfPaul Menig
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth MarketingShawn Pang
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMRavindra Nath Shukla
 

Kürzlich hochgeladen (20)

Keppel Ltd. 1Q 2024 Business Update Presentation Slides
Keppel Ltd. 1Q 2024 Business Update  Presentation SlidesKeppel Ltd. 1Q 2024 Business Update  Presentation Slides
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...
 
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130  Available With RoomVIP Kolkata Call Girl Howrah 👉 8250192130  Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
Sales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessSales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for Success
 
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsCash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
 
Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517
Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517
Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 May
 
Event mailer assignment progress report .pdf
Event mailer assignment progress report .pdfEvent mailer assignment progress report .pdf
Event mailer assignment progress report .pdf
 
Progress Report - Oracle Database Analyst Summit
Progress  Report - Oracle Database Analyst SummitProgress  Report - Oracle Database Analyst Summit
Progress Report - Oracle Database Analyst Summit
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael Hawkins
 
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...
 
Understanding the Pakistan Budgeting Process: Basics and Key Insights
Understanding the Pakistan Budgeting Process: Basics and Key InsightsUnderstanding the Pakistan Budgeting Process: Basics and Key Insights
Understanding the Pakistan Budgeting Process: Basics and Key Insights
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdf
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 

From Muddling to Modelling

  • 1. From Muddling to Modelling in software, economics, engineering, science
  • 2. instance ? class ? encrypting ? coding ? modelling ? muddling ? Golf ABC 123 model ? object ?
  • 3. Dictionary definition: to code express (a statement or communication) in an indirect way Coding can be viewed as having to deal with someone else’s representation (program notation or otherwise) Dictionary definition: to model devise a representation, especially a mathematical one of (a phenomenon or system) Modelling can be viewed as dealing with a representation that is fit for purpose
  • 4. Notation Semantics ? Golf ABC 123 ABC 12 3
  • 5. Golf ABC 123 ABC 1 23 3 ABC 12
  • 6. A familiar setting from elementary school maths ABC 1 23 3 ABC 12
  • 7. cars Observation: Modelling of abstractions relies on concepts from pure mathematics, it requires no statistics or other applied mathematics ABC 1 23 3 ABC 12
  • 8. Observation: Models are a way of referring to useful sets or subsets in a domain Observation: The elements of a set may change over time Definition: Golf A query is a function that Golf returns the content of a set at cars a given point in time
  • 9. Observation: Only one car with reg # ABC 123 can exist at any given time cars with reg # ABC 123 ABC 123 Definition: An instance is a set that contains one and ABC 1 only one element at 23 ABC 12 3 any given point in time
  • 10. model Adding another level of subsets model instance model Golf ABC 123
  • 11. Definition: Instantiation is a model function that returns an instance model instance model instantiation Golf of ABC 123
  • 12. model instantiation of Observation: If the intermediate subsets cars and Golf are not relevant to instance our model, we can use an instantiation function from a higher level of abstraction ABC 123
  • 13. Simplifying the notation subset of subset of Golf ABC 123 instance of
  • 14. View points subset of subset of Golf sales ABC 123 person ABC 123 is an instance of Golf
  • 15. View points subset of Golf is an instance of cars engineer Golf sales ABC 123 person ABC 123 is an instance of Golf
  • 16. View points cars is an instance of objects software platform Golf is an instance of cars engineer Golf sales ABC 123 person ABC 123 is an instance of Golf
  • 17. engineer Golf Golf is an ABC instance 123 of ca is an rs insta nce o f Golf Communication ? ABC 123 Golf sales person
  • 18. Abstractions must be validated via instantiation Golf abstract instantiate ABC 1 23 engineer sales person
  • 19. Notation Semantics Golf ABC 1 ABC 123 23
  • 20. No support for multi-level instantiation in any industry standard modelling/programming language ! cars is an instance of objects engineer Golf Golf is an instance of cars sales person ABC 123 is an instance of Golf ABC 123
  • 21. Pragmatic kludge: design time The Power Type pattern Class : Mammal Class : AnimalSpecies dateOfBirth maxAge [1] [*] configuration A.S. : Dog {20 years} time? Class : Dog isPoliceDog [2] Class : Cat [2] A.S. : Cat {30 years} [*] [*] Dog : Jack Cat : Coco Observation: Today’s {1/5/03, yes} {4/3/07} Dog : Susie Cat : Peter software contains a {1/2/00, no} {10/9/98} significant amount of avoidable, spurious complexity run time
  • 23. Notation matters, often less is more ? U not quite ? correct ... U ? U U ( )
  • 24. Potentially useful semantics <=> ( ABC 123 : ) U ( ... ) U ... Joe <=> ( ABC 123 : ) U ( ... ) U ... Joe <=> ( :( U ABC 123 )) U ... Joe
  • 25. We constantly rely on speculative interpretation <=> airplane or aircraft ? <=> commercial aircraft ? <=> ship or boat ? <=> ferry or cruise ship ? <=> car ferry ? <=> paddler or boat ? Observation: It works 80% of the time
  • 26. Perhaps 80% is not quite good enough for software specification ! Golf abstract instantiate ABC 1 23 Observation: We need less speculation and much more validation via instantiation !
  • 27. Is natural language any better? use case step (end user needs)
  • 28. Is code any better? use case step (end user needs) software design (voodoo) whizBangTech.createStandardOrder(whizBangTech.createPartner(“Joe”), vwGolf, blue, 1); code (implementation)
  • 29. Is code any better? The code is the design. Yeah, right! use case step (end user needs) software design (voodoo) whizBangTech.createStandardOrder(whizBangTech.createPartner(“Joe”), vwGolf, blue, 1); code (implementation)
  • 30. model (specification) use case step (end user needs) Automation (generation, execution) whizBangTech.createStandardOrder(whizBangTech.createPartner(“Joe”), vwGolf, blue, 1); code (implementation)
  • 31. model (specification) use case step (end user needs) whizBangTech.createStandardOrder(whizBangTech.createPartner(“Joe”), vwGolf, blue, 1)); code (implementation)
  • 32. Observation: Instantiation links do not adhere to the simplistic rules of the traditional class/object paradigm ... under-specified instance of the VWGolf product line nearly fully-specified instance only here the instance is fully-specified Observation: Partial, incremental instantiation is common in product lines
  • 34. object oriented model A object oriented model B (modelling instantiation via association) (modelling instantiation via specialisation) Class : Mammal Class : AnimalSpecies Class : Animal [2] dateOfBirth maxAge dateOfBirth [1] [*] problem no species [*] data A.S. : Dog {20 years} Class : Dog Class : Cat isPoliceDog [2] [2] A.S. : Cat {30 years} [*] [*] Dog : Jack Cat : Coco Animal : Jack Animal : Coco {1/5/03, yes} {4/3/07} {1/5/03} {4/3/07} Dog : Susie Cat : Peter Animal : Susie Animal : Peter {1/2/00, no} {10/9/98} {1/2/00} {10/9/98} problem no species-specific instance data problem precision of links
  • 35. object oriented model C (Power Type pattern) Class : Mammal Class : AnimalSpecies dateOfBirth maxAge [1] [*] problem Fragmentation of concepts A.S. : Dog {20 years} Class : Dog Class : Cat isPoliceDog [2] [2] A.S. : Cat {30 years} [*] [*] problem Spurious complexity Dog : Jack Cat : Coco {1/5/03, yes} {4/3/07} Dog : Susie Cat : Peter {1/2/00, no} {10/9/98}
  • 36. object oriented model C design time (Power Type pattern) Class : Mammal Class : AnimalSpecies dateOfBirth maxAge [1] [*] configuration A.S. : Dog {20 years} time? Class : Dog isPoliceDog [2] Class : Cat [2] A.S. : Cat {30 years} [*] [*] Dog : Jack Cat : Coco {1/5/03, yes} {4/3/07} Dog : Susie Cat : Peter {1/2/00, no} {10/9/98} run time
  • 38. multi-level modelling Vertex : AnimalSpecies system precise instantiation semantics role based binding times maxAge isAbstract : no design time modularity simplicity instantiation ... AnimalSpecies : Mammal species establishes connections between two levels of abstraction that define different binding times maxAge : 150 isAbstract : yes dateOfBirth configuration time generalisation/specialisation ... expresses the commonalities and a consistent instantiation variabilities between the concepts mechanism at all levels relevant to a specific binding time and unlimited levels of AnimalSpecies : Dog AnimalSpecies : Cat instantiation maxAge : 20 [2] maxAge : 30 [2] isAbstract : no isAbstract : no isPoliceDog [*] [*] treatment time Dog : Jack Dog : Susie Cat : Coco Cat : Peter dateOfBirth : 1/5/03 dateOfBirth : 1/2/00 dateOfBirth : 4/3/07 dateOfBirth : 10/9/98 isPoliceDog : yes isPoliceDog : no
  • 39. More Information The role of artefacts tiny.cc/artefacts Model Oriented Domain Analysis tiny.cc/domainanalysis Multi-Level Modelling tiny.cc/gmodel tiny.cc/sematpos_jbe, SEMAT tiny.cc/sematslides_jbe Denotational Semantics tiny.cc/densem Thank you! Jorn Bettin jbe @ sofismo.ch