SlideShare una empresa de Scribd logo
1 de 94
Modeling and Programming
isn‘t it all the same?




                            Markus Voelter
                         independent/itemis
                           voelter@acm.org

                                 www.voelter.de
                         voelterblog.blogspot.de
                                 @markusvoelter
                                 +Markus Voelter
We don‘t want to
    model,
 we want to
      program!
We don‘t want to
      model,
 we want to
        program!
  … at different levels of abstraction
  … from different viewpoints
  … integrated!
We don‘t want to
     model,
 we want to
        program!
  … with different degrees of
           domain-specificity
  … with suitable notations
  … with suitable expressiveness
We don‘t want to
     model,
 we want to
        program!
 And always:
     precise and tool processable
beforeFlight                                     crashed
                                       reset
next [alt > 0]                                                    next [alt == 0 && speed == 0]


                                                                             airborne



                  flying



                         next [alt == 0 && speed > 0]



                 landing                                                landed
                                  next [alt == 0 && speed == 0]
Different Worlds
    Programming Tools
           !=
       Modeling Tools
Different Worlds
      Modeling Tool
           !=
       Modeling Tool
Different Worlds
    Mix Models and Programs
Different Worlds
    Mix Models and Programs
     AST Navigation & Query
Different Worlds
    Mix Models and Programs
     AST Navigation & Query
      Integration of 3GL code
Different Worlds
    Mix Models and Programs
     AST Navigation & Query
      Integration of 3GL code
            Code Constraints
Language
 Workbench
      (Martin Fowler)
Language
 Workbench   (Martin Fowler)




   Freely
    define
 languages and
       integrate
                 them
Language
 Workbench(Martin Fowler)




  use
  persistent
    abstract ?
    representation
Language
 Workbench      (Martin Fowler)




 language ::=
       schema
       + editors
    + generators
Language
 Workbench
         (Martin Fowler)




            ?
  projectional
       editing
Language
 Workbench   (Martin Fowler)




  persist
 incomplete
        or
 contradictory
        information
Language
 Workbench     (Martin Fowler)


  powerful
   editing
     testing
  refactoring
                 +
    debugging
   groupware
 language definition
       implies
          IDE definition
Language
 Workbench     (Martin Fowler)




support for
 „classical“
    programming
               +
 „classical“ and
    modeling
Big Language?
                   a
               o       b
           n               c

      m                        d

       k
                   L           e

           j               f
               i       g
                   h

with many first class concepts!
Small Language?
           
                  
           L


              
with a few, orthogonal
and poweful concepts
Modular Language
                   a   b   c

                    d   e   f
         my L
                    g   h   i

                    j   k   l

          
  with many optional,
 composable concepts
Modular Language

  Like frameworks
  and libraries,
Modular Language

  Like frameworks
  and libraries,
         but with syntax
        and IDE support
Model
 A schematic description of a
      system, theory, or
phenomenon that accounts for
    its known or inferred
 properties and may be used
   for further study of its
        characteristics
                www.answers.com/topic/mode
                                         l
Model
  A representation of a set of
         components of a
   process, system, or subject
 area, generally developed for
understanding, analysis, improve
ment, and/or replacement of the
             process
                  www.ichnet.org/glossary.htm
Model

an abstraction or
simplification of
     reality

          ecosurvey.gmu.edu/glossary.ht
                                     m
Model

an abstraction or
simplification of
     reality
   a model is always
  relative to something
Model

an abstraction or
simplification of
 another model.
Model

an abstraction or
simplification of
 another model.
   “model” is a role.
Role?

    Person            Car


Owner        Driver
Role?

           driver

  Person   owner    Car
Role?

           driver

  Person   owner      Car

   A role characterizes a
   relationship between two
   entities.
Role?


            model
  Program           Program

   A role characterizes a
   relationship between two
   entities.
Role?


            model
  Program   abstract   detailed
                                  Program
Role?


            model
  Program   abstract   detailed
                                  Program
                                  model abstract

                                         detailed



                                  Program
A Concrete
Example System:
mbeddr
An extensible C
with support for
formal methods,
  requirements
     and PLE.
IDE for Everything
A debugger
for all of that
SDK for building
   your own
   Language
  Extensions!
IDE for Everything


      JetBrains

      MPS
      Open Source
      Language Workbench
Challenges
in embedded software
     development
Abstraction
  without
Runtime Cost
C considered
   unsafe
Program
Annotations
Static Checks
     and
Verification
Product Lines
    and
Requirement
   Traces
