SlideShare a Scribd company logo
1 of 18
Download to read offline
ccmi.fit.cvut.cz
DynaCASE
software and business modeling platform
Peter Uhn´ak,
Jan Blizniˇcenko,
Robert Pergl
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 1 / 18
Motivation
DynaCASE
Dynamic Tool For Software And Business Modeling
Specialized modeling tools
Tailored for specific
notations and needs
User-friendlier
Limited extensibility
Meta-modeling tools
Versatile
Crude UI
Requires domain
experts
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 2 / 18
Project context
We want unified modeling platform for:
teaching
student projects
research
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 3 / 18
History
2009 – 2014 — OpenCABE on Eclipse EMF/GMF platform
after five years just one notation, dependent on a single programmer
2014 — experimental student project
TRY to rebuild OpenCABE in Pharo from scratch
two student programmers
two semesters
equivalent to two years of development in Eclipse
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 4 / 18
Key factors of success
Key factors of success:
dynamic features of Pharo
Roassal2 library
excellent community
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 5 / 18
Pharo
Enough of this story...
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 6 / 18
DynaCASE - Spec UI
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 7 / 18
MVC
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 8 / 18
Finite State Machines
Finite State Machines
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 9 / 18
FSM Simulator
For simulation we need
access to the view to visualize it
access to the model
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 10 / 18
FSM Simulator - View
Platform doesn’t care what you will do with view
this is special interface for moving element
here is Roassal element, do whatever you want
integrator decides what to do and how
this is sci-fi in Eclipse
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 11 / 18
FSM Simulator - Model
You control the behavior of the flow
string matching, code execution, . . .
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 12 / 18
BORM - Business Objects Relation Modeling
BORM — Business Objects Relation Modeling
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 13 / 18
BORM
DSL
live validation
semantic validation (WIP)
reporting (WIP)
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 14 / 18
OntoUML
OntoUML — Ontological Structural Modeling
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 15 / 18
Future
DynaCASE as a tool
DynaCASE as a platform
Pharo as a platform
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 16 / 18
Future
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 17 / 18
dynacase.github.io
@peteruhnak
Peter Uhn´ak <uhnakpet@fit.cvut.cz>
Jan Blizniˇcenko <bliznjan@fit.cvut.cz>
Robert Pergl <robert.pergl@fit.cvut.cz>
ccmi.fit.cvut.cz
Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 18 / 18

More Related Content

More from ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

More from ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Software and Business Modeling Platform DynaCASE

  • 1. ccmi.fit.cvut.cz DynaCASE software and business modeling platform Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 1 / 18
  • 2. Motivation DynaCASE Dynamic Tool For Software And Business Modeling Specialized modeling tools Tailored for specific notations and needs User-friendlier Limited extensibility Meta-modeling tools Versatile Crude UI Requires domain experts Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 2 / 18
  • 3. Project context We want unified modeling platform for: teaching student projects research Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 3 / 18
  • 4. History 2009 – 2014 — OpenCABE on Eclipse EMF/GMF platform after five years just one notation, dependent on a single programmer 2014 — experimental student project TRY to rebuild OpenCABE in Pharo from scratch two student programmers two semesters equivalent to two years of development in Eclipse Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 4 / 18
  • 5. Key factors of success Key factors of success: dynamic features of Pharo Roassal2 library excellent community Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 5 / 18
  • 6. Pharo Enough of this story... Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 6 / 18
  • 7. DynaCASE - Spec UI Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 7 / 18
  • 8. MVC Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 8 / 18
  • 9. Finite State Machines Finite State Machines Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 9 / 18
  • 10. FSM Simulator For simulation we need access to the view to visualize it access to the model Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 10 / 18
  • 11. FSM Simulator - View Platform doesn’t care what you will do with view this is special interface for moving element here is Roassal element, do whatever you want integrator decides what to do and how this is sci-fi in Eclipse Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 11 / 18
  • 12. FSM Simulator - Model You control the behavior of the flow string matching, code execution, . . . Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 12 / 18
  • 13. BORM - Business Objects Relation Modeling BORM — Business Objects Relation Modeling Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 13 / 18
  • 14. BORM DSL live validation semantic validation (WIP) reporting (WIP) Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 14 / 18
  • 15. OntoUML OntoUML — Ontological Structural Modeling Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 15 / 18
  • 16. Future DynaCASE as a tool DynaCASE as a platform Pharo as a platform Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 16 / 18
  • 17. Future Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 17 / 18
  • 18. dynacase.github.io @peteruhnak Peter Uhn´ak <uhnakpet@fit.cvut.cz> Jan Blizniˇcenko <bliznjan@fit.cvut.cz> Robert Pergl <robert.pergl@fit.cvut.cz> ccmi.fit.cvut.cz Peter Uhn´ak, Jan Blizniˇcenko, Robert Pergl DynaCASE 18 / 18