SlideShare a Scribd company logo
studioSLstudioSL
A Modular ApplicationA Modular Application
AlcunidirittiriservatiaChris-HåvardBerge
Some rights reserved Enrico Scantamburlo
Who Am I ?Who Am I ?
Enrico Scantambu
Java Developer @ Streamsim
Oracle Certified Master, Java SE 6 Developer
Sun Certified Specialist Netbeans
Sun Certified Web Component Developer
LPIC-1
….....
http://it.linkedin.com/in/enricoscantamburlo
● Currently Based on NetBeans 6.5, 6.9 coming out shortly
● Modular Application (we sells separated modules)
● Most of the interfaces are OpenSource
● 2D/3D Plots
● Import/export from multiple sources
“A graphical user interface to Pre/Post
process simulation models of oil, gas,
and water flow in the subsurface”
“All problems in computer science can be solved by
another level of indirection... Except for the problem
of too many layers of indirection.”
David Wheeler
PE Commons API 1/3PE Commons API 1/3
Problems:
● Support several simulators
● Information scattered in VERY big files ( > 20 Gb/Go)
● Same actions on all Simulations
● Some data may be missing
3DSL(R) ECLIPSE(R) OTHERS
PE Commons API
LOOKUP
2D/3D Projects Simulations
PE Commons API 2/3PE Commons API 2/3
PE Commons API 3/3PE Commons API 3/3
They read only what we need
They cache data using Java SoftReferences
They share data between simulations
They are replaced when the files change
We use “Providers”
TimeStepsDataProvider to provide the time information
WellDataProvider to provide the list of well
WellSequencesDataProvider to provider the sequences for each Well
WellTypeDataProvider to provider the type for each Well
StrucutredGridDataProvider to provider the grid Information
….
NBPlatform: A lifesaverNBPlatform: A lifesaver
We use almost every feature of NetBeans Platform (6.5)
● FileChangeListeners
● Branding
● Syntax Highlighting
● CodeCompletion
● ContextAwareAction
● Lookup
● Nodes
● TopComponents and Modes
● OutputWindows
● Update Center
● Exception Handling
● Schliemann
● Preferences
● Multiview
● XMLMultiView
● ExplorerManagers
● TreeTableView
● RequestProcessor
● Matisse
● Projects
● Ant
● Layer
● Option Windows
●….
3D View 1/23D View 1/2
3D View 2/23D View 2/2
Currently using Java3D 1.5.2 (sigh!)
Not very performing but easy to use and it does its job.
Unsupported (community managed program)
Java3D must be installed manually
An NBM for every platform (Windows/Linux 32/64bit)
Bundle the whole JRE
Also tested
● JOGL
● VTK
But too much work to replace it!
2D View 1/22D View 1/2
2D View 2/22D View 2/2
We use JClass to visualize 2D plots, it is 100% Swing,
fully integrated with Matisse and the pallette. It is a
commercial software.
Allows tons of customizations thru its own customizer
Some performance issues due to Java when you have
millions of points.
Test JFreeChart and JavaFX but same issues
The only solution was using JOGL.
ExportingExporting
studioSL
OpenOffice.org
Calc
OpenOffice.org
Impress PowerPoint
Excel
CSV
PNG, JPG, BMP
Deck BuilderDeck Builder
XML MultiviewXML Multiview
User FeedBackUser FeedBack
It is hard to get some good feedback from the users.
If the program crashes, has problems, too slow they get angry but
they do not tell you.
Using The NetBeans Platform we can catch every exception that
occurs during the program.
ImagefromReidRosenberg
The crash information is sent to
our Bug Tracker with all the logs
and the information to contact the
user.
There is also a “Submit a
suggestion” menu.
Future ImprovementsFuture Improvements
Remote Job LauncherRemote Job Launcher:
Allows to executes Files on Remote machines
(SSH Based, Linux Server Only).
Taken from the C++ support from NetBeans.
LinksLinks
Streamsim
http://www.streamsim.com/
PE Commons
http://www.javaforge.com/project/streamsim
studioSL article @ Dzone by Matteo di Giovinazzo
http://netbeans.dzone.com/nb-reservoir-engineering-studiosl
My article on Guarded Sections
http://netbeans.dzone.com/nb-guarded-sections
My Email
scanti.rulla@gmail.com
Q&AQ&A
Fin

