The document introduces Mogwaï, a framework for efficiently querying large models stored in graph databases. It generates queries in Gremlin, a graph traversal language, from queries written in OCL. This allows complex queries to be executed directly on the database without loading the entire model into memory. The framework maps OCL expressions to Gremlin steps and merges the steps into a traversal. Benchmarks show Mogwaï can execute queries up to 20 times faster and use up to 75 times less memory compared to other approaches. Future work includes integrating Mogwaï into modeling tools and supporting additional databases.
PrefetchML: a Framework for Prefetching and Caching ModelsGwendal Daniel
PrefetchML Presentation at MoDELS'16. Related article available online at https://hal.archives-ouvertes.fr/hal-01362149/document
Related post on modeling-languages.com: http://modeling-languages.com/prefetchml-dsl-prefetching-caching-emf-models/
UMLtoGraphDB: Mapping Conceptual Schemas to Graph DatabasesGwendal Daniel
UMLtoGraphDB presentation at ER2016. Related article available online at https://hal.archives-ouvertes.fr/hal-01344015/document
Related post on modeling-languages.com: http://modeling-languages.com/uml-to-nosql-graph-database/
Automated Equation Processing and Rendering Workflows for PublishersSanders Kleinfeld
Typesetting mathematical equations for print/digital outputs is currently a serious pain point for many publishers. Two common workflow solutions are to either:
1. Use a specialized typesetting tool with rich mathematical rendering support (e.g., LaTeX)
2. Convert all equations to images for use in traditional desktop publishing tools (e.g., InDesign)
However, there are key downsides to both these approaches. For publishers that don’t focus exclusively on math and science titles, spinning up a LaTeX-based production program may require too much overhead in time/resources to justify the investment. And converting equations to images is not ideal either, as it decreases ease of maintainability and poses challenges for digital outputs in terms of both scalability for different form factors and accessibility for visually impaired readers.
As a tech publisher that produces many titles a year with mathematical content, O’Reilly Media was unsatisfied with the compromises entailed by the above workflow choices, and developed an alternative solution: a mathematics API called “STIX” that slots into its XML/
HTML-based single-source workflow.
Automated Equation Breaking: Making Equations ResponsiveAhmed Hindawi
MathML provides a standard way to markup mathematical equations using XML and is currently widely used in the scholarly publishing industry. MathML 3.0 provides some basic automatic line breaking functionality and allows the insertion of different breaking and alignment points to break up a long mathematical formula into several lines to suit a particular text or screen width. However, this is not only tedious, time consuming, and subject to human error, but it essentially provides only a single way to break a particular formula to suit a predetermined text or screen width. In order to address the limitations of manually inserted breaking and alignment points in MathML equations, we developed an automatic equation breaker that breaks the same mathematical formula in different ways to suit a range of text or screen widths. We have also developed a tool that uses this automatic equation breaker to make mathematical equations as responsive as other native HTML elements on a truly responsive website.
PrefetchML: a Framework for Prefetching and Caching ModelsGwendal Daniel
PrefetchML Presentation at MoDELS'16. Related article available online at https://hal.archives-ouvertes.fr/hal-01362149/document
Related post on modeling-languages.com: http://modeling-languages.com/prefetchml-dsl-prefetching-caching-emf-models/
UMLtoGraphDB: Mapping Conceptual Schemas to Graph DatabasesGwendal Daniel
UMLtoGraphDB presentation at ER2016. Related article available online at https://hal.archives-ouvertes.fr/hal-01344015/document
Related post on modeling-languages.com: http://modeling-languages.com/uml-to-nosql-graph-database/
Automated Equation Processing and Rendering Workflows for PublishersSanders Kleinfeld
Typesetting mathematical equations for print/digital outputs is currently a serious pain point for many publishers. Two common workflow solutions are to either:
1. Use a specialized typesetting tool with rich mathematical rendering support (e.g., LaTeX)
2. Convert all equations to images for use in traditional desktop publishing tools (e.g., InDesign)
However, there are key downsides to both these approaches. For publishers that don’t focus exclusively on math and science titles, spinning up a LaTeX-based production program may require too much overhead in time/resources to justify the investment. And converting equations to images is not ideal either, as it decreases ease of maintainability and poses challenges for digital outputs in terms of both scalability for different form factors and accessibility for visually impaired readers.
As a tech publisher that produces many titles a year with mathematical content, O’Reilly Media was unsatisfied with the compromises entailed by the above workflow choices, and developed an alternative solution: a mathematics API called “STIX” that slots into its XML/
HTML-based single-source workflow.
Automated Equation Breaking: Making Equations ResponsiveAhmed Hindawi
MathML provides a standard way to markup mathematical equations using XML and is currently widely used in the scholarly publishing industry. MathML 3.0 provides some basic automatic line breaking functionality and allows the insertion of different breaking and alignment points to break up a long mathematical formula into several lines to suit a particular text or screen width. However, this is not only tedious, time consuming, and subject to human error, but it essentially provides only a single way to break a particular formula to suit a predetermined text or screen width. In order to address the limitations of manually inserted breaking and alignment points in MathML equations, we developed an automatic equation breaker that breaks the same mathematical formula in different ways to suit a range of text or screen widths. We have also developed a tool that uses this automatic equation breaker to make mathematical equations as responsive as other native HTML elements on a truly responsive website.
PrefetchML: a Framework for Prefetching and Caching modelsJordi Cabot
Speed up the access and queries on large models thanks to our language (and execution environment) to define access plans for specific scenarios.
This talk was awarded the best paper award at the Models 2016 conference
Read more at http://modeling-languages.com/prefetchml-dsl-prefetching-caching-emf-models/
IWMW 2005: Publish And Be Damned Re-purposing In The Real WorldIWMW
Slides for plenary talk on "Publish And Be Damned Re-purposing In The Real World" given at the IWMW 2005 event held at the University of Manchester on 6-8 July 2005.
See http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2005/talks/speller/
Slides from my talk at the 27th European Conference on Operational Research (EURO 2015): Automated Timetabling, a case study with hybrid algorithms and GPU parallelization.
DataOps requires a cultural shift that brings the principles of lean manufacturing and DevOps to data analytics. It breaks down silos between developers, data scientists, and operators, resulting in rapid cycle times and low error rates.
At Spotify in 2013, the concept of DataOps did not exist but the Swedish company needed a way to align the people, processes, and technologies of the data organization to accelerate the development of high-quality analytics. The result was a Swedish-style DataOps, influenced by Scandinavian culture and agile principles, that enabled the company to become a true data-driven leader.
StorPool presents at Cloud Field Day - the leading technology event focused on the impact of cloud technologies on enterprise IT. During the event, the high-performance block storage specialist will showcase how its storage technology allows cloud builders to easily outperform cloud titans like AWS, Microsoft Azure and GCP.
Performance is of major importance for modern applications and workloads. No matter if you run a private cloud or deliver public cloud services for customers, you need to ensure the excellent performance for the workloads running on the cloud. Often misunderstood, storage has a direct impact not only on the reliability of cloud services, but also on the performance of the entire cloud.
https://storpool.com/news/storpool-presents-at-cloud-field-day-9
Presented at the first Avogadro User Meeting, and presents an overview of the history of Avogadro development. It discusses changes in the rewrite, and the broader Open Chemistry project.
Creating a developer pipeline by teaching gateway technologiesMarlon Pierce
Do you have trouble recruiting and retaining good gateway developers? Common challenges include the allure of the cutting-edge commercial sector, academic pay scales, and the specialized knowledge necessary for development. The Indiana University Science Gateways Research Center is attempting to turn this challenge into an opportunity by teaching Web-based cyberinfrastructure systems using concepts and technologies that will benefit students in their non-academic careers. Such distributed systems require knowledge of both classic and cutting-edge topics, such as microservices and “DevOps” practices. Meanwhile, the instructors can identify and connect with promising students while keeping themselves aware of important trends and technologies. This webinar will provide an overview of the material and concepts that we cover in the class, describe the student project assignments and class organization, and present outcomes and student feedback that we have gotten over the last two semesters. We will also discuss possibilities of making the course material and instruction available to other interested universities. Course information and material is available from http://courses.airavata.org/.
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...IstvanKoren
In this talk that we gave on April 21st, 2015 at the GDG Brussels, we presented the Requirements Bazaar with a special focus on its front end that is built with AngularJS and Polymer.
http://www.requirements-bazaar.org
Java has undergone considerable change in the past few years to add features that make it more versatile when compared with other JVM based languages. It still has challenges but its flexible style makes it more inclusive to programmers with different abilities. Hence, it remains the most widely used programming language.
Discussing this with other speakers at the JVM Wars organised by Orbis Consultants last week was illuminating. Key takeaways,
1. Frameworks are not the language. If a certain framework makes a language restrictive or unusable, its not the fault of the language. Choose a better framework or work without frameworks.
2. Choose languages and frameworks that help solve business problems intuitively.
3. Be more inclusive with the choice and use of languages, frameworks and tools.
PrefetchML: a Framework for Prefetching and Caching modelsJordi Cabot
Speed up the access and queries on large models thanks to our language (and execution environment) to define access plans for specific scenarios.
This talk was awarded the best paper award at the Models 2016 conference
Read more at http://modeling-languages.com/prefetchml-dsl-prefetching-caching-emf-models/
IWMW 2005: Publish And Be Damned Re-purposing In The Real WorldIWMW
Slides for plenary talk on "Publish And Be Damned Re-purposing In The Real World" given at the IWMW 2005 event held at the University of Manchester on 6-8 July 2005.
See http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2005/talks/speller/
Slides from my talk at the 27th European Conference on Operational Research (EURO 2015): Automated Timetabling, a case study with hybrid algorithms and GPU parallelization.
DataOps requires a cultural shift that brings the principles of lean manufacturing and DevOps to data analytics. It breaks down silos between developers, data scientists, and operators, resulting in rapid cycle times and low error rates.
At Spotify in 2013, the concept of DataOps did not exist but the Swedish company needed a way to align the people, processes, and technologies of the data organization to accelerate the development of high-quality analytics. The result was a Swedish-style DataOps, influenced by Scandinavian culture and agile principles, that enabled the company to become a true data-driven leader.
StorPool presents at Cloud Field Day - the leading technology event focused on the impact of cloud technologies on enterprise IT. During the event, the high-performance block storage specialist will showcase how its storage technology allows cloud builders to easily outperform cloud titans like AWS, Microsoft Azure and GCP.
Performance is of major importance for modern applications and workloads. No matter if you run a private cloud or deliver public cloud services for customers, you need to ensure the excellent performance for the workloads running on the cloud. Often misunderstood, storage has a direct impact not only on the reliability of cloud services, but also on the performance of the entire cloud.
https://storpool.com/news/storpool-presents-at-cloud-field-day-9
Presented at the first Avogadro User Meeting, and presents an overview of the history of Avogadro development. It discusses changes in the rewrite, and the broader Open Chemistry project.
Creating a developer pipeline by teaching gateway technologiesMarlon Pierce
Do you have trouble recruiting and retaining good gateway developers? Common challenges include the allure of the cutting-edge commercial sector, academic pay scales, and the specialized knowledge necessary for development. The Indiana University Science Gateways Research Center is attempting to turn this challenge into an opportunity by teaching Web-based cyberinfrastructure systems using concepts and technologies that will benefit students in their non-academic careers. Such distributed systems require knowledge of both classic and cutting-edge topics, such as microservices and “DevOps” practices. Meanwhile, the instructors can identify and connect with promising students while keeping themselves aware of important trends and technologies. This webinar will provide an overview of the material and concepts that we cover in the class, describe the student project assignments and class organization, and present outcomes and student feedback that we have gotten over the last two semesters. We will also discuss possibilities of making the course material and instruction available to other interested universities. Course information and material is available from http://courses.airavata.org/.
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...IstvanKoren
In this talk that we gave on April 21st, 2015 at the GDG Brussels, we presented the Requirements Bazaar with a special focus on its front end that is built with AngularJS and Polymer.
http://www.requirements-bazaar.org
Java has undergone considerable change in the past few years to add features that make it more versatile when compared with other JVM based languages. It still has challenges but its flexible style makes it more inclusive to programmers with different abilities. Hence, it remains the most widely used programming language.
Discussing this with other speakers at the JVM Wars organised by Orbis Consultants last week was illuminating. Key takeaways,
1. Frameworks are not the language. If a certain framework makes a language restrictive or unusable, its not the fault of the language. Choose a better framework or work without frameworks.
2. Choose languages and frameworks that help solve business problems intuitively.
3. Be more inclusive with the choice and use of languages, frameworks and tools.
Similar to Mogwaï: A Framework to Handle Complex Queries on Large Models (20)
This presentation, created by Syed Faiz ul Hassan, explores the profound influence of media on public perception and behavior. It delves into the evolution of media from oral traditions to modern digital and social media platforms. Key topics include the role of media in information propagation, socialization, crisis awareness, globalization, and education. The presentation also examines media influence through agenda setting, propaganda, and manipulative techniques used by advertisers and marketers. Furthermore, it highlights the impact of surveillance enabled by media technologies on personal behavior and preferences. Through this comprehensive overview, the presentation aims to shed light on how media shapes collective consciousness and public opinion.
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsRosie Wells
Insight: In a landscape where traditional narrative structures are giving way to fragmented and non-linear forms of storytelling, there lies immense potential for creativity and exploration.
'Collapsing Narratives: Exploring Non-Linearity' is a micro report from Rosie Wells.
Rosie Wells is an Arts & Cultural Strategist uniquely positioned at the intersection of grassroots and mainstream storytelling.
Their work is focused on developing meaningful and lasting connections that can drive social change.
Please download this presentation to enjoy the hyperlinks!
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Mogwaï: A Framework to Handle Complex Queries on Large Models
1. Mogwaï: a Framework to Handle
Complex Queries on Large Models
Jordi Cabot
ICREA-UOC
jordi.cabot@icrea.cat
Gwendal Daniel
Inria - Mines Nantes & Lina
gwendal.daniel@inria.fr
Gerson Sunyé
Inria - Mines Nantes & Lina
gerson.sunye@inria.fr
2. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 2
Introduction
● Complex and large models
– Civil Engineering
– Biology
– Reverse Engineering
● Need to provide solutions to
– Store them
– Query them efficiently
– Transform them
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
3. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 3
Model Persistence
● Default serialization mechanism: XMI
– Verbose
● Large monolithic files
– Files have to be entirely parsed
● Increases memory consumption
– No advanced features
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
4. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 4
Model Persistence
● Several solutions to overcome model persistence
limitations
– CDO, Morsa, EMF-Fragment, NeoEMF
● Problems
– Low-level model handling APIs
– Fragmented queries on the database
– Intermediate objects
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
5. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 5
Model Persistence
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
A.allInstances().name
get(a1)
get(a1,name)
...
get(an)
get(an,name)
6. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 6
Model Persistence
● Why don't we query directly the database?
– Manually writing database-level queries is hard
● Need to learn a new query language
● Database expertise vs. Modeling expertise
● Unknown model representation
● Solution: generate them!
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
7. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 7
Mogwaï
● Generate graph database queries from OCL expressions
● Bypass modeling framework API
● Single execution of the query
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
8. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 8
Mogwaï
● The OCL to express model queries
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
Package.allInstances()
p1.contents
p1.contents→
select(e | e.name = 'c1')
// p1
// [ c1,c2 ]
// c1
p1 : Package
name : 'p1'
c1 : Class
name : 'c1'
c2 : Class
name : 'c2'
contents contents
Package
+ name : String
Class
+ name : String
contents
*
9. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 9
Mogwaï
● The Gremlin Language to express database queries
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
1
class="Package"
4
name="c1"
5
name="c2"
2
class="Class"
3
name="p1"
instanceof
instanceof
instanceof
contents
contents
10. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 10
Mogwaï
● The Gremlin Language to express database queries
– Graph traversal DSL
– Composed of processing steps
– Generic query language for graph databases
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
g.idx(''metaclasses'')[[name:''Package'']]
.inE(''instanceOf'').outV
g.v(3).outE(''contents'').inV
g.v(3).outE(''contents'').inV
.filter{it.name = ''c1''}
// v(1)
// [v(4),v(5)]
// v(4)
1
class="Package"
4
name="c1"
5
name="c2"
2
class="Class"
3
name="p1"
instanceof
instanceof
instanceof
contents
contents
11. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 11
Mogwaï
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
● Translate OCL queries into Gremlin traversals
– Map OCL expressions to Gremlin steps
– Merge created steps into a (several) traversal(s)
12. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 12
Mogwaï
● Map OCL expressions to Gremlin steps
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
1
class="Package"
4
name="c1"
5
name="c2"
2
class="Class"
3
name="p1"
instanceof
instanceof
instanceof
contents
contents
13. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 13
Mogwaï
● Merge created steps into a traversal
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
14. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 14
Mogwaï
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
● OCL Transformation Example
15. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 15
Mogwaï
● Query generation and execution
● Delegates query computation to the database
● Returns graph elements to the persistence layer
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
16. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 16
Mogwaï
● Benchmarks
– Model containing 2 million elements
– Up to 20 times faster than other query approaches
– Consume up to 75 times less memory
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
A B
0
50
100
150
200
250
300
350
Query Execution Time (s)
IncQuery
OCL
Mogwaï
A B
0
100
200
300
400
500
600
Query Memory Consumption (MB)
17. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 17
Conclusion
● Model Persistence Frameworks
– Not designed to compute model queries efficiently
– Write manually database-level queries is hard
● Mogwaï Framework
– Translates OCL queries into Gremlin traversals
– Positive results
– Not adapted to small models
– Needs to be integrated
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
18. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 18
Conclusion
● Future Work
– Integration in state of the art tools
– Target other NoSQL databases / storage schema
– Use the Mogwaï to access graph databases using OCL
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
19. 01/06/2016 Mogwaï: a Framework to Handle Complex Queries on Large Models - G. Daniel 19
Questions?
• Introduction
• Model Persistence
• Mogwaï
• Conclusion
Websites / Repositories
NeoEMF: neoemf.com
Mogwaï: github.com/atlanmod/Mogwai
https://github.com/atlanmod
Thank you for your attention!
https://github.com/SOM-Research