The secret life of rules in Software EngineeringJordi Cabot
Business rules do not get the attention they deserve in Software Engineering. They are mostly ignored in the specification phase and implemented in an adhoc manner in the target platform. We discuss why this is not going to work anymore
Our research lines on Model-Driven Engineering and Software EngineeringJordi Cabot
Highlighting some of our research lines (March 2015 Edition)
Learn more about what we do on : http://modeling-languages.com , http://som-research.uoc.edu and http://jordicabot.com
Findings from GitHub. Methods, Datasets and Limitations - MSR 2016 at ICSEJordi Cabot
Meta-analysis of 93 research papers reporting findings based on mining GitHub repositories. We report concerns on several aspects: dataset collection, replicability, sampling techniques and methodologies.
Model-based Analysis of Java EE Web Security Configurations - Mise 2016Jordi Cabot
A (model-based) approach aimed to help security experts to visualize, (automatically) analyse and manipulate web security policies, focusing on Java EE access-control properties
MetaScience: Holistic Approach for Research Modeling and AnalysisJordi Cabot
This article (presented at the ER2016 conference) proposes a conceptual schema providing a holistic view of conference-related information (e.g., authors, papers, committees and topics). This schema is automatically and incrementally populated with data available online.
A number of data analysis and visualization algorithms are applied on top of this data to provide meaningful information to prospective authors, PC members and conference steering committeees
Looking at WordPress through the eyes of a Software ResearcherJordi Cabot
Talk given at WordCamp Europe 2015 on:
"What does a researcher have to say about the WordPress source code and the community behind it? Join us on this talk on unusual “WordPress analytics” and see what we can learn, and improve!, from the way WordPress (and the plugin and theme ecosystem around it) is developed nowadays."
More on: http://modeling-languages.com and http://jordicabot.com
The secret life of rules in Software EngineeringJordi Cabot
Business rules do not get the attention they deserve in Software Engineering. They are mostly ignored in the specification phase and implemented in an adhoc manner in the target platform. We discuss why this is not going to work anymore
Our research lines on Model-Driven Engineering and Software EngineeringJordi Cabot
Highlighting some of our research lines (March 2015 Edition)
Learn more about what we do on : http://modeling-languages.com , http://som-research.uoc.edu and http://jordicabot.com
Findings from GitHub. Methods, Datasets and Limitations - MSR 2016 at ICSEJordi Cabot
Meta-analysis of 93 research papers reporting findings based on mining GitHub repositories. We report concerns on several aspects: dataset collection, replicability, sampling techniques and methodologies.
Model-based Analysis of Java EE Web Security Configurations - Mise 2016Jordi Cabot
A (model-based) approach aimed to help security experts to visualize, (automatically) analyse and manipulate web security policies, focusing on Java EE access-control properties
MetaScience: Holistic Approach for Research Modeling and AnalysisJordi Cabot
This article (presented at the ER2016 conference) proposes a conceptual schema providing a holistic view of conference-related information (e.g., authors, papers, committees and topics). This schema is automatically and incrementally populated with data available online.
A number of data analysis and visualization algorithms are applied on top of this data to provide meaningful information to prospective authors, PC members and conference steering committeees
Looking at WordPress through the eyes of a Software ResearcherJordi Cabot
Talk given at WordCamp Europe 2015 on:
"What does a researcher have to say about the WordPress source code and the community behind it? Join us on this talk on unusual “WordPress analytics” and see what we can learn, and improve!, from the way WordPress (and the plugin and theme ecosystem around it) is developed nowadays."
More on: http://modeling-languages.com and http://jordicabot.com
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/
Wanna see your open source project succeed? - Nurture your communityJordi Cabot
Many open source projects stagnate after an initial push and end-up fading away. In this talk, we will argue that, most of the time, the reason has nothing to do with the quality of the software itself but with the project's inability to attract and support a healthy community around it. A community of contributors but also a community of users that must take an active role in the project as well.
We will review several actions and strategies that OSS project managers could put into practice to reverse this situation, mostly taken from atypical disciplines (for a software talk) like social science, economy and political science. As an example, we will talk about transparency and democracy in OSS, matching market design and software ecosystems.
Introduction to OCL - Tutorial given at the SFM'12 summer school
Learn more about OCL (and UML, DSLs, MDE,...) at : http://modeling-languages.com
Home page: http://jordicabot.com
Improving Software Languages: usage patterns to the rescueJordi Cabot
In this presentation at PAME 2015 (STAF co-located workshop) I argue that most patterns are useless and the only ones I´m interested in are usage patterns showing how people really use a language. Then I go on to claim that these usage patterns are the key to evolve a language in order to improve its usability
Read more on: http://modeling-languages.com and http://jordicabot.com
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...Jordi Cabot
Slides for the mdse-book.com chapter 8: model-to-model transformations
Complete set of slides now available:
Chapter 1 - http://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-1-introduction
Chapter 2 - http://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-2-mdse-principles
Chapter 3 - http://www.slideshare.net/jcabot/model-driven-software-engineering-in-practice-chapter-3-mdse-use-cases
Chapter 4 - http://www.slideshare.net/jcabot/modeldriven-software-engineering-in-practice-chapter-4
Chapter 5 - https://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-5-integration-of-modeldriven-in-development-processes
Chapter 6 - http://www.slideshare.net/jcabot/mdse-bookslideschapter6
Chapter 7 - http://www.slideshare.net/mbrambil/model-driven-software-engineering-in-practice-book-chapter-7-developing-your-own-modeling-language
Chapter 8 - http://www.slideshare.net/jcabot/modeldriven-software-engineering-in-practice-chapter-8-modeltomodel-transformations
Chapter 9 - https://www.slideshare.net/mbrambil/model-driven-software-engineering-in-practice-book-chapter-9-model-to-text-transformations-and-code-generation
Chapter 10 - http://www.slideshare.net/jcabot/mdse-bookslideschapter10managingmodels
This book discusses how approaches based on modeling can improve the daily practice of software professionals. This is known as Model-Driven Software Engineering (MDSE) or, simply, Model-Driven Engineering (MDE).
MDSE practices have proved to increase efficiency and effectiveness in software development. MDSE adoption in the software industry is foreseen to grow exponentially in the near future, e.g., due to the convergence of software development and business analysis.
This book is an agile and flexible tool to introduce you to the MDE and MDSE world, thus allowing you to quickly understand its basic principles and techniques and to choose the right set of MDE instruments for your needs so that you can start to benefit from MDE right away.
The first part discusses the foundations of MDSE in terms of basic concepts (i.e., models and transformations), driving principles, application scenarios and current standards, like the wellknown MDA initiative proposed by OMG (Object Management Group) as well as the practices on how to integrate MDE in existing development processes.
The second part deals with the technical aspects of MDSE, spanning from the basics on when and how to build a domain-specific modeling language, to the description of Model-to-Text and Model-to-Model transformations, and the tools that support the management of MDE projects.
The book covers introductory and technical topics, spanning definitions and orientation in the MD* world, metamodeling, domain specific languages, model transformations, reverse engineering, OMG's MDA, UML, OCL, ATL, QVT, MOF, Eclipse, EMF, GMF, TCS, xText.
http://www.mdse-book.com
Night Knights: exploiting games to engage people in a citizen science campaignIrene Celino
Presentation from the STARS4ALL project at the DSI Fair 2017, during the Collective Sensing and Action workshop. Focus on the Night Knights classification game, available at http://www.nightknights.eu
A Model-Based Method for Seamless Web and Mobile Experience. Splash 2016 conf.Marco Brambilla
Consumer-centered software applications nowadays are required
to be available both as mobile and desktop versions.
However, the app design is frequently made only for one of
the two (i.e., mobile first or web first) while missing an appropriate
design for the other (which, in turn, simply mimics
the interaction of the first one). This results into poor quality
of the interaction on one or the other platform. Current solutions
would require different designs, to be realized through
different design methods and tools, and that may require to
double development and maintenance costs.
In order to mitigate such an issue, this paper proposes a
novel approach that supports the design of both web and mobile
applications at once. Starting from a unique requirement
and business specification, where web– and mobile–specific
aspects are captured through tagging, we derive a platform independent
design of the system specified in IFML. This
model is subsequently refined and detailed for the two platforms,
and used to automatically generate both the web and
mobile versions. If more precise interactions are needed for
the mobile part, a blending with MobML, a mobile-specific
modeling language, is devised. Full traceability of the relations
between artifacts is granted.
BPMN and Design Patterns for Engineering Social BPM SolutionsMarco Brambilla
The integration of social software and BPM can help organizations harness the value of informal relationships and weak ties, without compromising the consolidated business practices embedded in conventional BPM solutions. This paper presents a process design methodology, supported by a tool suite, for addressing the extension of business processes with social features. The social process design exploits an extension of BPMN for capturing social requirements, a gallery of social BPM design patterns that represent reusable solutions to recurrent process socialization requirements, and a model-to-model and mode-to-code transformation technology that automatically produces a process enactment Web application connected with mainstream social platforms.
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.
Automatic code generation for cross platform, multi-device mobile apps. An in...Marco Brambilla
This presentation was given at the MobileDeLi workshop 2015 collocated with the Splash 2015 conference.
With the continuously increasing adoption of mobile devices,
software development companies have new business opportunities
through direct sales in app stores and delivery of
business to employee (B2E) and business to business (B2B)
solutions. However, cross-platform and multi-device development
is a barrier for today's IT solution providers, especially
small and medium enterprises (SMEs), due to the high
cost and technical complexity of targeting development to a
wide spectrum of devices, which dier in format, interaction
paradigm, and software architecture. So far, several authors
have proposed the application of model driven approaches
to mobile apps development following a variety of strategies.
In this paper we present the results of a research study conducted
to nd the best strategy for WebRatio, a software
development company, interested in producing a MDD tool
for designing and developing mobile apps to enter the mobile
apps market. We report on a comparative study conducted
to identify the best trade-os between various automatic
code generation approaches.
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/
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/
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/
Wanna see your open source project succeed? - Nurture your communityJordi Cabot
Many open source projects stagnate after an initial push and end-up fading away. In this talk, we will argue that, most of the time, the reason has nothing to do with the quality of the software itself but with the project's inability to attract and support a healthy community around it. A community of contributors but also a community of users that must take an active role in the project as well.
We will review several actions and strategies that OSS project managers could put into practice to reverse this situation, mostly taken from atypical disciplines (for a software talk) like social science, economy and political science. As an example, we will talk about transparency and democracy in OSS, matching market design and software ecosystems.
Introduction to OCL - Tutorial given at the SFM'12 summer school
Learn more about OCL (and UML, DSLs, MDE,...) at : http://modeling-languages.com
Home page: http://jordicabot.com
Improving Software Languages: usage patterns to the rescueJordi Cabot
In this presentation at PAME 2015 (STAF co-located workshop) I argue that most patterns are useless and the only ones I´m interested in are usage patterns showing how people really use a language. Then I go on to claim that these usage patterns are the key to evolve a language in order to improve its usability
Read more on: http://modeling-languages.com and http://jordicabot.com
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...Jordi Cabot
Slides for the mdse-book.com chapter 8: model-to-model transformations
Complete set of slides now available:
Chapter 1 - http://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-1-introduction
Chapter 2 - http://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-2-mdse-principles
Chapter 3 - http://www.slideshare.net/jcabot/model-driven-software-engineering-in-practice-chapter-3-mdse-use-cases
Chapter 4 - http://www.slideshare.net/jcabot/modeldriven-software-engineering-in-practice-chapter-4
Chapter 5 - https://www.slideshare.net/mbrambil/modeldriven-software-engineering-in-practice-chapter-5-integration-of-modeldriven-in-development-processes
Chapter 6 - http://www.slideshare.net/jcabot/mdse-bookslideschapter6
Chapter 7 - http://www.slideshare.net/mbrambil/model-driven-software-engineering-in-practice-book-chapter-7-developing-your-own-modeling-language
Chapter 8 - http://www.slideshare.net/jcabot/modeldriven-software-engineering-in-practice-chapter-8-modeltomodel-transformations
Chapter 9 - https://www.slideshare.net/mbrambil/model-driven-software-engineering-in-practice-book-chapter-9-model-to-text-transformations-and-code-generation
Chapter 10 - http://www.slideshare.net/jcabot/mdse-bookslideschapter10managingmodels
This book discusses how approaches based on modeling can improve the daily practice of software professionals. This is known as Model-Driven Software Engineering (MDSE) or, simply, Model-Driven Engineering (MDE).
MDSE practices have proved to increase efficiency and effectiveness in software development. MDSE adoption in the software industry is foreseen to grow exponentially in the near future, e.g., due to the convergence of software development and business analysis.
This book is an agile and flexible tool to introduce you to the MDE and MDSE world, thus allowing you to quickly understand its basic principles and techniques and to choose the right set of MDE instruments for your needs so that you can start to benefit from MDE right away.
The first part discusses the foundations of MDSE in terms of basic concepts (i.e., models and transformations), driving principles, application scenarios and current standards, like the wellknown MDA initiative proposed by OMG (Object Management Group) as well as the practices on how to integrate MDE in existing development processes.
The second part deals with the technical aspects of MDSE, spanning from the basics on when and how to build a domain-specific modeling language, to the description of Model-to-Text and Model-to-Model transformations, and the tools that support the management of MDE projects.
The book covers introductory and technical topics, spanning definitions and orientation in the MD* world, metamodeling, domain specific languages, model transformations, reverse engineering, OMG's MDA, UML, OCL, ATL, QVT, MOF, Eclipse, EMF, GMF, TCS, xText.
http://www.mdse-book.com
Night Knights: exploiting games to engage people in a citizen science campaignIrene Celino
Presentation from the STARS4ALL project at the DSI Fair 2017, during the Collective Sensing and Action workshop. Focus on the Night Knights classification game, available at http://www.nightknights.eu
A Model-Based Method for Seamless Web and Mobile Experience. Splash 2016 conf.Marco Brambilla
Consumer-centered software applications nowadays are required
to be available both as mobile and desktop versions.
However, the app design is frequently made only for one of
the two (i.e., mobile first or web first) while missing an appropriate
design for the other (which, in turn, simply mimics
the interaction of the first one). This results into poor quality
of the interaction on one or the other platform. Current solutions
would require different designs, to be realized through
different design methods and tools, and that may require to
double development and maintenance costs.
In order to mitigate such an issue, this paper proposes a
novel approach that supports the design of both web and mobile
applications at once. Starting from a unique requirement
and business specification, where web– and mobile–specific
aspects are captured through tagging, we derive a platform independent
design of the system specified in IFML. This
model is subsequently refined and detailed for the two platforms,
and used to automatically generate both the web and
mobile versions. If more precise interactions are needed for
the mobile part, a blending with MobML, a mobile-specific
modeling language, is devised. Full traceability of the relations
between artifacts is granted.
BPMN and Design Patterns for Engineering Social BPM SolutionsMarco Brambilla
The integration of social software and BPM can help organizations harness the value of informal relationships and weak ties, without compromising the consolidated business practices embedded in conventional BPM solutions. This paper presents a process design methodology, supported by a tool suite, for addressing the extension of business processes with social features. The social process design exploits an extension of BPMN for capturing social requirements, a gallery of social BPM design patterns that represent reusable solutions to recurrent process socialization requirements, and a model-to-model and mode-to-code transformation technology that automatically produces a process enactment Web application connected with mainstream social platforms.
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.
Automatic code generation for cross platform, multi-device mobile apps. An in...Marco Brambilla
This presentation was given at the MobileDeLi workshop 2015 collocated with the Splash 2015 conference.
With the continuously increasing adoption of mobile devices,
software development companies have new business opportunities
through direct sales in app stores and delivery of
business to employee (B2E) and business to business (B2B)
solutions. However, cross-platform and multi-device development
is a barrier for today's IT solution providers, especially
small and medium enterprises (SMEs), due to the high
cost and technical complexity of targeting development to a
wide spectrum of devices, which dier in format, interaction
paradigm, and software architecture. So far, several authors
have proposed the application of model driven approaches
to mobile apps development following a variety of strategies.
In this paper we present the results of a research study conducted
to nd the best strategy for WebRatio, a software
development company, interested in producing a MDD tool
for designing and developing mobile apps to enter the mobile
apps market. We report on a comparative study conducted
to identify the best trade-os between various automatic
code generation approaches.
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/
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)
AI and Software consultants: friends or foes?Jordi Cabot
How can AI help software consultants (and what you need to keep in mind if we are open to that, especially when it comes to issues like hallucination, code vulnerabilities or ethical risks).
There is an increasing demand for embedding intelligence in software systems as part of its core set of features both in the front-end (e.g. conversational user interfaces) and back-end (e.g. prediction services). This combination is usually referred to as AI-enhanced software or, simply, smart software.
The development of smart software poses new engineering challenges, as now we need to deal with the engineering of the “traditional” components, the engineering of the “AI” ones but also of the interaction between both types that need to co-exist and collaborate.
In this talk we'll see how modeling can help tame the complexity of engineering smart software by enabling software engineers specify and generate smart software systems starting from higher-level and platform-independent modeling primitives.
But, unavoidably, these models will be more diverse and complex than our usual ones. Don't despair, we'll also see how some of these same AI techniques that are making our modeling life challenging can be turned into allies and be transformed into modeling assistants to tackle the engineering of smart software with a new breed of smart modeling tools.
Modeling should be an independent scientific disciplineJordi Cabot
Software modeling started as a paradigm to help developers build better software faster by enabling them to specify, reason and manipulate software systems at a higher-abstraction level while ignoring irrelevant low-level technical details. But this same principle manifests in any other domain that has to deal with complex systems, software-based or not. We argue that bringing to other engineering and scientific fields, our modeling expertise is a win–win opportunity where we can all learn from each other as we all model, but in complementary ways. Nevertheless, to fully unleash the benefits of this collaboration, we must go beyond individual efforts trying to adapt single techniques from one field to another. It requires a deeper reformulation of modeling as a whole. It is time for modeling to become an independent discipline where all fields of knowledge can contribute and benefit from.
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...Jordi Cabot
No hay suficientes programadores profesionales para todo el software que necesita nuestra sociedad. Aquí propongo una serie de soluciones alternativas.
All Researchers Should Become EntrepreneursJordi Cabot
We often complain about the challenges associated with a fruitful research-industry collaboration. Wwe propose that researchers become entrepreneurs and play both roles at the same time. This could be the quickest way to get real feedback on the quality and impact of our research
The Software Challenges of Building Smart Chatbots - ICSE'21Jordi Cabot
Chatbots are popular solutions assisting humans in multiple fields, such as customer support or e-learning. However, building such applications has become a complex task requiring a high-level of expertise in a variety of technical domains. Chatbots need to integrate (AI-based) NLU components, but also connect to internal/external services, deploy on various platforms, etc.
The briefing will first cover the current landscape of chatbot frameworks. Then, we’ll get our hands dirty and create a few bots of increasing difficulty playing with aspects like entity recognition, sentiment analysis, event processing, or testing. By the end of the session, attendees will have all the keys to understand the main steps and obstacles to building a good chatbot.
Future Trends on Software and Systems ModelingJordi Cabot
Modeling is more popular than ever, even if sometimes hidden behind other names (e.g. low-code). But of course, we can always do better.
In this talk, I'll describe the main technical/social challenges modeling is facing and the key trends that could solve them. We'll even throw some AI, Machine Learning and bots in the mix to show how modeling can be also useful there and even more, benefit from them, to move towards a smarter modeling future.
Ingeniería del Software dirigida por modelos -Versión para incrédulosJordi Cabot
Presentación en el 2do. Foro de Ingeniería de Software
Tendencias para automatizar el desarrollo de software. Hablando de modelado de software, generación de código,...
An LSTM-Based Neural Network Architecture for Model TransformationsJordi Cabot
We propose to take advantage of the advances in Artificial Intelligence and, in particular, Long Short-Term Memory Neural Networks (LSTM), to automatically infer model transformations from sets of input-output model pairs.
Software Modeling and Artificial Intelligence: friends or foes?Jordi Cabot
See how modeling can help the AI world (e.g. a model-driven approach to build chatbots) and how AI can create smarter modeling tools (e.g. using ML to learn transformations and code generation templates)
Temporal EMF: A temporal metamodeling platformJordi Cabot
Adding a temporal layer on top modeling tools. It includes a temporal profile for EMF, temporal queries with OCL and a NoSQL HBase backend for your models
UMLtoNoSQL : From UML domain models to NoSQL DatabasesJordi Cabot
Code-generators and low-code tools need to be able to target a combination of SQL and NoSQL databases as storage mechanisms for the apps they generate. Our UMLtoNoSQL solution enables this.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
AI Genie Review: World’s First Open AI WordPress Website CreatorGoogle
AI Genie Review: World’s First Open AI WordPress Website Creator
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-genie-review
AI Genie Review: Key Features
✅Creates Limitless Real-Time Unique Content, auto-publishing Posts, Pages & Images directly from Chat GPT & Open AI on WordPress in any Niche
✅First & Only Google Bard Approved Software That Publishes 100% Original, SEO Friendly Content using Open AI
✅Publish Automated Posts and Pages using AI Genie directly on Your website
✅50 DFY Websites Included Without Adding Any Images, Content Or Doing Anything Yourself
✅Integrated Chat GPT Bot gives Instant Answers on Your Website to Visitors
✅Just Enter the title, and your Content for Pages and Posts will be ready on your website
✅Automatically insert visually appealing images into posts based on keywords and titles.
✅Choose the temperature of the content and control its randomness.
✅Control the length of the content to be generated.
✅Never Worry About Paying Huge Money Monthly To Top Content Creation Platforms
✅100% Easy-to-Use, Newbie-Friendly Technology
✅30-Days Money-Back Guarantee
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIGenieApp #AIGenieBonus #AIGenieBonuses #AIGenieDemo #AIGenieDownload #AIGenieLegit #AIGenieLiveDemo #AIGenieOTO #AIGeniePreview #AIGenieReview #AIGenieReviewandBonus #AIGenieScamorLegit #AIGenieSoftware #AIGenieUpgrades #AIGenieUpsells #HowDoesAlGenie #HowtoBuyAIGenie #HowtoMakeMoneywithAIGenie #MakeMoneyOnline #MakeMoneywithAIGenie
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Navigating the Metaverse: A Journey into Virtual Evolution"
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