More Related Content

Viewers also liked

LA Quantified Self Meetup (6/13) - Mood tracking with Senti.us by Erica Davis
LA Quantified Self Meetup (6/13) - Mood tracking with Senti.us by Erica DavisLA Quantified Self Meetup (6/13) - Mood tracking with Senti.us by Erica Davis
LA Quantified Self Meetup (6/13) - Mood tracking with Senti.us by Erica Davis
Eric Blue
 
сварка
сваркасварка
сваркаnovikova1
 
فقه حلف اليمين عرض تقديمي1
فقه حلف اليمين عرض تقديمي1فقه حلف اليمين عرض تقديمي1
فقه حلف اليمين عرض تقديمي1
fatmah school
 
Madariaga dorretxeko lana leiore eginda
Madariaga dorretxeko lana leiore egindaMadariaga dorretxeko lana leiore eginda
Madariaga dorretxeko lana leiore egindakontakatiluak6a17
 
Ponte Itaparica e o Sistema Viário
Ponte Itaparica e o Sistema ViárioPonte Itaparica e o Sistema Viário
Ponte Itaparica e o Sistema Viário
Romeu Temporal
 
Onu y Mercosur
Onu y MercosurOnu y Mercosur
Onu y Mercosur
Maria Andrea Segura R'
 
Valvular heart disease
Valvular heart diseaseValvular heart disease
Valvular heart diseasehamid-miyanaji
 
Semana 13 – administración de proyectos
Semana 13 – administración de proyectosSemana 13 – administración de proyectos
Semana 13 – administración de proyectosJosephgranja
 
Coleta seletiva consciente
Coleta seletiva conscienteColeta seletiva consciente
Coleta seletiva conscienteSuely Silva
 
Presentación conferencia agronegocios
Presentación conferencia agronegociosPresentación conferencia agronegocios
Presentación conferencia agronegociosfacs_ort
 
Intervencion psicologica-emergencias-menores
Intervencion psicologica-emergencias-menoresIntervencion psicologica-emergencias-menores
Intervencion psicologica-emergencias-menores
PSICOLOGOS MADRID. PSICOLOGOS PRINCESA 81
 
Ugalketa funtzinoko pasapalabra eginda leiorek eta lukenek
Ugalketa funtzinoko pasapalabra eginda leiorek eta lukenekUgalketa funtzinoko pasapalabra eginda leiorek eta lukenek
Ugalketa funtzinoko pasapalabra eginda leiorek eta lukenekkontakatiluak6a17
 
Software de gestión propio
Software de gestión propioSoftware de gestión propio
Software de gestión propio
Oskar Bañuelos
 

Viewers also liked (17)

LA Quantified Self Meetup (6/13) - Mood tracking with Senti.us by Erica Davis
LA Quantified Self Meetup (6/13) - Mood tracking with Senti.us by Erica DavisLA Quantified Self Meetup (6/13) - Mood tracking with Senti.us by Erica Davis
LA Quantified Self Meetup (6/13) - Mood tracking with Senti.us by Erica Davis
 
сварка
сваркасварка
сварка
 
3ºano B - 2012
3ºano B - 20123ºano B - 2012
3ºano B - 2012
 
فقه حلف اليمين عرض تقديمي1
فقه حلف اليمين عرض تقديمي1فقه حلف اليمين عرض تقديمي1
فقه حلف اليمين عرض تقديمي1
 
Madariaga dorretxeko lana leiore eginda
Madariaga dorretxeko lana leiore egindaMadariaga dorretxeko lana leiore eginda
Madariaga dorretxeko lana leiore eginda
 
Ponte Itaparica e o Sistema Viário
Ponte Itaparica e o Sistema ViárioPonte Itaparica e o Sistema Viário
Ponte Itaparica e o Sistema Viário
 