Separate, hard to
 integrate Tools
mbeddr C
 Solution
Philosophy
Extension
Extension




   more specialized domains
 more specialized languages
Extension
Extension




   more specialized domains
 more specialized languages
Extension
Extension




   more specialized domains
 more specialized languages
Extension
Extension




   more specialized domains
 more specialized languages
Incremental Trafo
Incremental Trafo
Incremental Trafo
Incremental Trafo
Language Extension
Language Extension
Language Extension
DEMO
Status
    and
Availability
http://mbeddr.co
        m
Developed within




   LWES
   Language Workbenches
    for
          Embedded Systems




                        gefördert durch das BMBF
                       Förderkennzeichen 01|S11014
Open Source
   (EPL)
support for
graphical 2013
integration
   in 2013
First
Commercial
  Project
2 Developers, 4 months
  existing source code
  30.000 – 50.000 LOC
      Product Line
 Certification Required
Systematic
Study with
   BMW
The “Pacemaker”
   Challenge
An extensible version of the
 C programming language
 for Embedded Programming

     http://mbeddr.co
             m
                              C the Difference – C the Future

gefördert durch das BMBF
Förderkennzeichen 01|S11014
Some of this material is
based on this book:

http://dslbook.org
available Feb 2013




                           www.dslbook.org

Más contenido relacionado

La actualidad más candente

Session 3 - Object oriented programming with Objective-C (part 1)
Session 3 - Object oriented programming with Objective-C (part 1)Session 3 - Object oriented programming with Objective-C (part 1)
Session 3 - Object oriented programming with Objective-C (part 1)Vu Tran Lam
 
C# Summer course - Lecture 2
C# Summer course - Lecture 2C# Summer course - Lecture 2
C# Summer course - Lecture 2mohamedsamyali
 
C++ Programming Course
C++ Programming CourseC++ Programming Course
C++ Programming CourseDennis Chang
 
OOP in C++
OOP in C++OOP in C++
OOP in C++ppd1961
 
2011 10-24-initiatives-tracker-launch-v1.0
2011 10-24-initiatives-tracker-launch-v1.02011 10-24-initiatives-tracker-launch-v1.0
2011 10-24-initiatives-tracker-launch-v1.0tommyoneill
 
A fresh look at graphical editing
A fresh look at graphical editingA fresh look at graphical editing
A fresh look at graphical editingDr. Jan Köhnlein
 
An Introduction To C++Templates
An Introduction To C++TemplatesAn Introduction To C++Templates
An Introduction To C++TemplatesGanesh Samarthyam
 
Object oriented programming c++
Object oriented programming c++Object oriented programming c++
Object oriented programming c++Ankur Pandey
 
Decaf language specification
Decaf language specificationDecaf language specification
Decaf language specificationSami Said
 
Object Oriented Programming using C++ Part III
Object Oriented Programming using C++ Part IIIObject Oriented Programming using C++ Part III
Object Oriented Programming using C++ Part IIIAjit Nayak
 
Glimpses of C++0x
Glimpses of C++0xGlimpses of C++0x
Glimpses of C++0xppd1961
 
c# usage,applications and advantages
c# usage,applications and advantages c# usage,applications and advantages
c# usage,applications and advantages mohamed drahem
 
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkEclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkDave Steinberg
 

La actualidad más candente (20)

Chapter 2 c#
Chapter 2 c#Chapter 2 c#
Chapter 2 c#
 
Session 3 - Object oriented programming with Objective-C (part 1)
Session 3 - Object oriented programming with Objective-C (part 1)Session 3 - Object oriented programming with Objective-C (part 1)
Session 3 - Object oriented programming with Objective-C (part 1)
 
C# Summer course - Lecture 2
C# Summer course - Lecture 2C# Summer course - Lecture 2
C# Summer course - Lecture 2
 
Eugenia
EugeniaEugenia
Eugenia
 
C++ Programming Course
C++ Programming CourseC++ Programming Course
C++ Programming Course
 
OOP in C++
OOP in C++OOP in C++
OOP in C++
 
2011 10-24-initiatives-tracker-launch-v1.0
2011 10-24-initiatives-tracker-launch-v1.02011 10-24-initiatives-tracker-launch-v1.0
2011 10-24-initiatives-tracker-launch-v1.0
 
A fresh look at graphical editing
A fresh look at graphical editingA fresh look at graphical editing
A fresh look at graphical editing
 
Ppt of c++ vs c#
Ppt of c++ vs c#Ppt of c++ vs c#
Ppt of c++ vs c#
 
