SlideShare a Scribd company logo
SIRIUS PROPERTIES VIEW
EXTENSIVE USE OF CUSTOM
PROPERTIES VIEWS IN BANKING DSL
WORKBENCH
PRESENTATION
i-BP & Obeo - Arthur Daussy
 Arthur Daussy <arthur.daussy@obeo.fr>
 Software Engineer @Obeo
 Worked at i-BP for 3.5 years
SUMMARY
Context
User perspective
Technical perspective
Conclusion
i-BP & Obeo - Arthur Daussy
HISTORY
i-BP & Obeo - Arthur Daussy
 Modelling of the Information System of the « Banque populaire » agencies and web site.
 With MDA, generates:
 Skeleton and data structure for back end
 90% of the front end (Dialog, State machine, etc.).
 The legacy tool was initiated in 2001 – 2002
 Project of this talk
 Migrating from « Rational Rose / UML 1.0 + Visual Basic Extensions » to « Sirius + DSL + Java»
VOLUMES
i-BP & Obeo - Arthur Daussy
 Before
 Size in byte: 1,1Go
 Numbers of components: > 1600
 Number of semantic elements: 1.5 M
 System too large for Rational Rose (memory limit) : Edited by chunk
 After
 Size in byte: 400 Mo
 Loading time improved : From 7 min to 20s
 Load entire system for coherence checks
A COMPLEX LANGUAGE
i-BP & Obeo - Arthur Daussy
 Epackages: 5
 EClassifiers: 373
 Complex inheritance hierarchy
 Some EClass has 20 super types with several diamond patterns
 Number of EAttributes: 342
 Numbers of EReferences: 405
 One EClass has 42 EStructural features
 An important number of business rules to handle:
 Specific scopes for each references
 Validation
 Creation in cascade
7i-BP & Obeo - Arthur Daussy
USER PERSPECTIVE
BASIC VIEW IS NOT USER FRIENDLY
i-BP & Obeo - Arthur Daussy
 Why Use Sirius Properties ? EMF provides this by default ...
 Obvious, right ? But that's not all…
Major risk of
User rejection
TACKLES THE RISK OF ERGONOMY AND PRODUCT ADOPTION
i-BP & Obeo - Arthur Daussy
 90% of User's interactions was through custom wizards
 However keep improving user experience: Wizard -> Property view.
Legacy
wizard
Expected
HOW TO DISPLAY NUMEROUS FEATURES
i-BP & Obeo - Arthur Daussy
 Filter feature
 Split by category
MAKE DYNAMIC
i-BP & Obeo - Arthur Daussy
 Changes of elements in model notifies user of revelant fields.
VALIDATION
i-BP & Obeo - Arthur Daussy
 Validation
 Custom validation rules in the VSM
 Use pure EMF validation: Create dynamic
SCOPING
i-BP & Obeo - Arthur Daussy
 Scoping rules
COLLABORATIVE WORKFLOW
i-BP & Obeo - Arthur Daussy
 100 Developers working in 1600 components in parallel
 Set up collaborative workflow: Mixed optimistic and pessimistic approach using « Git + EMF
Compare »
 Still need read-only elements. Simple with Sirius extension:
 org.eclipse.sirius.ecore.extender.PermissionProvider
HELP
i-BP & Obeo - Arthur Daussy
 Provide on topic integrated help for each feature using « Help expression »
16I-BP & Obeo - Arthur Daussy
SPECIFIER PERSPECTIVE
VERY FLEXIBLE
i-BP & Obeo - Arthur Daussy
 For quickly designed editor, Sirius wizard does an amazing job but…
 Legacy business rules complexity and ergonomy continuity required us to customize
everything…
 So we did…
 Easily provide custom widget using a well-documented extension point
 org.eclipse.eef.ide.ui.eefLifecycleManagerProvider
 Implements our own wizards for scoping and reference selection
 Implements our own tool for navigation (hyperlink style)
 And many more
ADAPTABLE
i-BP & Obeo - Arthur Daussy
 Editing Sirius properties have the same benefits as Editing Sirius representations
 Live reloading of properties/wizards when the VSM is changed
 Perfect for workshop with users
 Changing UI can even be performed during Sprint demo
 Perfect when working in really short sprints with a lot feedback from key users
 Continuity: Easy to update Sirius/Sirius properties even to major version
 Done one or two major Sirius/Sirius property update during the project at no cost