Iugalketa funtzinoa oier
Iugalketa funtzinoa oierIugalketa funtzinoa oier
Iugalketa funtzinoa oier
 
Onu y Mercosur
Onu y MercosurOnu y Mercosur
Onu y Mercosur
 
Valvular heart disease
Valvular heart diseaseValvular heart disease
Valvular heart disease
 
Semana 13 – administración de proyectos
Semana 13 – administración de proyectosSemana 13 – administración de proyectos
Semana 13 – administración de proyectos
 
Coleta seletiva consciente
Coleta seletiva conscienteColeta seletiva consciente
Coleta seletiva consciente
 
Presentación conferencia agronegocios
Presentación conferencia agronegociosPresentación conferencia agronegocios
Presentación conferencia agronegocios
 
Intervencion psicologica-emergencias-menores
Intervencion psicologica-emergencias-menoresIntervencion psicologica-emergencias-menores
Intervencion psicologica-emergencias-menores
 
Ugalketa funtzinoko pasapalabra eginda leiorek eta lukenek
Ugalketa funtzinoko pasapalabra eginda leiorek eta lukenekUgalketa funtzinoko pasapalabra eginda leiorek eta lukenek
Ugalketa funtzinoko pasapalabra eginda leiorek eta lukenek
 
Bardintasuna ibon
Bardintasuna ibonBardintasuna ibon
Bardintasuna ibon
 
Software de gestión propio
Software de gestión propioSoftware de gestión propio
Software de gestión propio
 
3ºano A - 2012
3ºano A - 20123ºano A - 2012
3ºano A - 2012
 

Similar to StudioSL Presentation in Grenoble 2011

Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
UA Mobile
 
Adopting Debug Adapter Protocol in Eclipse IDE: netcoredbg (.NET debugger) ca...
Adopting Debug Adapter Protocol in Eclipse IDE: netcoredbg (.NET debugger) ca...Adopting Debug Adapter Protocol in Eclipse IDE: netcoredbg (.NET debugger) ca...
Adopting Debug Adapter Protocol in Eclipse IDE: netcoredbg (.NET debugger) ca...
Mickael Istria
 
Profiling Android Applications
Profiling Android ApplicationsProfiling Android Applications
Profiling Android Applications
hubx
 
2015 - a static site generator odyssey
2015  - a static site generator odyssey2015  - a static site generator odyssey
2015 - a static site generator odyssey
Unic
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
Tejasvi Rastogi
 
Porting the Source Engine to Linux: Valve's Lessons Learned
Porting the Source Engine to Linux: Valve's Lessons LearnedPorting the Source Engine to Linux: Valve's Lessons Learned
Porting the Source Engine to Linux: Valve's Lessons Learned
basisspace
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux Heritage
Opersys inc.
 
Michal Havryluk: How To Speed Up Android Gradle Builds
Michal Havryluk: How To Speed Up Android Gradle BuildsMichal Havryluk: How To Speed Up Android Gradle Builds
Michal Havryluk: How To Speed Up Android Gradle Builds
mdevtalk
 
Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo Quickstart
NokiaAppForum
 
Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014Jérôme Petazzoni
 
Why kernelspace sucks?
Why kernelspace sucks?Why kernelspace sucks?
Why kernelspace sucks?OpenFest team
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
Manuel Carrasco Moñino
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011
Opersys inc.
 
Gatling Tool in Action at Devoxx 2012
Gatling Tool in Action at Devoxx 2012Gatling Tool in Action at Devoxx 2012
Gatling Tool in Action at Devoxx 2012slandelle
 
Why Gradle?
Why Gradle?Why Gradle?
Why Gradle?
Peter Ledbrook
 
Continuous integration for androids
Continuous integration for androidsContinuous integration for androids
Continuous integration for androidsKirill Zotin
 
Android Platform Debugging & Development
Android Platform Debugging & Development Android Platform Debugging & Development
Android Platform Debugging & Development
Qualcomm Developer Network
 