An Introduction To C++Templates
An Introduction To C++TemplatesAn Introduction To C++Templates
An Introduction To C++Templates
 
C#
C#C#
C#
 
Object oriented programming c++
Object oriented programming c++Object oriented programming c++
Object oriented programming c++
 
Decaf language specification
Decaf language specificationDecaf language specification
Decaf language specification
 
C++ Training
C++ TrainingC++ Training
C++ Training
 
Object Oriented Programming using C++ Part III
Object Oriented Programming using C++ Part IIIObject Oriented Programming using C++ Part III
Object Oriented Programming using C++ Part III
 
Glimpses of C++0x
Glimpses of C++0xGlimpses of C++0x
Glimpses of C++0x
 
c# usage,applications and advantages
c# usage,applications and advantages c# usage,applications and advantages
c# usage,applications and advantages
 
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkEclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
 
Ppt of c vs c#
Ppt of c vs c#Ppt of c vs c#
Ppt of c vs c#
 
LEARN C#
LEARN C#LEARN C#
LEARN C#
 

Destacado

Services and Models in a Large IT System
Services and Models in a Large IT SystemServices and Models in a Large IT System
Services and Models in a Large IT SystemCHOOSE
 
Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Jou...
Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Jou...Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Jou...
Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Jou...CHOOSE
 
Choose'10: Uwe Zdun - Compliance in service-oriented architectures: A model-d...
Choose'10: Uwe Zdun - Compliance in service-oriented architectures: A model-d...Choose'10: Uwe Zdun - Compliance in service-oriented architectures: A model-d...
Choose'10: Uwe Zdun - Compliance in service-oriented architectures: A model-d...CHOOSE
 
Choose'10: Stephane Ducasse - Powerful DSL engineering in Smalltalk
Choose'10: Stephane Ducasse - Powerful DSL engineering in SmalltalkChoose'10: Stephane Ducasse - Powerful DSL engineering in Smalltalk
Choose'10: Stephane Ducasse - Powerful DSL engineering in SmalltalkCHOOSE
 
Security patterns and model driven architecture
Security patterns and model driven architectureSecurity patterns and model driven architecture
Security patterns and model driven architecturebdemchak
 
CPI, Inflation for Belize, July 2014 (PowerPoint)
CPI, Inflation for Belize, July 2014 (PowerPoint)CPI, Inflation for Belize, July 2014 (PowerPoint)
CPI, Inflation for Belize, July 2014 (PowerPoint)Adele Ramos
 
Continuous Architecting of Stream-Based Systems
Continuous Architecting of Stream-Based SystemsContinuous Architecting of Stream-Based Systems
Continuous Architecting of Stream-Based SystemsCHOOSE
 
Agile tour 2011 ralph jocham - scrum primer
Agile tour 2011   ralph jocham - scrum primerAgile tour 2011   ralph jocham - scrum primer
Agile tour 2011 ralph jocham - scrum primerAgora Group
 
Ralph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trainsRalph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trainsAgora Group
 
Ralph Jocham The Risks Of Scrum
Ralph Jocham The Risks Of ScrumRalph Jocham The Risks Of Scrum
Ralph Jocham The Risks Of ScrumCHOOSE
 
Ralph Jocham The Risks Of Scrum Handout
Ralph Jocham The Risks Of Scrum HandoutRalph Jocham The Risks Of Scrum Handout
Ralph Jocham The Risks Of Scrum HandoutCHOOSE
 
Dissecting State-of-the-Art Android Malware Using Static and Dynamic Analysis
Dissecting State-of-the-Art Android Malware Using Static and Dynamic AnalysisDissecting State-of-the-Art Android Malware Using Static and Dynamic Analysis
Dissecting State-of-the-Art Android Malware Using Static and Dynamic AnalysisCHOOSE
 
Fármacos del Sistema Nervioso Autónomo
Fármacos del Sistema Nervioso AutónomoFármacos del Sistema Nervioso Autónomo
Fármacos del Sistema Nervioso AutónomoKathy M. Villalobos
 
SEO, Influencers, or Quality - What's Your Trump Card in Content Marketing?
SEO, Influencers, or Quality - What's Your Trump Card in Content Marketing?SEO, Influencers, or Quality - What's Your Trump Card in Content Marketing?
SEO, Influencers, or Quality - What's Your Trump Card in Content Marketing?Social Media Today
 
Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14CHOOSE
 