ARCHITECTURE YOUR SOLUTION GLOBALLY THEN FOCUS ON DETAIL
i-BP & Obeo - Arthur Daussy
 Create custom generic service for each identified feature:
 One service for navigation
 aql:self.navigate() => Display the result in our custom « model explorer view »
 One service for validation
 aql:self.validate() => Run default EMF Validation framework
 One service for reference selection/scope
 aql:self.getCandidatesTree(‘referenceName’) => Displays candidates using a Tree
 aql:self.getCandidatesList(‘referenceName’) => Display candidates using a List
 One service for label
 Aql:self.getFeatureLabel(‘featureName’) => Return the label to use for this reference
 Aql:self.getObjectLabel () => Return the label of the object
 One service for modification
 aql:self.put(‘featureName’, value)
 …
TEST EVERYTHING
i-BP & Obeo - Arthur Daussy
 Use java service => Easy to test
 To speed up your test writing look at BOEM
 Test services call
 Creation of a custom tool to test service call in the VSM
 Ex: aql:self.getFeatureLabel(‘featureName’)
 We know what self is so we can check if featureName is a valid feature
(Based on some work done on UML Designer)
 Test coverage
 Currently more than 7000 tests for the VSM and services
BENEFITS: TESTABLE
i-BP & Obeo - Arthur Daussy
Testabable
VSM ARCHITECTURE
i-BP & Obeo - Arthur Daussy
 Big and unstable language=> Need a tool to initiate and update the VSM
 Simple it is just an EMF Model
 First part : Definition
 Generate a group of each Eclass and an widget for each feature using our custom services
 Second part : Implementation
 Generate a page and a group of each non-abstract Eclass
 For all features (even inherited) create a widget that extends the widget from the definition part
VSM ARCHITECTURE
i-BP & Obeo - Arthur Daussy
 Customization for leaf elements in the « implementation » part
 Hide, Conditional display, Conditional style
 Customization for all elements are done in the « definition part »
 Benefits
 Order: Each feature is classified by its owning EClass
 Use efficiently inheritance mechanisms
 Drawbacks
 Big VSM ( but in our use case Sirius scaled very well)
i-BP & Obeo - Arthur Daussy
EXPERIMENTED DRAWBACKS
i-BP & Obeo - Arthur Daussy
 VSM does not use ids…
 Make it really hard to work in parallel (with Git + EMF Compare)
 Adding dynamically widgets is quite difficult at the moment
 https://bugs.eclipse.org/bugs/show_bug.cgi?id=506988
 Could not find some precious API in the VSM when creating custom tools
 getContextType when writing non-regression tests
CONCLUSION
i-BP & Obeo - Arthur Daussy
 Sirius properties
 are very, very flexible
 scale at will
 Can be used even without Sirius (see EEF project)
 Implementation of the modeler and properties took less than 10% of the time.
Most effort was spent on:
 Handling legacy
 Implementing a proper collaborative tooling
FEEL FREE TO ASK ME ANY QUESTION
THANK YOU FOR YOUR ATTENTION

More Related Content

PDF
[SiriusCon 2018] Sirius Roadmap
Obeo
 
PDF
[SiriusCon 2018] Closing session - Live Community Survey
Obeo
 
PDF
[SiriusCon 2018] A Bird's Eye View on Eclipse Sirius
Obeo
 
PDF
The state of Sirius, where we are and where we are going
Obeo
 
PDF
[SiriusCon 2018] AdvoCATE: An Assurance Case Automation Toolset Based on Ecli...
Obeo
 
ODP
[SiriusCon 2018] Your models and diagrams published on a web server with Obeo...
Obeo
 
PDF
EclipseCon Fr 2018 - Modeling tools go up to the cloud…
melbats
 
PDF
[Siriuscon2018] Integrating Sirius, Xtext and EMF Compare to Design Simulato...
Obeo
 
[SiriusCon 2018] Sirius Roadmap
Obeo
 
[SiriusCon 2018] Closing session - Live Community Survey
Obeo
 
[SiriusCon 2018] A Bird's Eye View on Eclipse Sirius
Obeo
 
The state of Sirius, where we are and where we are going
Obeo
 
[SiriusCon 2018] AdvoCATE: An Assurance Case Automation Toolset Based on Ecli...
Obeo
 