Joomla!Day Poland 2013 - Joomla Architecture (Ofer Cohen)
Joomla!Day Poland 2013 - Joomla Architecture  (Ofer Cohen)Joomla!Day Poland 2013 - Joomla Architecture  (Ofer Cohen)
Joomla!Day Poland 2013 - Joomla Architecture (Ofer Cohen)
Ofer Cohen
 
Newbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universeNewbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universe
Ofer Rosenberg
 

Similar to StudioSL Presentation in Grenoble 2011 (20)

Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
Критика "библиотечного" подхода в разработке под Android. UA Mobile 2016.
 
Adopting Debug Adapter Protocol in Eclipse IDE: netcoredbg (.NET debugger) ca...
Adopting Debug Adapter Protocol in Eclipse IDE: netcoredbg (.NET debugger) ca...Adopting Debug Adapter Protocol in Eclipse IDE: netcoredbg (.NET debugger) ca...
Adopting Debug Adapter Protocol in Eclipse IDE: netcoredbg (.NET debugger) ca...
 
Profiling Android Applications
Profiling Android ApplicationsProfiling Android Applications
Profiling Android Applications
 
Retour JavaOne 2009
Retour JavaOne 2009Retour JavaOne 2009
Retour JavaOne 2009
 
2015 - a static site generator odyssey
2015  - a static site generator odyssey2015  - a static site generator odyssey
2015 - a static site generator odyssey
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Porting the Source Engine to Linux: Valve's Lessons Learned
Porting the Source Engine to Linux: Valve's Lessons LearnedPorting the Source Engine to Linux: Valve's Lessons Learned
Porting the Source Engine to Linux: Valve's Lessons Learned
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux Heritage
 
Michal Havryluk: How To Speed Up Android Gradle Builds
Michal Havryluk: How To Speed Up Android Gradle BuildsMichal Havryluk: How To Speed Up Android Gradle Builds
Michal Havryluk: How To Speed Up Android Gradle Builds
 
Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo Quickstart
 
Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014
 
Why kernelspace sucks?
Why kernelspace sucks?Why kernelspace sucks?
Why kernelspace sucks?
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011
 
Gatling Tool in Action at Devoxx 2012
Gatling Tool in Action at Devoxx 2012Gatling Tool in Action at Devoxx 2012
Gatling Tool in Action at Devoxx 2012
 
Why Gradle?
Why Gradle?Why Gradle?
Why Gradle?
 
Continuous integration for androids
Continuous integration for androidsContinuous integration for androids
Continuous integration for androids
 
Android Platform Debugging & Development
Android Platform Debugging & Development Android Platform Debugging & Development
Android Platform Debugging & Development
 
Joomla!Day Poland 2013 - Joomla Architecture (Ofer Cohen)
Joomla!Day Poland 2013 - Joomla Architecture  (Ofer Cohen)Joomla!Day Poland 2013 - Joomla Architecture  (Ofer Cohen)
Joomla!Day Poland 2013 - Joomla Architecture (Ofer Cohen)
 
Newbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universeNewbie’s guide to_the_gpgpu_universe
Newbie’s guide to_the_gpgpu_universe
 

Recently uploaded

Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 

Recently uploaded (20)

Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 