Communicating Your Design - UXSofia 2014
Communicating Your Design - UXSofia 2014Communicating Your Design - UXSofia 2014
Communicating Your Design - UXSofia 2014Kathryn Parkes
 
Getting Started With Apex REST Services
Getting Started With Apex REST ServicesGetting Started With Apex REST Services
Getting Started With Apex REST ServicesSalesforce Developers
 
Cart Abandonment Case Study DEMCO Silverpop Adobe
Cart Abandonment Case Study DEMCO Silverpop AdobeCart Abandonment Case Study DEMCO Silverpop Adobe
Cart Abandonment Case Study DEMCO Silverpop AdobeSilverpop
 
Agentes atmosfericos del planeta
Agentes atmosfericos del planeta Agentes atmosfericos del planeta
Agentes atmosfericos del planeta Neida Salazar Perez
 

Destacado (20)

Services and Models in a Large IT System
Services and Models in a Large IT SystemServices and Models in a Large IT System
Services and Models in a Large IT System
 
Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Jou...
Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Jou...Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Jou...
Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Jou...
 
Choose'10: Uwe Zdun - Compliance in service-oriented architectures: A model-d...
Choose'10: Uwe Zdun - Compliance in service-oriented architectures: A model-d...Choose'10: Uwe Zdun - Compliance in service-oriented architectures: A model-d...
Choose'10: Uwe Zdun - Compliance in service-oriented architectures: A model-d...
 
Choose'10: Stephane Ducasse - Powerful DSL engineering in Smalltalk
Choose'10: Stephane Ducasse - Powerful DSL engineering in SmalltalkChoose'10: Stephane Ducasse - Powerful DSL engineering in Smalltalk
Choose'10: Stephane Ducasse - Powerful DSL engineering in Smalltalk
 
Security patterns and model driven architecture
Security patterns and model driven architectureSecurity patterns and model driven architecture
Security patterns and model driven architecture
 
CPI, Inflation for Belize, July 2014 (PowerPoint)
CPI, Inflation for Belize, July 2014 (PowerPoint)CPI, Inflation for Belize, July 2014 (PowerPoint)
CPI, Inflation for Belize, July 2014 (PowerPoint)
 
Continuous Architecting of Stream-Based Systems
Continuous Architecting of Stream-Based SystemsContinuous Architecting of Stream-Based Systems
Continuous Architecting of Stream-Based Systems
 
Agile tour 2011 ralph jocham - scrum primer
Agile tour 2011   ralph jocham - scrum primerAgile tour 2011   ralph jocham - scrum primer
Agile tour 2011 ralph jocham - scrum primer
 
Ralph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trainsRalph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trains
 
Ralph Jocham The Risks Of Scrum
Ralph Jocham The Risks Of ScrumRalph Jocham The Risks Of Scrum
Ralph Jocham The Risks Of Scrum
 
Ralph Jocham The Risks Of Scrum Handout
Ralph Jocham The Risks Of Scrum HandoutRalph Jocham The Risks Of Scrum Handout
Ralph Jocham The Risks Of Scrum Handout
 
Dissecting State-of-the-Art Android Malware Using Static and Dynamic Analysis
Dissecting State-of-the-Art Android Malware Using Static and Dynamic AnalysisDissecting State-of-the-Art Android Malware Using Static and Dynamic Analysis
Dissecting State-of-the-Art Android Malware Using Static and Dynamic Analysis
 
Sexology ytt
Sexology yttSexology ytt
Sexology ytt
 
Fármacos del Sistema Nervioso Autónomo
Fármacos del Sistema Nervioso AutónomoFármacos del Sistema Nervioso Autónomo
Fármacos del Sistema Nervioso Autónomo
 
SEO, Influencers, or Quality - What's Your Trump Card in Content Marketing?
SEO, Influencers, or Quality - What's Your Trump Card in Content Marketing?SEO, Influencers, or Quality - What's Your Trump Card in Content Marketing?
SEO, Influencers, or Quality - What's Your Trump Card in Content Marketing?
 
Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14
 
Communicating Your Design - UXSofia 2014
Communicating Your Design - UXSofia 2014Communicating Your Design - UXSofia 2014
Communicating Your Design - UXSofia 2014
 
Getting Started With Apex REST Services
Getting Started With Apex REST ServicesGetting Started With Apex REST Services
Getting Started With Apex REST Services
 
Cart Abandonment Case Study DEMCO Silverpop Adobe
Cart Abandonment Case Study DEMCO Silverpop AdobeCart Abandonment Case Study DEMCO Silverpop Adobe
Cart Abandonment Case Study DEMCO Silverpop Adobe
 