[SiriusCon 2018] Your models and diagrams published on a web server with Obeo...
Obeo
 
EclipseCon Fr 2018 - Modeling tools go up to the cloud…
melbats
 
[Siriuscon2018] Integrating Sirius, Xtext and EMF Compare to Design Simulato...
Obeo
 

What's hot (20)

PDF
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Obeo
 
PDF
[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...
Obeo
 
PDF
Civil 3 d 2011 tutorials
ocramr0111
 
PDF
SiriusCon 2017 - 5 years of modelisation, from a prototype to an industrial g...
Obeo
 
PDF
SiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
melbats
 
PDF
[SiriusCon 2018] Eclipse Sirius applied to a RAD Tool in Japan
Obeo
 
PDF
Supercharge Your Sirius Web Apps!
Obeo
 
PDF
Salesforce Solution For Software Industry
kdwangxi
 
PPTX
SiriusCon 2017 - Sirius Tutorial Demo
Obeo
 
PPTX
Keynote: A Roadmap for Domain-Specific Low-Code Platforms
Obeo
 
PDF
RapidClipse - Visual Low-Code IDE from Eclipse
Markus Kett
 
PDF
[SriusCon 2020] Sirius to the Web with Obeo Cloud Platform
Obeo
 
PDF
“Productizing Complex Visual AI Systems for Autonomous Flight,” a Presentatio...
Edge AI and Vision Alliance
 
PDF
SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model
Obeo
 
PDF
Cloud process automation for cost optimization security and compliance
Arthur Schmunk
 
PDF
SiriusCon2016 - ASML's MDE Going Sirius
Obeo
 
PDF
Forge - DevCon 2016: The Future of Making Buildings Forms Follow Formulae
Autodesk
 
PPTX
Reply Webinar Online - Mastering AWS - AI as a Service
Andrea Mercanti
 
PPTX
An introduction to papyrus
Charles Rivet
 
PPTX
AWS Summit Berlin 2018 - Love is in the Cloud - MassMigration to AWS
Andrea Mercanti
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Obeo
 
[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...
Obeo
 
Civil 3 d 2011 tutorials
ocramr0111
 
SiriusCon 2017 - 5 years of modelisation, from a prototype to an industrial g...
Obeo
 
SiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
melbats
 
[SiriusCon 2018] Eclipse Sirius applied to a RAD Tool in Japan
Obeo
 
Supercharge Your Sirius Web Apps!
Obeo
 
Salesforce Solution For Software Industry
kdwangxi
 
SiriusCon 2017 - Sirius Tutorial Demo
Obeo
 
Keynote: A Roadmap for Domain-Specific Low-Code Platforms
Obeo
 
RapidClipse - Visual Low-Code IDE from Eclipse
Markus Kett
 
[SriusCon 2020] Sirius to the Web with Obeo Cloud Platform
Obeo
 
“Productizing Complex Visual AI Systems for Autonomous Flight,” a Presentatio...
Edge AI and Vision Alliance
 
SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model
Obeo
 
Cloud process automation for cost optimization security and compliance
Arthur Schmunk
 
SiriusCon2016 - ASML's MDE Going Sirius
Obeo
 
Forge - DevCon 2016: The Future of Making Buildings Forms Follow Formulae
Autodesk
 
Reply Webinar Online - Mastering AWS - AI as a Service
Andrea Mercanti
 
An introduction to papyrus
Charles Rivet
 
AWS Summit Berlin 2018 - Love is in the Cloud - MassMigration to AWS
Andrea Mercanti
 
Ad

Similar to [SiriusCon 2018] Extensive Use of Custom Properties Views in a Banking DSL Workbench (20)

PPTX
EMF-IncQuery: Blazing-fast reaction time even for very large diagrams (Sirius...
Ákos Horváth
 
PPTX
Model visualization made easy: Incremental query-driven views in modeling tools
Ákos Horváth
 
PPTX
FOSDEM2016 - Ruby and OMR
Charlie Gracie
 
PDF
Open travel 2-0_introduction_jan_2014_slideshare
OpenTravel Alliance
 
PPTX
High-performance model queries
Istvan Rath
 
DOC
Srs(Modified)
smjagadish
 
PDF
You need to extend your models? EMF Facet vs. EMF Profiles
Philip Langer
 
PDF
EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium
Hugo Bruneliere
 
PPTX
Incremental Queries and Transformations for Engineering Critical Systems
Ákos Horváth
 
PPT
EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid...
Dave Steinberg
 
PDF
Stateful traits in Pharo
ESUG
 
PDF
Msr17a.ppt
Ptidej Team
 
PDF
Msr17a.ppt
Yann-Gaël Guéhéneuc
 
PDF
How to Make Robust and Scalable Modeling Workbenches with Sirius - EclipseCon...
mporhel
 
PDF
EclipseCon EU 2017 - Sirius
melbats
 
PPTX
IncQuery gets Sirius: faster and better diagrams
Ákos Horváth
 
PDF
Software Evolution With Uml And Xml Hongji Yang
jzhrzbeeh8979
 
PDF
Analyzing Changes in Software Systems From ChangeDistiller to FMDiff
Martin Pinzger
 
PDF
EclipseCon France 2016 - Sirius 4.0: Let me Sirius that for you!
melbats
 
PDF
Populating a Release History Database (ICSM 2013 MIP)
Martin Pinzger
 
EMF-IncQuery: Blazing-fast reaction time even for very large diagrams (Sirius...
Ákos Horváth
 
Model visualization made easy: Incremental query-driven views in modeling tools
Ákos Horváth
 
FOSDEM2016 - Ruby and OMR
Charlie Gracie
 
Open travel 2-0_introduction_jan_2014_slideshare
OpenTravel Alliance
 
High-performance model queries
Istvan Rath
 
Srs(Modified)
smjagadish
 
You need to extend your models? EMF Facet vs. EMF Profiles
Philip Langer
 
EMF Facet vs. EMF Profiles - EclipseCon North America 2012, Modeling Symposium
Hugo Bruneliere
 
Incremental Queries and Transformations for Engineering Critical Systems
Ákos Horváth
 
EclipseCon 2005: Everything You Always Wanted to do with EMF (But were Afraid...
Dave Steinberg
 
Stateful traits in Pharo
ESUG
 
Msr17a.ppt
Ptidej Team
 
How to Make Robust and Scalable Modeling Workbenches with Sirius - EclipseCon...
mporhel
 
EclipseCon EU 2017 - Sirius
melbats
 
IncQuery gets Sirius: faster and better diagrams
Ákos Horváth
 
Software Evolution With Uml And Xml Hongji Yang
jzhrzbeeh8979
 
Analyzing Changes in Software Systems From ChangeDistiller to FMDiff
Martin Pinzger
 
EclipseCon France 2016 - Sirius 4.0: Let me Sirius that for you!
melbats
 
Populating a Release History Database (ICSM 2013 MIP)
Martin Pinzger
 
Ad

More from Obeo (20)

PDF
Digitally assisted design for safety analysis
Obeo
 
PDF
INCOSE IS 2023 | You deserve more than the best in class MBSE tool
Obeo
 
PDF
Tailoring Arcadia Framework in Thales UK
Obeo
 
PDF
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
Obeo
 
PDF
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
Obeo
 
PDF
CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...
Obeo
 
PDF
CapellaDays2022 | Thales | Stairway to heaven: Climbing the very first steps
Obeo
 
PDF
CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...
Obeo
 
PDF
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
Obeo
 
PDF
CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...
Obeo
 
PDF
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
Obeo
 
PDF
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
Obeo
 
PDF
Gestion applicative des données, un REX du Ministère de l'Éducation Nationale
Obeo
 
PDF
Simulation with Python and MATLAB® in Capella
Obeo
 
PDF
From Model-based to Model and Simulation-based Systems Architectures
Obeo
 
PDF
Connecting Textual Requirements with Capella Models
Obeo
 
PDF
Sirius Web Advanced : Customize and Extend the Platform
Obeo
 
PDF
Sirius Web 101 : Create a Modeler With No Code
Obeo
 
PDF
Sirius Project, Now and In the Future
Obeo
 
PDF
Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...
Obeo
 
Digitally assisted design for safety analysis
Obeo
 
INCOSE IS 2023 | You deserve more than the best in class MBSE tool
Obeo
 
Tailoring Arcadia Framework in Thales UK
Obeo
 
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
Obeo
 
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
Obeo
 
CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...
Obeo
 
CapellaDays2022 | Thales | Stairway to heaven: Climbing the very first steps
Obeo
 
CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...
Obeo
 
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
Obeo
 
CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...
Obeo
 
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
Obeo
 
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
Obeo
 
Gestion applicative des données, un REX du Ministère de l'Éducation Nationale
Obeo
 
Simulation with Python and MATLAB® in Capella
Obeo
 
From Model-based to Model and Simulation-based Systems Architectures
Obeo
 
Connecting Textual Requirements with Capella Models
Obeo
 
Sirius Web Advanced : Customize and Extend the Platform
Obeo
 
Sirius Web 101 : Create a Modeler With No Code
Obeo
 
Sirius Project, Now and In the Future
Obeo
 
Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...
Obeo
 

Recently uploaded (20)

PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
Software Development Company | KodekX
KodekX
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
This slide provides an overview Technology
mineshkharadi333
 
PPTX
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PPTX
IoT Sensor Integration 2025 Powering Smart Tech and Industrial Automation.pptx
Rejig Digital
 
PPTX
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Software Development Methodologies in 2025
KodekX
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
Software Development Company | KodekX
KodekX
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
This slide provides an overview Technology
mineshkharadi333
 
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
IoT Sensor Integration 2025 Powering Smart Tech and Industrial Automation.pptx
Rejig Digital
 
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 

[SiriusCon 2018] Extensive Use of Custom Properties Views in a Banking DSL Workbench

  • 1. SIRIUS PROPERTIES VIEW EXTENSIVE USE OF CUSTOM PROPERTIES VIEWS IN BANKING DSL WORKBENCH
  • 2. PRESENTATION i-BP & Obeo - Arthur Daussy  Arthur Daussy <[email protected]>  Software Engineer @Obeo  Worked at i-BP for 3.5 years
  • 4. HISTORY i-BP & Obeo - Arthur Daussy  Modelling of the Information System of the « Banque populaire » agencies and web site.  With MDA, generates:  Skeleton and data structure for back end  90% of the front end (Dialog, State machine, etc.).  The legacy tool was initiated in 2001 – 2002  Project of this talk  Migrating from « Rational Rose / UML 1.0 + Visual Basic Extensions » to « Sirius + DSL + Java»
  • 5. VOLUMES i-BP & Obeo - Arthur Daussy  Before  Size in byte: 1,1Go  Numbers of components: > 1600  Number of semantic elements: 1.5 M  System too large for Rational Rose (memory limit) : Edited by chunk  After  Size in byte: 400 Mo  Loading time improved : From 7 min to 20s  Load entire system for coherence checks
  • 6. A COMPLEX LANGUAGE i-BP & Obeo - Arthur Daussy  Epackages: 5  EClassifiers: 373  Complex inheritance hierarchy  Some EClass has 20 super types with several diamond patterns  Number of EAttributes: 342  Numbers of EReferences: 405  One EClass has 42 EStructural features  An important number of business rules to handle:  Specific scopes for each references  Validation  Creation in cascade
  • 7. 7i-BP & Obeo - Arthur Daussy USER PERSPECTIVE
  • 8. BASIC VIEW IS NOT USER FRIENDLY i-BP & Obeo - Arthur Daussy  Why Use Sirius Properties ? EMF provides this by default ...  Obvious, right ? But that's not all… Major risk of User rejection
  • 9. TACKLES THE RISK OF ERGONOMY AND PRODUCT ADOPTION i-BP & Obeo - Arthur Daussy  90% of User's interactions was through custom wizards  However keep improving user experience: Wizard -> Property view. Legacy wizard Expected
  • 10. HOW TO DISPLAY NUMEROUS FEATURES i-BP & Obeo - Arthur Daussy  Filter feature  Split by category
  • 11. MAKE DYNAMIC i-BP & Obeo - Arthur Daussy  Changes of elements in model notifies user of revelant fields.
  • 12. VALIDATION i-BP & Obeo - Arthur Daussy  Validation  Custom validation rules in the VSM  Use pure EMF validation: Create dynamic
  • 13. SCOPING i-BP & Obeo - Arthur Daussy  Scoping rules
  • 14. COLLABORATIVE WORKFLOW i-BP & Obeo - Arthur Daussy  100 Developers working in 1600 components in parallel  Set up collaborative workflow: Mixed optimistic and pessimistic approach using « Git + EMF Compare »  Still need read-only elements. Simple with Sirius extension:  org.eclipse.sirius.ecore.extender.PermissionProvider
  • 15. HELP i-BP & Obeo - Arthur Daussy  Provide on topic integrated help for each feature using « Help expression »
  • 16. 16I-BP & Obeo - Arthur Daussy SPECIFIER PERSPECTIVE
  • 17. VERY FLEXIBLE i-BP & Obeo - Arthur Daussy  For quickly designed editor, Sirius wizard does an amazing job but…  Legacy business rules complexity and ergonomy continuity required us to customize everything…  So we did…  Easily provide custom widget using a well-documented extension point  org.eclipse.eef.ide.ui.eefLifecycleManagerProvider  Implements our own wizards for scoping and reference selection  Implements our own tool for navigation (hyperlink style)  And many more
  • 18. ADAPTABLE i-BP & Obeo - Arthur Daussy  Editing Sirius properties have the same benefits as Editing Sirius representations  Live reloading of properties/wizards when the VSM is changed  Perfect for workshop with users  Changing UI can even be performed during Sprint demo  Perfect when working in really short sprints with a lot feedback from key users  Continuity: Easy to update Sirius/Sirius properties even to major version  Done one or two major Sirius/Sirius property update during the project at no cost
  • 19. ARCHITECTURE YOUR SOLUTION GLOBALLY THEN FOCUS ON DETAIL i-BP & Obeo - Arthur Daussy  Create custom generic service for each identified feature:  One service for navigation  aql:self.navigate() => Display the result in our custom « model explorer view »  One service for validation  aql:self.validate() => Run default EMF Validation framework  One service for reference selection/scope  aql:self.getCandidatesTree(‘referenceName’) => Displays candidates using a Tree  aql:self.getCandidatesList(‘referenceName’) => Display candidates using a List  One service for label  Aql:self.getFeatureLabel(‘featureName’) => Return the label to use for this reference  Aql:self.getObjectLabel () => Return the label of the object  One service for modification  aql:self.put(‘featureName’, value)  …
  • 20. TEST EVERYTHING i-BP & Obeo - Arthur Daussy  Use java service => Easy to test  To speed up your test writing look at BOEM  Test services call  Creation of a custom tool to test service call in the VSM  Ex: aql:self.getFeatureLabel(‘featureName’)  We know what self is so we can check if featureName is a valid feature (Based on some work done on UML Designer)  Test coverage  Currently more than 7000 tests for the VSM and services
  • 21. BENEFITS: TESTABLE i-BP & Obeo - Arthur Daussy Testabable
  • 22. VSM ARCHITECTURE i-BP & Obeo - Arthur Daussy  Big and unstable language=> Need a tool to initiate and update the VSM  Simple it is just an EMF Model  First part : Definition  Generate a group of each Eclass and an widget for each feature using our custom services  Second part : Implementation  Generate a page and a group of each non-abstract Eclass  For all features (even inherited) create a widget that extends the widget from the definition part
  • 23. VSM ARCHITECTURE i-BP & Obeo - Arthur Daussy  Customization for leaf elements in the « implementation » part  Hide, Conditional display, Conditional style  Customization for all elements are done in the « definition part »  Benefits  Order: Each feature is classified by its owning EClass  Use efficiently inheritance mechanisms  Drawbacks  Big VSM ( but in our use case Sirius scaled very well)
  • 24. i-BP & Obeo - Arthur Daussy
  • 25. EXPERIMENTED DRAWBACKS i-BP & Obeo - Arthur Daussy  VSM does not use ids…  Make it really hard to work in parallel (with Git + EMF Compare)  Adding dynamically widgets is quite difficult at the moment  https://bugs.eclipse.org/bugs/show_bug.cgi?id=506988  Could not find some precious API in the VSM when creating custom tools  getContextType when writing non-regression tests
  • 26. CONCLUSION i-BP & Obeo - Arthur Daussy  Sirius properties  are very, very flexible  scale at will  Can be used even without Sirius (see EEF project)  Implementation of the modeler and properties took less than 10% of the time. Most effort was spent on:  Handling legacy  Implementing a proper collaborative tooling
  • 27. FEEL FREE TO ASK ME ANY QUESTION THANK YOU FOR YOUR ATTENTION