StudioSL Presentation in Grenoble 2011

  • 1. studioSLstudioSL A Modular ApplicationA Modular Application AlcunidirittiriservatiaChris-HåvardBerge Some rights reserved Enrico Scantamburlo
  • 2. Who Am I ?Who Am I ? Enrico Scantambu Java Developer @ Streamsim Oracle Certified Master, Java SE 6 Developer Sun Certified Specialist Netbeans Sun Certified Web Component Developer LPIC-1 …..... http://it.linkedin.com/in/enricoscantamburlo
  • 3. ● Currently Based on NetBeans 6.5, 6.9 coming out shortly ● Modular Application (we sells separated modules) ● Most of the interfaces are OpenSource ● 2D/3D Plots ● Import/export from multiple sources “A graphical user interface to Pre/Post process simulation models of oil, gas, and water flow in the subsurface”
  • 4. “All problems in computer science can be solved by another level of indirection... Except for the problem of too many layers of indirection.” David Wheeler PE Commons API 1/3PE Commons API 1/3 Problems: ● Support several simulators ● Information scattered in VERY big files ( > 20 Gb/Go) ● Same actions on all Simulations ● Some data may be missing
  • 5. 3DSL(R) ECLIPSE(R) OTHERS PE Commons API LOOKUP 2D/3D Projects Simulations PE Commons API 2/3PE Commons API 2/3
  • 6. PE Commons API 3/3PE Commons API 3/3 They read only what we need They cache data using Java SoftReferences They share data between simulations They are replaced when the files change We use “Providers” TimeStepsDataProvider to provide the time information WellDataProvider to provide the list of well WellSequencesDataProvider to provider the sequences for each Well WellTypeDataProvider to provider the type for each Well StrucutredGridDataProvider to provider the grid Information ….
  • 7. NBPlatform: A lifesaverNBPlatform: A lifesaver We use almost every feature of NetBeans Platform (6.5) ● FileChangeListeners ● Branding ● Syntax Highlighting ● CodeCompletion ● ContextAwareAction ● Lookup ● Nodes ● TopComponents and Modes ● OutputWindows ● Update Center ● Exception Handling ● Schliemann ● Preferences ● Multiview ● XMLMultiView ● ExplorerManagers ● TreeTableView ● RequestProcessor ● Matisse ● Projects ● Ant ● Layer ● Option Windows ●….
  • 8. 3D View 1/23D View 1/2
  • 9. 3D View 2/23D View 2/2 Currently using Java3D 1.5.2 (sigh!) Not very performing but easy to use and it does its job. Unsupported (community managed program) Java3D must be installed manually An NBM for every platform (Windows/Linux 32/64bit) Bundle the whole JRE Also tested ● JOGL ● VTK But too much work to replace it!
  • 10. 2D View 1/22D View 1/2
  • 11. 2D View 2/22D View 2/2 We use JClass to visualize 2D plots, it is 100% Swing, fully integrated with Matisse and the pallette. It is a commercial software. Allows tons of customizations thru its own customizer Some performance issues due to Java when you have millions of points. Test JFreeChart and JavaFX but same issues The only solution was using JOGL.
  • 15. User FeedBackUser FeedBack It is hard to get some good feedback from the users. If the program crashes, has problems, too slow they get angry but they do not tell you. Using The NetBeans Platform we can catch every exception that occurs during the program. ImagefromReidRosenberg The crash information is sent to our Bug Tracker with all the logs and the information to contact the user. There is also a “Submit a suggestion” menu.
  • 16. Future ImprovementsFuture Improvements Remote Job LauncherRemote Job Launcher: Allows to executes Files on Remote machines (SSH Based, Linux Server Only). Taken from the C++ support from NetBeans.
  • 17. LinksLinks Streamsim http://www.streamsim.com/ PE Commons http://www.javaforge.com/project/streamsim studioSL article @ Dzone by Matteo di Giovinazzo http://netbeans.dzone.com/nb-reservoir-engineering-studiosl My article on Guarded Sections http://netbeans.dzone.com/nb-guarded-sections My Email scanti.rulla@gmail.com
  • 19. Fin

Editor's Notes

  1. Tell something about Streamsim Where is located How we works
  2. Problems updating software We have to go to the clients and install it (Modular) NetBeans makes this easy PECommons later Java3D Jclass OFFICE, OPENOFFICE, PNG
  3. We are paid to do that, companies have their simulator (usually written in Fortran) they want some support Data is in server and must be trasmitted on network drives We do not want to write an action for every simulation Data is redundatly written in files
  4. We extract data from the lookup Completely DATA independent
  5. User can be on network driver VERY Slow Linux 50x Windows Java Reference naive methods, there are better choices Several simulation with same data or we merge two simulation We have a lookup event
  6. Only in java7 we have FileChangeListeners OutputWindow “Del porco non si butta via niente” Not the pallette And there are more in 7.0 Like annotations
  7. JOGL does not handle the scene VTK used for medical images
  8. Give explanation of Scattergram must create millions of Point.Double to plot
  9. Tell about Schliemann
  10. Talk about Schema2Beans and XAML Ask geertjan about schema2Beans page