Agentes atmosfericos del planeta
Agentes atmosfericos del planeta Agentes atmosfericos del planeta
Agentes atmosfericos del planeta
 

Similar a Modelling and Programming: Isn’t it all the same?

Envisioning the Future of Language Workbenches
Envisioning the Future of Language WorkbenchesEnvisioning the Future of Language Workbenches
Envisioning the Future of Language WorkbenchesMarkus Voelter
 
Build your own Language - Why and How?
Build your own Language - Why and How?Build your own Language - Why and How?
Build your own Language - Why and How?Markus Voelter
 
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
Top Object-Oriented Programming Languages To Follow In December 2022.pdfTop Object-Oriented Programming Languages To Follow In December 2022.pdf
Top Object-Oriented Programming Languages To Follow In December 2022.pdfJamesEddie2
 
Procedural Programming Of Programming Languages
Procedural Programming Of Programming LanguagesProcedural Programming Of Programming Languages
Procedural Programming Of Programming LanguagesTammy Moncrief
 
Object oriented slides
Object oriented slidesObject oriented slides
Object oriented slidesahad nadeem
 
CASE tools and their effects on software quality
CASE tools and their effects on software qualityCASE tools and their effects on software quality
CASE tools and their effects on software qualityUtkarsh Agarwal
 
A Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpA Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpRikki Wright
 
Evolution Of Object Oriented Technology
Evolution Of Object Oriented TechnologyEvolution Of Object Oriented Technology
Evolution Of Object Oriented TechnologySharon Roberts
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling WorldsIstvan Rath
 
The Concept Of Abstract Data Types
The Concept Of Abstract Data TypesThe Concept Of Abstract Data Types
The Concept Of Abstract Data TypesKaty Allen
 
Fusing Modeling and Programming into Language-Oriented Programming
Fusing Modeling and Programming into Language-Oriented ProgrammingFusing Modeling and Programming into Language-Oriented Programming
Fusing Modeling and Programming into Language-Oriented ProgrammingMarkus Voelter
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart softwareJordi Cabot
 
Introduction to flutter's basic concepts
Introduction to flutter's basic conceptsIntroduction to flutter's basic concepts
Introduction to flutter's basic conceptsKumaresh Chandra Baruri
 

Similar a Modelling and Programming: Isn’t it all the same? (20)

Envisioning the Future of Language Workbenches
Envisioning the Future of Language WorkbenchesEnvisioning the Future of Language Workbenches
Envisioning the Future of Language Workbenches
 
Build your own Language - Why and How?
Build your own Language - Why and How?Build your own Language - Why and How?
Build your own Language - Why and How?
 
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
Top Object-Oriented Programming Languages To Follow In December 2022.pdfTop Object-Oriented Programming Languages To Follow In December 2022.pdf
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
 
Procedural Programming Of Programming Languages
Procedural Programming Of Programming LanguagesProcedural Programming Of Programming Languages
Procedural Programming Of Programming Languages
 
Object oriented slides
Object oriented slidesObject oriented slides
Object oriented slides
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
 
CASE tools and their effects on software quality
CASE tools and their effects on software qualityCASE tools and their effects on software quality
CASE tools and their effects on software quality
 
OOP Java
OOP JavaOOP Java
OOP Java
 
A Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpA Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And Rlbp
 
Programming
ProgrammingProgramming
Programming
 
Evolution Of Object Oriented Technology
Evolution Of Object Oriented TechnologyEvolution Of Object Oriented Technology
Evolution Of Object Oriented Technology
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
 
Intro1
Intro1Intro1
Intro1
 
The Concept Of Abstract Data Types
The Concept Of Abstract Data TypesThe Concept Of Abstract Data Types
The Concept Of Abstract Data Types
 
Fusing Modeling and Programming into Language-Oriented Programming
Fusing Modeling and Programming into Language-Oriented ProgrammingFusing Modeling and Programming into Language-Oriented Programming
Fusing Modeling and Programming into Language-Oriented Programming
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart software
 
Introduction to flutter's basic concepts
Introduction to flutter's basic conceptsIntroduction to flutter's basic concepts
Introduction to flutter's basic concepts
 
Shuzworld Analysis
Shuzworld AnalysisShuzworld Analysis
Shuzworld Analysis
 
Java
JavaJava
Java
 
Unit 1
Unit 1Unit 1
Unit 1
 

Modelling and Programming: Isn’t it all the same?