This document summarizes a presentation about EMF Compare, an Eclipse plug-in for comparing and merging EMF models. EMF Compare uses matching strategies to find differences between models, and provides APIs for diffing, merging, and resolving conflicts. It can generate diffs as models to enable further processing, such as model transformations or test assertions. Future plans include improved support for UML models and integration with modeling tools.
"Reactive Programming with JavaScript" by Giorgio Natili
JavaScript is an asynchronous and almost single-thread language. Learning how to manage its asynchronous nature is perhaps the most important part of becoming an effective JavaScript programmer. Reactive programming tools in JavaScript provide a powerful way of “wrapping” the asynchronous callbacks into a more readable and maintainable code base. In this talk, I'll highlight the pros and cons of different reactive programming approaches and practices by demonstrating how to use Redux and Angular 2.x as the building blocks of a scalable architecture for your web app.
Understanding Object Oriented Javascript - Coffee@DBG JuneDeepu S Nath
You all might have downloaded and edited a lot of javascript. Other than merely changing syntax have you really understood its working or how the code was organised ?
Have you ever thought of how the object oriented way of writing Javascript has been influencing the front end development?
From a language that had helped developers write small validations and similar stuff, today, the object oriented javascript and its frameworks power the world becoming one of the most prominent language of all times.
Including existing Java code into a Jolie service is very easy. Follow these few slides for learning how to exploit all the Java code you have in a microservice architecture
JavaScript language plays a very important role in Web 2.0 application development. JavaScript has its own characteristics different than object-oriented languages and it's not easy for developers to understand.
This presentation covers major advanced topics in JavaScript languages, including prototype chain, identifier resolving, "this" keyword, "new" operator, execution context and scope chain and closure. Besides that, it also covers best practices when using JavaScript.
"Reactive Programming with JavaScript" by Giorgio Natili
JavaScript is an asynchronous and almost single-thread language. Learning how to manage its asynchronous nature is perhaps the most important part of becoming an effective JavaScript programmer. Reactive programming tools in JavaScript provide a powerful way of “wrapping” the asynchronous callbacks into a more readable and maintainable code base. In this talk, I'll highlight the pros and cons of different reactive programming approaches and practices by demonstrating how to use Redux and Angular 2.x as the building blocks of a scalable architecture for your web app.
Understanding Object Oriented Javascript - Coffee@DBG JuneDeepu S Nath
You all might have downloaded and edited a lot of javascript. Other than merely changing syntax have you really understood its working or how the code was organised ?
Have you ever thought of how the object oriented way of writing Javascript has been influencing the front end development?
From a language that had helped developers write small validations and similar stuff, today, the object oriented javascript and its frameworks power the world becoming one of the most prominent language of all times.
Including existing Java code into a Jolie service is very easy. Follow these few slides for learning how to exploit all the Java code you have in a microservice architecture
JavaScript language plays a very important role in Web 2.0 application development. JavaScript has its own characteristics different than object-oriented languages and it's not easy for developers to understand.
This presentation covers major advanced topics in JavaScript languages, including prototype chain, identifier resolving, "this" keyword, "new" operator, execution context and scope chain and closure. Besides that, it also covers best practices when using JavaScript.
EuGENia is a tool that automatically generates the .gmfgraph, .gmftool and .gmfmap models needed to implement a GMF editor from a single annotated Ecore metamodel. EuGENia provides high-level annotations that shield you from the complexity of GMF and lowers the entrance barrier for creating your first GMF editor. While EuGENia is very useful for getting started with GMF, it doesn't stop there and can be used all the way to the final polished version of your editor.
Code formatting is an opinionated beast. It always has been a matter of taste, and it always will be a matter of taste. This is the reason, why professional formatting tools, such as Eclipse JDT, offer a gazillion number of options. Which is still not sufficient enough. After all, you can override them inline with tag-comments to make the formatter shut up. Can't we do better than that? What if we could use machine learning techniques to detect the preferred code style that was use in a codebase so far? Turns out, we can.
The Antlr Codebuff project (https://github.com/antlr/codebuff) offers a generic formatter for pretty much any given language. As long as a grammar file exists, existing source can be analyzed to learn about the rules that have been applied while writing the code. Those can than be used to pretty print newly written code. No configuration required. And existing sources will stay as nicely formatted as they are. In the end, the primary purpose of code formatting is not to re-arrange all the keywords, but to make the source layout consistent.
In this talk, we will demonstrate the usage of the codebuff project and how it can be used to format the sources of your repo in a consistent way. We'll also show some other gems that have been revealed when toying around with the technology.
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkDave Steinberg
EclipseCon 2008 long talk introducing EMF. A slightly different take from the preceding EclipseWorld talk, with a few more details on the EMF core and no discussion of CDO or Teneo.
original (better quality) on https://docs.google.com/presentation/d/1bnwj8CrFGo5KekONYSeIHySdkoXZiewJxkHcZjXnzkQ/
slides from OpenDaylight Summit Oct 2016 Seattle
Adding a modern twist to legacy web applicationsJeff Durta
Avoid misery of working with legacy code
We will see how you can add independent and isolated components to existing pages; pages that may be difficult to change
React and Flux allow you to make self-contained additions that handle their own data access/persistence
[E-Dev-Day 2014][4/16] Review of Eolian, Eo, Bindings, Interfaces and What's ...EnlightenmentProject
[E-Dev-Day 2014][4/16] Review of Eolian, Eo, Bindings, Interfaces and What's to Come
at Enlightenment Developers Day 2014
https://phab.enlightenment.org/w/events/enlightenment_developer_day_2014/
Brian and John introduce several concepts, including JavaScript Modules and Inversion of Control, and demonstrate how they alleviate many of the dominant problems encountered when building large JavaScript apps. This talk shows new architectural patterns and tangible examples of how these patterns improve testability, refactorability, composability, division of work, and team scalability.
Slides from a talk and live-coding session about Koin, a pragmatic and lightweight Dependency Injection framework for Kotlin. This talk was given at Auckland Android Community on Dec 5.
https://www.meetup.com/Android-Meetup/events/256734688/
The important parts of the front end development sphere including CSS3, advanced JavaScript, libraries such as jQuery, RequireJS and Promises. And finally, chrome developer tools for successful debugging and editing.
Miller Columns (used in iPhone and Mac Finder) are an elegant way of displaying and navigating a tree. This talk describes a JavaScript implementation of Miller Columns, and why JavaScript needs modules and a standard library.
An Introduction to the SOLID PrinciplesAttila Bertók
SOLID Principles are the most important principles of writing maintainable, easy-to-read, easy-to-write clean code. This presentation attempts to give a basic overview of these principles with some examples of violations and ways to correct them.
Why should we use TDD to develop in Elixir? When we are applying it correctly? What are the differences that we can find in a code developed with TDD and in code not developed with it? Is it TDD about testing? Really? In this talk, I'll show what is TDD and how can be used it in functional programming like Elixir to design the small and the big parts of your system, showing what are the difference and the similarities between an OOP and FP environment. Showing what is the values of applying a technique like TDD in Elixir and what we should obtain applying it.
Integrating Xtext and Sirius: Strategies and PitfallsCédric Brun
A model can be represented graphically and textually. While text is able to carry more detailed information, a diagram highlights the relationship between elements much better. In the end, a good tool should combine both, and use each notation where it suits best.
Xtext and Sirius are both based on the Eclipse Modeling Framework (EMF) and as such combinable. But once you have the most basic integration running you will stumble across strange issues. Getting rid of these requires a deeper understanding on how both frameworks treat their models and a clear vision on what you want to achieve.
In this talk we will outline several integration scenarios. As a joint talk of Obeo and TypeFox, we will explain the typical issues from the Sirius and the Xtext perspective and show how to tackle them to create great hybrid modelling tools in the end.
EuGENia is a tool that automatically generates the .gmfgraph, .gmftool and .gmfmap models needed to implement a GMF editor from a single annotated Ecore metamodel. EuGENia provides high-level annotations that shield you from the complexity of GMF and lowers the entrance barrier for creating your first GMF editor. While EuGENia is very useful for getting started with GMF, it doesn't stop there and can be used all the way to the final polished version of your editor.
Code formatting is an opinionated beast. It always has been a matter of taste, and it always will be a matter of taste. This is the reason, why professional formatting tools, such as Eclipse JDT, offer a gazillion number of options. Which is still not sufficient enough. After all, you can override them inline with tag-comments to make the formatter shut up. Can't we do better than that? What if we could use machine learning techniques to detect the preferred code style that was use in a codebase so far? Turns out, we can.
The Antlr Codebuff project (https://github.com/antlr/codebuff) offers a generic formatter for pretty much any given language. As long as a grammar file exists, existing source can be analyzed to learn about the rules that have been applied while writing the code. Those can than be used to pretty print newly written code. No configuration required. And existing sources will stay as nicely formatted as they are. In the end, the primary purpose of code formatting is not to re-arrange all the keywords, but to make the source layout consistent.
In this talk, we will demonstrate the usage of the codebuff project and how it can be used to format the sources of your repo in a consistent way. We'll also show some other gems that have been revealed when toying around with the technology.
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkDave Steinberg
EclipseCon 2008 long talk introducing EMF. A slightly different take from the preceding EclipseWorld talk, with a few more details on the EMF core and no discussion of CDO or Teneo.
original (better quality) on https://docs.google.com/presentation/d/1bnwj8CrFGo5KekONYSeIHySdkoXZiewJxkHcZjXnzkQ/
slides from OpenDaylight Summit Oct 2016 Seattle
Adding a modern twist to legacy web applicationsJeff Durta
Avoid misery of working with legacy code
We will see how you can add independent and isolated components to existing pages; pages that may be difficult to change
React and Flux allow you to make self-contained additions that handle their own data access/persistence
[E-Dev-Day 2014][4/16] Review of Eolian, Eo, Bindings, Interfaces and What's ...EnlightenmentProject
[E-Dev-Day 2014][4/16] Review of Eolian, Eo, Bindings, Interfaces and What's to Come
at Enlightenment Developers Day 2014
https://phab.enlightenment.org/w/events/enlightenment_developer_day_2014/
Brian and John introduce several concepts, including JavaScript Modules and Inversion of Control, and demonstrate how they alleviate many of the dominant problems encountered when building large JavaScript apps. This talk shows new architectural patterns and tangible examples of how these patterns improve testability, refactorability, composability, division of work, and team scalability.
Slides from a talk and live-coding session about Koin, a pragmatic and lightweight Dependency Injection framework for Kotlin. This talk was given at Auckland Android Community on Dec 5.
https://www.meetup.com/Android-Meetup/events/256734688/
The important parts of the front end development sphere including CSS3, advanced JavaScript, libraries such as jQuery, RequireJS and Promises. And finally, chrome developer tools for successful debugging and editing.
Miller Columns (used in iPhone and Mac Finder) are an elegant way of displaying and navigating a tree. This talk describes a JavaScript implementation of Miller Columns, and why JavaScript needs modules and a standard library.
An Introduction to the SOLID PrinciplesAttila Bertók
SOLID Principles are the most important principles of writing maintainable, easy-to-read, easy-to-write clean code. This presentation attempts to give a basic overview of these principles with some examples of violations and ways to correct them.
Why should we use TDD to develop in Elixir? When we are applying it correctly? What are the differences that we can find in a code developed with TDD and in code not developed with it? Is it TDD about testing? Really? In this talk, I'll show what is TDD and how can be used it in functional programming like Elixir to design the small and the big parts of your system, showing what are the difference and the similarities between an OOP and FP environment. Showing what is the values of applying a technique like TDD in Elixir and what we should obtain applying it.
Similar to What every developer should know about EMF Compare (20)
Integrating Xtext and Sirius: Strategies and PitfallsCédric Brun
A model can be represented graphically and textually. While text is able to carry more detailed information, a diagram highlights the relationship between elements much better. In the end, a good tool should combine both, and use each notation where it suits best.
Xtext and Sirius are both based on the Eclipse Modeling Framework (EMF) and as such combinable. But once you have the most basic integration running you will stumble across strange issues. Getting rid of these requires a deeper understanding on how both frameworks treat their models and a clear vision on what you want to achieve.
In this talk we will outline several integration scenarios. As a joint talk of Obeo and TypeFox, we will explain the typical issues from the Sirius and the Xtext perspective and show how to tackle them to create great hybrid modelling tools in the end.
EcoreTools-Next: Executable DSL made (more) accessibleCédric Brun
Various Eclipse Modeling technologies are trying to empower domain experts in the creation of specific tools. Using EcoreTools and Sirius a domain expert can define languages, graphical modelers and editors without writing a single line of Java code or launching a new Eclipse runtime. However, when come the time to add behaviors to the language structure (e.g., to implement interpreters, compilers, static analysis, refactoring, or generators), the domain expert has to face all the complexity of Eclipse Plugin development, OSGi, Java and much more.
This is a no-go in some contexts and as such there was a sweet spot for a new technology in Eclipse Modeling that support a seamless mechanism to weave behaviors across (Ecore-based) language structure.
This talk will present an integrated approach for weaving behavior of domain specific languages right from the EcoreTools modeler, that can be automatically applied to conforming models while having the following novel characteristics:
Domain experts are able to weave the behaviors across the language structure, seamlessly supporting the definition of a visitors for any kind of purposes.
No need for code generation, any change is instantly reflected and can be tested right away, even on Dynamic Instances
Strong optional validation, fast evaluation
"on demand" extension through Java services
behavior definition which is non-intrusive to the Ecore model
complemented by a first prototype of a dual compiler that seamlessly complement the EMF generation results.
The talk will demo the creation of a DSL and its behavior through the use of these plugins which are extending EcoreTools. The design of the language will also be discussed as it is embeds the Eclipse "aql" query language, leverage union types and type inference and can itself be integrated in other contexts. The audience will leave with a clear understanding of how they could define the behavior of their DSL using this technology, how it compares to approaches like Xcore/Xbase and when it could be part of the Eclipse release.
The technology is currently considered as good enough for experimenting and is being contributed to Eclipse Modeling through the EcoreTool project.
Integrating Xtext and Sirius: Strategies and PitfallsCédric Brun
A model can be represented graphically and textually. While text is able to carry more detailed information, a diagram highlights the relationship between elements much better. In the end, a good tool should combine both, and use each notation where it suits best.
Xtext and Sirius are both based on the Eclipse Modeling Framework (EMF) and as such combinable. But once you have the most basic integration running you will stumble across strange issues. Getting rid of these requires a deeper understanding on how both frameworks treat their models and a clear vision on what you want to achieve.
In this talk we will outline several integration scenarios. As a joint talk of Obeo and TypeFox, we will explain the typical issues from the Sirius and the Xtext perspective and show how to tackle them to create great hybrid modelling tools in the end.
Covers what drives Obeo in making Sirius, it's fundamentals, what happened in 2015 and 2016 for the Eclipse Sirius project and where we are headed for the next few years.
Modeling avengers – open source technology mix for saving the world econ frCédric Brun
Planet earth is facing massive challenges: global warming and scarcity of natural resources among others. Those challenges are reaching a level of complexity unknown yet and trying to address those requires deep scientific understanding, real world data, specialized tools, inter-disciplinary collaboration and the ability to evaluate “What If” scenarios.
In collaboration with scientists from INRA (the French National Institute for Agricultural Research) we experienced one of those challenges: the use of natural resources for agricultural activities, especially water consumption. While the scientists insight was required in smart technologies like smart farms, this understanding was required to be expressed at an higher level of abstraction through specific tooling. They felt that providing highly dedicated tools with a small budget would require super powers. To us modeling people it looked like a very good fit for DSL’s (Domain Specific Languages), hence suitable for an experiment : let’s build specific modeling tools for smart farming systems!
This experiment represents a few days of work bringing open-source technologies together: EMF, Xtext, Sirius, Gemoc (a model debugging environment, including specific features for concurrency constraints), OptaPlanner (a constraint satisfaction solver from the JBoss community) and Acceleo, resulting in a collection of Eclipse based tools for farming systems (published on github). Just like in The Avengers, each technology bring its own capability but it is the amalgamation of all of them which lead to amazing power!
The session will start with a demo of the Smart Farming System Tooling, an environment to model, analyze and simulate an agricultural exploitation, biomass growth and water consumption based on user input and open data. Then we will dig deeper in how the technologies are mixed and used, among other questions: which of the textual or graphical syntax is better suited for a given aspect? how can we achieve a “perfect blend” of those syntaxes? how OptaPlanner and EMF can create a powerful synergy? how data from INRA can be structured and fed into the tool?
Modeling avengers – open source technology mix for saving the worldCédric Brun
Planet earth is facing massive challenges: global warming and scarcity of natural resources among others. Those challenges are reaching a level of complexity unknown yet and trying to address those requires deep scientific understanding, real world data, specialized tools, inter-disciplinary collaboration and the ability to evaluate “What If” scenarios.
In collaboration with scientists from INRA (the French National Institute for Agricultural Research) we experienced one of those challenges: the use of natural resources for agricultural activities, especially water consumption. While the scientists insight was required in smart technologies like smart farms, this understanding was required to be expressed at an higher level of abstraction through specific tooling. They felt that providing highly dedicated tools with a small budget would require super powers. To us modeling people it looked like a very good fit for DSL’s (Domain Specific Languages), hence suitable for an experiment : let’s build specific modeling tools for smart farming systems!
This experiment represents a few days of work bringing open-source technologies together: EMF, Xtext, Sirius, Gemoc (a model debugging environment, including specific features for concurrency constraints), OptaPlanner (a constraint satisfaction solver from the JBoss community) and Acceleo, resulting in a collection of Eclipse based tools for farming systems (published on github). Just like in The Avengers, each technology bring its own capability but it is the amalgamation of all of them which lead to amazing power!
The session will start with a demo of the Smart Farming System Tooling, an environment to model, analyze and simulate an agricultural exploitation, biomass growth and water consumption based on user input and open data. Then we will dig deeper in how the technologies are mixed and used, among other questions: which of the textual or graphical syntax is better suited for a given aspect? how can we achieve a “perfect blend” of those syntaxes? how OptaPlanner and EMF can create a powerful synergy? how data from INRA can be structured and fed into the tool?
The talk will then evaluate how useful open-source technologies are in addressing this class of problems and how modeling can be used to support sustainability, enable broader engagement of the community, and facilitate more informed decision-making.
This talk celebrates the Eclipse Modeling universe through a condensed presentation of 15 cool projects - mostly frameworks - to push your EMF usage beyond its limits.
For each project : its scope, an example and feedback from the trenches. It's gonna be fast, you're going to discover new projects, you're going to learn what we built with it and how we feel about it. No less, no more, but 15 times.
You don't know EMF yet ? This talk will give you a clear vision of why you might want to use it.
You already know EMF ? You will discover new components and usages which makes this framework shine.
You have your shiny new DSL up and running thanks to the Eclipse Modeling Technologies and you built a powerful tooling with graphical modelers, textual syntaxes or dedicated editors to support it. But how can you see what is going on when a model is executed ? Don't you need to simulate your design in some way ? Wouldn't you want to see your editors being animated directly within your modeling environment based on execution traces or simulator results?
Xtext + Sirius = ♥ / EclipseCon Europe 2014Cédric Brun
Xtext provides rich textual editing for your domain - aka "your own IDE" while Eclipse Sirius makes rich graphical editing a breeze for any kind of EMF model, but can they work together ?
This talk will walk through all the possible integrations between those two technologies, from concurrently using the Xtext and Sirius editors on top of the same files to integrating the Xtext completion to a diagram or to a popup editor. It will also tackle the pitfalls and specific pain points one should be aware of.
Xtext provides rich textual editing for your domain - aka "your own IDE" while Eclipse Sirius makes rich graphical editing a breeze for any kind of EMF model, but can they work together ?
This talk will walk through all the possible integrations between those two technologies, from concurrently using the Xtext and Sirius editors on top of the same files to integrating the Xtext completion to a diagram or to a popup editor. It will also tackle the pitfalls and specific pain points one should be aware of
EcoreTools is one of the prominent graphical modelers in Eclipse: it's pretty much the first step users discovering EMF are taking. Yet the project got little love over the years since the original team stepped out.
This is changing for the Eclipse Luna cycle as the Sirius project enables the creation of rich modeling environment very quickly. A complete rewrite of the modeler is being done with in the end :
a better user experience
new features designed for Ecore power users
a fraction of the original code
robustness and integration with other Modeling technologies
This talk present the new features and how they've been designed, implemented, tested using Eclipse Sirius. This should be of interest for you either if you use Ecore and/or if you plan to create your own modeler using Eclipse Modeling technologies.
Compared to the talk given at EclipseCon Europe this talk will focus a bit more on EcoreTools 2.0 itself and less on the Sirius principles and concepts, with more new features having been introduced in the meantime and more demos.
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutesCédric Brun
This talk gives an overview of the main Sirius features and shows how it can be used to create custom tooling for your own business or engineering domain.
It takes the form of a customer-consultant role-playing game with a live demo of Sirius illustrating:
How to use Sirius to create custom graphical modelers (diagram, table and tree editors) based on a given domain model (Ecore)
The numerous customization mechanisms provided by Sirius to implement specific needs (conditional styles, filters, layers)
The resulting Sirius modeling environment, ready to be delivered to end-users
Acceleo.org was created many years ago outside of Eclipse... We created a real open source community around this Code Generation tool, with a public repository, a website, a wiki, a mailing list, a newsgroup, and an aggregation of blogs like the planet Eclipse one. Acceleo project won the Eclipse Award in the category "Best Open Source Eclipse-Based Developer Tool" rewarding several years of work of the Acceleo community to produce one of the best tool for model driven development.
As the time goes, the Team has been more and more convinced that the MOF Model To Text OMG specification was the way to go for the project and as we started to code we decided to move within the Eclipse M2T project changing the syntax to conform to the standard but keeping the spirit and pragmatism we had for Acceleo.org. We had our first stable release for the Galileo train, are planning to maintain the Acceleo.org implementation for years but the next generation Acceleo will be perfectly ready for the next Eclipse simultaneous release (Helios).
We are confident that the Acceleo community is gaining value from moving to a self hosted project to an Eclipse one, and that end users will follow the transfert from Acceleo.org to Eclipse.org but such a move has impacts, both from a technical and community point of view : this talk will focus on those impacts, describing the change between both projects and providing experience feedback : Why did the project moved? How? What are the benefits for the Acceleo community and for the modeling project? What have been the community constraints? How to handle, technically, this kind of move ? What does moving to an OMG standard implementation mean for the users ?
This talk will tackle all those issues while demonstrating changes through demos.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
7. Matching Strategies
XMI-ID GenericMatchEngine
options.put(MatchOptions.OPTION_IGNORE_XMI_ID, Boolean.FALSE);
MatchModel match = MatchService.doContentMatch(left,right options);
ID-Attribute
options.put(MatchOptions.OPTION_IGNORE_ID, Boolean.FALSE);
MatchModel match = MatchService.doContentMatch(left,right options);
defaults are XMI-ID, then ID-attributes and then reflective
8. Your own matching strategy
public class AddressBookMatcher extends GenericMatchEngine {
/**
* {@inheritDoc}
*/
@Override
protected boolean isSimilar(EObject obj1, EObject obj2) throws FactoryException {
/*
* If we've got a People, only check the name similarity.
*/
if (obj1 instanceof People || obj2 instanceof People)
return nameDistance(obj1, obj2) > 0.8;
/*
* Contacts are similar if : the associated people is similar + their content is quite the same.
*/
if (obj1 instanceof Contact && obj2 instanceof Contact) {
EObject obj1Parent = obj1.eContainer();
EObject obj2Parent = obj2.eContainer();
if (obj1Parent instanceof People && obj2Parent instanceof People)
return isSimilar(obj1Parent, obj2Parent) && contentDistance(obj1, obj2) > 0.5;
}
/*
* If it's something we don't know about, then use the generic behavior.
*/
return super.isSimilar(obj1, obj2);
}
9. Comparing
People alice = createAlice();
v1Book.getPeoples().add(alice);
v2Book = EcoreUtil.copy(v1Book);
People bob = createBob();
v2Book.getPeoples().add(bob);
MatchModel match = new AddressBookMatcher().contentMatch(v1Book, v2Book, noOptions());
DiffModel delta = DiffService.doDiff(match);
DiffElement addbob = DiffHelper.isAdded(bob, delta);
assertNotNull("the addition of Bob has not been detected", addbob);
10. Merging
boolean mergeLeftToRight = true;
for (DiffElement diff : delta.getDifferences()) {
MergeService.merge(diff, mergeLeftToRight);
}
match = new AddressBookMatcher().contentMatch(v1Book, v2Book, noOptions());
delta = DiffService.doDiff(match);
assertEquals("We still have a difference whereas we merged all the diff elements", 0,
delta //$NON-NLS-1$
.getDifferences().size());
11. aliceLocal.setBirthday("07/05/84");
aliceRemote.setBirthday("07/07/84");
MatchModel match = new AddressBookMatcher().contentMatch(v2LocalBook, v2RemoteBook, v1Book,
noOptions());
DiffModel delta = DiffService.doDiff(match, true);
List<DiffElement> conflicts = new ArrayList<DiffElement>();
for (DiffElement diff : delta.getDifferences()) {
if (diff.isConflicting()) {
conflicts.add(diff);
}
}
assertEquals("We should have a conflict on Alice's birthday", 1, conflicts.size());
}
12. Exporting the delta.
Diff is a model => You can use Acceleo to generate code based on a diff
e.g : SQL migration scripts based on a entity models comparison
13. Other usages we've
heard of ?
Non regression Testing
Selective assertEquals() on models
Transforming a destructive process in an incremental one
Using the diff + original version as an input for a process
Interactive Model Transformation
Leveraging the UI + custom Match and Merge
14. What's
cooking ?
● UML dedicated support
● Enhanced generic editor
● GMF and Papyrus Integration
15. References
Website :
●
● http://www.eclipse.org/modeling/emf?project=compare
● http://wiki.eclipse.org/index.php/EMF ompare
C
_
Support : EMF newsgroup and mailling list
●
Downloads :
●
● Indigo Update Site
● Eclipse Modeling Package
Source Code
●
● git://git.eclipse.org/gitroot/emfcompare/org.eclipse.emf.compare.git