SlideShare a Scribd company logo
1 of 27
Download to read offline
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

What's hot

Civil 3 d 2011 tutorials
Civil 3 d 2011 tutorialsCivil 3 d 2011 tutorials
Civil 3 d 2011 tutorials
ocramr0111
 
“Productizing Complex Visual AI Systems for Autonomous Flight,” a Presentatio...
“Productizing Complex Visual AI Systems for Autonomous Flight,” a Presentatio...“Productizing Complex Visual AI Systems for Autonomous Flight,” a Presentatio...
“Productizing Complex Visual AI Systems for Autonomous Flight,” a Presentatio...
Edge AI and Vision Alliance
 
Cloud process automation for cost optimization security and compliance
Cloud process automation for cost optimization security and complianceCloud process automation for cost optimization security and compliance
Cloud process automation for cost optimization security and compliance
Arthur Schmunk
 
SiriusCon2016 - ASML's MDE Going Sirius
SiriusCon2016 - ASML's MDE Going SiriusSiriusCon2016 - ASML's MDE Going Sirius
SiriusCon2016 - ASML's MDE Going Sirius
Obeo
 

What's hot (20)

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

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

OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware
 
(ARC302) Running Lean Architectures: How to Optimize for Cost Efficiency | AW...
(ARC302) Running Lean Architectures: How to Optimize for Cost Efficiency | AW...(ARC302) Running Lean Architectures: How to Optimize for Cost Efficiency | AW...
(ARC302) Running Lean Architectures: How to Optimize for Cost Efficiency | AW...
Amazon Web Services
 

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

Taking Docker to Dance: Continuous Delivery on AWS
Taking Docker to Dance: Continuous Delivery on AWSTaking Docker to Dance: Continuous Delivery on AWS
Taking Docker to Dance: Continuous Delivery on AWS
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
Keynote: What’s new in Sirius?
Keynote: What’s new in Sirius?Keynote: What’s new in Sirius?
Keynote: What’s new in Sirius?
 
SiriusCon 2021 - Keynote
SiriusCon 2021 - KeynoteSiriusCon 2021 - Keynote
SiriusCon 2021 - Keynote
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
Fowa Miami 09 Cloud Computing Workshop
Fowa Miami 09 Cloud Computing WorkshopFowa Miami 09 Cloud Computing Workshop
Fowa Miami 09 Cloud Computing Workshop
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
 
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten ZiegelerNew and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
 
Cloud Management With System Center Application Controller ver1
Cloud Management With System Center Application Controller ver1Cloud Management With System Center Application Controller ver1
Cloud Management With System Center Application Controller ver1
 
Stating the obvious - All Day DevOps 2017
Stating the obvious  - All Day DevOps 2017Stating the obvious  - All Day DevOps 2017
Stating the obvious - All Day DevOps 2017
 
(ARC302) Running Lean Architectures: How to Optimize for Cost Efficiency | AW...
(ARC302) Running Lean Architectures: How to Optimize for Cost Efficiency | AW...(ARC302) Running Lean Architectures: How to Optimize for Cost Efficiency | AW...
(ARC302) Running Lean Architectures: How to Optimize for Cost Efficiency | AW...
 
Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...
 
Zero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesZero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with Kubernetes
 
Connecting Capella to IBM ELM platform (IBM Jazz)
Connecting Capella to IBM ELM platform (IBM Jazz)Connecting Capella to IBM ELM platform (IBM Jazz)
Connecting Capella to IBM ELM platform (IBM Jazz)
 
ZCM update VAI Brainforce
ZCM update VAI BrainforceZCM update VAI Brainforce
ZCM update VAI Brainforce
 
What's new in containers
What's new in containersWhat's new in containers
What's new in containers
 
Migrating Jive To The Cloud
Migrating Jive To The CloudMigrating Jive To The Cloud
Migrating Jive To The Cloud
 
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
 
[India Merge World Tour] Electric Cloud
[India Merge World Tour] Electric Cloud[India Merge World Tour] Electric Cloud
[India Merge World Tour] Electric Cloud
 

More from Obeo

Digitally assisted design for safety analysis
Digitally assisted design for safety analysisDigitally assisted design for safety analysis
Digitally assisted design for safety analysis
Obeo
 
INCOSE IS 2023 | You deserve more than the best in class MBSE tool
INCOSE IS 2023 | You deserve more than the best in class MBSE toolINCOSE IS 2023 | You deserve more than the best in class MBSE tool
INCOSE IS 2023 | You deserve more than the best in class MBSE tool
Obeo
 
Tailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKTailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UK
Obeo
 
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
Obeo
 
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
Obeo
 
Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models
Obeo
 

More from Obeo (20)

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

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

[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 <arthur.daussy@obeo.fr>  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