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
Generate an OData implementation for your data based on an initial UML domain model. Refine the model with OData information for a more precise generation.
Revisiting all aspects of model-driven engineering (application, teaching, verification , tooling, research,...) promoting a lightweight perspective to maximize MDE success and adoption
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
Cognification is the application of knowledge to boost the performance and impact of a process. We believe cognification could be a revolution in the way software is built.
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.
Model driven software engineering in practice book - chapter 7 - Developing y...Marco Brambilla
Slides for the mdse-book.com - Chapter 7: Developing Your Own Modeling Language.
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 - http://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 the MD* world, metamodeling, domain specific languages, model transformations, reverse engineering, OMG's MDA, UML, OCL, ATL, QVT, MOF, Eclipse, EMF, GMF, TCS, xText.
This document provides an introduction to model driven engineering and software models. It discusses how models provide an abstract representation of a system that can be used to investigate and verify properties before production. The document then covers the history of software models and milestones like the Object Management Group adopting standards like the Unified Modeling Language (UML) and Model Driven Architecture (MDA). It defines key concepts in model driven engineering like platform independent models and platform specific models. Finally, it discusses how models are specified using meta-models and transformations between models.
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Lionel Briand
The document discusses experiences and lessons learned from making model-driven verification practical and scalable. It describes several projects collaborating with industry partners to develop model-based solutions for verification. Key challenges addressed include achieving applicability for engineers, scalability to large systems, and developing solutions informed by real-world problems. Lessons learned emphasize the importance of collaborative applied research, defining problems in context, and validating solutions realistically.
Model-driven Round-trip Engineering of REST APIsJordi Cabot
This document outlines an approach to model-driven engineering of REST APIs. It proposes three main contributions: APIDiscoverer, which uses examples to automatically discover and enrich OpenAPI specifications; APITester, which generates test cases from OpenAPI specifications; and APIComposer, which enables composition of REST APIs based on semantic matching between OpenAPI and OData models. Future work is discussed to improve coverage of APIDiscoverer, support additional features in APITester, and extend matching strategies for APIComposer.
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionMarco Brambilla
Slides for the mdse-book.com chapter 1: Introduction
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
Software Modeling and Artificial Intelligence: friends or foes?Jordi Cabot
(1) Modeling and AI can be both friends and foes, depending on how they are used together.
(2) Model-driven engineering (MDE) approaches can help make AI systems like chatbots and machine learning pipelines more rigorous, robust, and interoperable by applying modeling principles.
(3) AI techniques like machine learning and deep learning also have the potential to enhance MDE, for example by enabling automated model transformations and smarter modeling tools with features like autocomplete.
Model driven software engineering in practice book - Chapter 9 - Model to tex...Marco Brambilla
Slides for the mdse-book.com chapter 9 - Model-to-text 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 - http://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 book is organized into two main parts.
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 a wide set of introductory and technical topics, spanning MDE at large, definitions and orientation in the MD* world, metamodeling, domain specific languages, model transformations, reverse engineering, OMG's MDA, UML, OCL, A
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Jordi Cabot
Slides for the mdse-book.com chapter 4: MODEL DRIVEN ARCHITECTURE (MDA)
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
IFML - The interaction flow modeling language, the OMG standard for UI modeli...Marco Brambilla
The video of the webinar is available on YouTube at:
http://www.youtube.com/watch?v=5u6AVYclWao
Table of Contents of the webinar:
00:05 - IFML, OMG and WebRatio
00:32 - Intro and motivation
10:36 - IFML Notation
19:19 - IFML Examples
33:34 - Metamodel and extensibility
45:39 - Standard and interchange
51:05 - MDSE Book
51:33 - IFML tools
The standard Interaction Flow Modeling Language (IFML) is designed for expressing the content, user interaction and control behaviour of the front-end of software applications.
The Interaction Flow Modeling Language has been adopted as a standard by OMG in March 2013. The standard Interaction Flow Modeling Language is designed for expressing the content, user interaction and control behaviour of the front-end of applications belonging to the following domains:
Traditional, HTML+HTTP based Web applications.
Rich Internet Applications, as supported by the forthcoming HTML 5 standard.
Mobile applications.
Client-server applications.
Desktop applications.
Embedded Human Machine Interfaces for control applications.
Multichannel and context-aware applications.
It's worth noting that IFML does not cover the modeling of the presentation issues (e.g., layout, stlye and look&feel) of an application front-end and does not cater for the specification of bi-dimensional and tri-dimensional computer based graphics, videogames, and other highly interactive applications.
According to the IFML definitions, an IFML diagram consists of one or more top-level view containers, representing UI windows or Web pages. A view container can contain view components, which denote the publication of content or interface elements for data entry (e.g., input forms). A view component can have input and output parameters. A view container and a view component can be associated with events, to denote that they support the user's interaction.
See more on IFML at: http://www.ifml.org
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesMarco Brambilla
Slides for the mdse-book.com chapter 2: Model-driven Software Engineering Principles.
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
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.
Introduction to architectures based on models, models and metamodels. model d...Vicente García Díaz
This document provides an introduction to model-driven architecture and model-driven engineering. It discusses the motivation for MDE, including reducing software complexity and improving productivity. The key concepts of MDE are models, metamodels, and model transformations to generate code and other artifacts. MDE aims to increase abstraction levels and automate software development processes. The document uses examples like state machines and database schemas to illustrate metamodels, modeling languages and model transformations.
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...Jordi Cabot
Slides for the mdse-book.com chapter 6: Modeling Languages at a Glance
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
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Marco Brambilla
Slides for the mdse-book.com chapter 5: Integration of Model-driven Software Development (MDSE) in your Development Processes
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 - http://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 - http://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 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
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesJordi Cabot
Slides for the mdse-book.com chapter 3: MDSE Use cases
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
The document summarizes a talk on live modeling given by Benoit Combemale at a LangDev meetup at Amazon. Live modeling brings immediate feedback and direct manipulation capabilities to modeling environments. It allows users to see how changes to a model impact its runtime state or execution trace. Live modeling has various uses across different domains and can enhance modeling tools. The talk explored live modeling challenges and approaches from a language engineering perspective, with the goal of integrating these capabilities into domain-specific languages.
Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...Marco Brambilla
The document provides a status update on the Interaction Flow Modeling Language (IFML) Beta 2 specification from the FTF meeting. It discusses submitted issues being addressed, previews updates to the metamodel, and the implementation status of IFML modeling tools. WebRatio is now IFML compliant and a new open source modeling tool is being developed using the Obeo Sirius framework.
This document defines various C++ concepts and terms. It discusses classes, objects, abstraction, encapsulation, overloading, generics, inheritance, polymorphism, templates, dynamic binding, abstract base classes, namespaces, exceptions, containers, the standard template library, function objects, differences between C and C++, references, mutability, initialization lists, casts, CppUnit for testing, and design patterns. It provides brief definitions and examples for each term to explain core C++ concepts and features.
Model driven development and code generation of software systemsMarco Brambilla
Marco Brambilla discusses his research in model-driven development and code generation of software systems. His research path has included topics like business processes, semantic web, web services, and crowdsourcing. More recently, he has focused on model-driven approaches to develop crowd-based applications using a framework called CrowdSearcher. CrowdSearcher uses model-driven engineering principles to design, deploy, and control crowd-based systems through declarative specifications.
Software Architecture: Principles, Patterns and PracticesGanesh Samarthyam
Are you a developer or designer aspiring to become an architect? Do you want to learn about the architecture of open source applications? Do you want to learn software architecture through case studies and examples? If you have answered “yes” to any of these questions, this presentation is certainly for you. This presentation will introduce you to key topics in software architecture including architectural principles, constraints, non-functional requirements (NFRs), architectural styles and design patterns, viewpoints and perspectives, and architecture tools. A special feature of this workshop: it covers examples and case studies from open source applications. What’s more, you’ll also get exposed to some free or open source tools used by practicing software architects.
Contents overview:
* Introduction to SA
* Overview of design principles, patterns and architectural styles
* Realising quality requirements (NFRs)
* Case studies: Architecture of well-known open source applications
* Tools: Free or open source tools for software architects
* Must to read books on software architecture
(Presented in OSI Days workshop in Bangalore on 19th Nov 2015).
GraphQL is an open-source query language and runtime for APIs. It was developed by Facebook to address the limitations of traditional RESTful APIs. GraphQL allows clients to request and retrieve precisely the data they need from the server, reducing over-fetching and under-fetching of data. It features a hierarchical query structure and a strong type system for precise data validation. GraphQL supports real-time updates through subscriptions and provides a flexible approach to data fetching, simplifying development and improving efficiency. Overall, GraphQL offers a modern and scalable solution for building APIs.
This document provides an introduction to GraphQL, including:
1. It summarizes REST and some of its limitations like overfetching/underfetching and multiple network requests.
2. GraphQL is introduced as a new approach focused on the client's data needs through queries rather than the server's resources. It allows clients to request specific data fields from multiple objects in a single request.
3. The document explains GraphQL concepts like queries, mutations, subscriptions, schemas defined using SDL, and query resolvers that map the schema to execution.
4. It provides an example of implementing GraphQL with a blog service using Spring Boot and discusses some performance tradeoffs and challenges of GraphQL.
This document provides an introduction to model driven engineering and software models. It discusses how models provide an abstract representation of a system that can be used to investigate and verify properties before production. The document then covers the history of software models and milestones like the Object Management Group adopting standards like the Unified Modeling Language (UML) and Model Driven Architecture (MDA). It defines key concepts in model driven engineering like platform independent models and platform specific models. Finally, it discusses how models are specified using meta-models and transformations between models.
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Lionel Briand
The document discusses experiences and lessons learned from making model-driven verification practical and scalable. It describes several projects collaborating with industry partners to develop model-based solutions for verification. Key challenges addressed include achieving applicability for engineers, scalability to large systems, and developing solutions informed by real-world problems. Lessons learned emphasize the importance of collaborative applied research, defining problems in context, and validating solutions realistically.
Model-driven Round-trip Engineering of REST APIsJordi Cabot
This document outlines an approach to model-driven engineering of REST APIs. It proposes three main contributions: APIDiscoverer, which uses examples to automatically discover and enrich OpenAPI specifications; APITester, which generates test cases from OpenAPI specifications; and APIComposer, which enables composition of REST APIs based on semantic matching between OpenAPI and OData models. Future work is discussed to improve coverage of APIDiscoverer, support additional features in APITester, and extend matching strategies for APIComposer.
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionMarco Brambilla
Slides for the mdse-book.com chapter 1: Introduction
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
Software Modeling and Artificial Intelligence: friends or foes?Jordi Cabot
(1) Modeling and AI can be both friends and foes, depending on how they are used together.
(2) Model-driven engineering (MDE) approaches can help make AI systems like chatbots and machine learning pipelines more rigorous, robust, and interoperable by applying modeling principles.
(3) AI techniques like machine learning and deep learning also have the potential to enhance MDE, for example by enabling automated model transformations and smarter modeling tools with features like autocomplete.
Model driven software engineering in practice book - Chapter 9 - Model to tex...Marco Brambilla
Slides for the mdse-book.com chapter 9 - Model-to-text 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 - http://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 book is organized into two main parts.
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 a wide set of introductory and technical topics, spanning MDE at large, definitions and orientation in the MD* world, metamodeling, domain specific languages, model transformations, reverse engineering, OMG's MDA, UML, OCL, A
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Jordi Cabot
Slides for the mdse-book.com chapter 4: MODEL DRIVEN ARCHITECTURE (MDA)
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
IFML - The interaction flow modeling language, the OMG standard for UI modeli...Marco Brambilla
The video of the webinar is available on YouTube at:
http://www.youtube.com/watch?v=5u6AVYclWao
Table of Contents of the webinar:
00:05 - IFML, OMG and WebRatio
00:32 - Intro and motivation
10:36 - IFML Notation
19:19 - IFML Examples
33:34 - Metamodel and extensibility
45:39 - Standard and interchange
51:05 - MDSE Book
51:33 - IFML tools
The standard Interaction Flow Modeling Language (IFML) is designed for expressing the content, user interaction and control behaviour of the front-end of software applications.
The Interaction Flow Modeling Language has been adopted as a standard by OMG in March 2013. The standard Interaction Flow Modeling Language is designed for expressing the content, user interaction and control behaviour of the front-end of applications belonging to the following domains:
Traditional, HTML+HTTP based Web applications.
Rich Internet Applications, as supported by the forthcoming HTML 5 standard.
Mobile applications.
Client-server applications.
Desktop applications.
Embedded Human Machine Interfaces for control applications.
Multichannel and context-aware applications.
It's worth noting that IFML does not cover the modeling of the presentation issues (e.g., layout, stlye and look&feel) of an application front-end and does not cater for the specification of bi-dimensional and tri-dimensional computer based graphics, videogames, and other highly interactive applications.
According to the IFML definitions, an IFML diagram consists of one or more top-level view containers, representing UI windows or Web pages. A view container can contain view components, which denote the publication of content or interface elements for data entry (e.g., input forms). A view component can have input and output parameters. A view container and a view component can be associated with events, to denote that they support the user's interaction.
See more on IFML at: http://www.ifml.org
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesMarco Brambilla
Slides for the mdse-book.com chapter 2: Model-driven Software Engineering Principles.
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
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.
Introduction to architectures based on models, models and metamodels. model d...Vicente García Díaz
This document provides an introduction to model-driven architecture and model-driven engineering. It discusses the motivation for MDE, including reducing software complexity and improving productivity. The key concepts of MDE are models, metamodels, and model transformations to generate code and other artifacts. MDE aims to increase abstraction levels and automate software development processes. The document uses examples like state machines and database schemas to illustrate metamodels, modeling languages and model transformations.
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...Jordi Cabot
Slides for the mdse-book.com chapter 6: Modeling Languages at a Glance
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
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Marco Brambilla
Slides for the mdse-book.com chapter 5: Integration of Model-driven Software Development (MDSE) in your Development Processes
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 - http://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 - http://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 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
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesJordi Cabot
Slides for the mdse-book.com chapter 3: MDSE Use cases
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
The document summarizes a talk on live modeling given by Benoit Combemale at a LangDev meetup at Amazon. Live modeling brings immediate feedback and direct manipulation capabilities to modeling environments. It allows users to see how changes to a model impact its runtime state or execution trace. Live modeling has various uses across different domains and can enhance modeling tools. The talk explored live modeling challenges and approaches from a language engineering perspective, with the goal of integrating these capabilities into domain-specific languages.
Interaction Flow Modeling Language: updates on the Beta2 version - by the OMG...Marco Brambilla
The document provides a status update on the Interaction Flow Modeling Language (IFML) Beta 2 specification from the FTF meeting. It discusses submitted issues being addressed, previews updates to the metamodel, and the implementation status of IFML modeling tools. WebRatio is now IFML compliant and a new open source modeling tool is being developed using the Obeo Sirius framework.
This document defines various C++ concepts and terms. It discusses classes, objects, abstraction, encapsulation, overloading, generics, inheritance, polymorphism, templates, dynamic binding, abstract base classes, namespaces, exceptions, containers, the standard template library, function objects, differences between C and C++, references, mutability, initialization lists, casts, CppUnit for testing, and design patterns. It provides brief definitions and examples for each term to explain core C++ concepts and features.
Model driven development and code generation of software systemsMarco Brambilla
Marco Brambilla discusses his research in model-driven development and code generation of software systems. His research path has included topics like business processes, semantic web, web services, and crowdsourcing. More recently, he has focused on model-driven approaches to develop crowd-based applications using a framework called CrowdSearcher. CrowdSearcher uses model-driven engineering principles to design, deploy, and control crowd-based systems through declarative specifications.
Software Architecture: Principles, Patterns and PracticesGanesh Samarthyam
Are you a developer or designer aspiring to become an architect? Do you want to learn about the architecture of open source applications? Do you want to learn software architecture through case studies and examples? If you have answered “yes” to any of these questions, this presentation is certainly for you. This presentation will introduce you to key topics in software architecture including architectural principles, constraints, non-functional requirements (NFRs), architectural styles and design patterns, viewpoints and perspectives, and architecture tools. A special feature of this workshop: it covers examples and case studies from open source applications. What’s more, you’ll also get exposed to some free or open source tools used by practicing software architects.
Contents overview:
* Introduction to SA
* Overview of design principles, patterns and architectural styles
* Realising quality requirements (NFRs)
* Case studies: Architecture of well-known open source applications
* Tools: Free or open source tools for software architects
* Must to read books on software architecture
(Presented in OSI Days workshop in Bangalore on 19th Nov 2015).
GraphQL is an open-source query language and runtime for APIs. It was developed by Facebook to address the limitations of traditional RESTful APIs. GraphQL allows clients to request and retrieve precisely the data they need from the server, reducing over-fetching and under-fetching of data. It features a hierarchical query structure and a strong type system for precise data validation. GraphQL supports real-time updates through subscriptions and provides a flexible approach to data fetching, simplifying development and improving efficiency. Overall, GraphQL offers a modern and scalable solution for building APIs.
This document provides an introduction to GraphQL, including:
1. It summarizes REST and some of its limitations like overfetching/underfetching and multiple network requests.
2. GraphQL is introduced as a new approach focused on the client's data needs through queries rather than the server's resources. It allows clients to request specific data fields from multiple objects in a single request.
3. The document explains GraphQL concepts like queries, mutations, subscriptions, schemas defined using SDL, and query resolvers that map the schema to execution.
4. It provides an example of implementing GraphQL with a blog service using Spring Boot and discusses some performance tradeoffs and challenges of GraphQL.
In this presentation, Suraj Kumar Paul of Valuebound has walked us through GraphQL. Founded by Facebook in 2012, GraphQL is a data query language that provides an alternative to REST and web service architectures.
Here he has discussed core ideas of GraphQL, limitations of RESTful APIs, operations, arguments, fragmentation, variables, mutations etc.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
In questa breve presentazione vedremo cosa è e cosa ci permette di fare GraphQL, e come questo nuovo approccio alle API possa essere integrato ad una GraphDB in modo efficiente
This document discusses how GraphQL and graph databases are well-suited for each other. GraphQL allows clients to request specific data in a hierarchical format, while graph databases are optimized for traversing relationships. Translating a GraphQL query to a single graph database query could prevent the "N+1 queries problem" and improve performance. The document demonstrates a proof of concept for translating GraphQL queries to queries in Neo4j and OrientDB graph databases.
GraphQL is a query language for APIs that allows clients to request specific data fields from an API endpoint rather than the typical REST approach of requesting predefined resources. It was created by Facebook in 2015. Sangria is a Scala library that parses GraphQL queries and validates them before invoking the relevant method depending on if the operation is a query, mutation, or subscription. The document then provides examples of GraphQL queries demonstrating concepts like fields, arguments, aliases, fragments, variables, mutations, inline fragments, and schema definitions.
GraphQL with .NET Core Microservices.pdfKnoldus Inc.
In this Webinar, will talk on GraphQL with .NET, that provides a modern and flexible approach to building APIs. It empowers developers to create efficient and tailored APIs that meet the specific needs of their applications and clients.
GraphQL - when REST API is not enough - lessons learnedMarcinStachniuk
This document discusses lessons learned from implementing GraphQL APIs. It begins by describing some limitations of REST APIs, such as requiring multiple roundtrips to fetch nested data. GraphQL is introduced as an alternative that allows clients to specify exactly what data they need in a single request. The document then covers various GraphQL concepts like queries, mutations, and type systems. It also discusses best practices like using a schema-first approach, pagination support, and the DataLoader library to solve the N+1 problem. Testing GraphQL APIs and integrating with Relay are also briefly outlined. The overall message is that GraphQL is a good alternative to REST when clients have complex data needs.
This document discusses GraphQL and compares it to REST architectures. It begins by explaining REST and some of its limitations. Then it introduces GraphQL, describing how it allows clients to fetch data through queries with one request. The document demonstrates GraphQL concepts like schemas, queries, mutations, subscriptions, and resolvers through examples. It also discusses common GraphQL architectures and reasons why GraphQL is an improvement over REST APIs.
Introduction to Testing GraphQL PresentationKnoldus Inc.
Explore strategies and best practices for testing systems built on event-driven architecture. Learn how to ensure the reliability and responsiveness of event-driven applications through comprehensive testing methodologies.
Testing Graph QL Presentation (Test Automation)Knoldus Inc.
Discover how to test GraphQL effectively! This session dives into checking if your data queries and changes work correctly. You'll learn to ensure your data stays safe and accurate. We'll cover practical examples to help you understand these methods better by the end of our session.
GraphQL is a syntax that describes how to ask for data, and is generally used to load data from a server to a client. GraphQL has three main characteristics:
It lets the client specify exactly what data it needs.
It makes it easier to aggregate data from multiple sources.
It uses a type system to describe data.
GraphQL - The new "Lingua Franca" for API-Developmentjexp
Three years ago, with the release of the GraphQL specification, Facebook took a fresh stab at the topic of "API design between remote services and applications." The key aspects of GraphQL provide a common, schema-based, domain-specific language and flexible, dynamic queries at interface boundaries.
In the talk, I'd like to compare GraphQL and REST and showcase benefits for developers and architects using a concrete example in application and API development, data source and system integration.
What/How to do with GraphQL? - Valentyn Ostakh (ENG) | Ruby Meditation 27Ruby Meditation
Speech of Valentyn Ostakh, Ruby Developer at Ruby Garage, at Ruby Meditation 27, Dnipro, 19.05.2019
Slideshare -
Next conference - http://www.rubymeditation.com/
This talk explores basic concepts of GraphQL.
The main goal is to show how GraphQL works and of what parts it consists of.
From the Ruby side we will look at how to create a GraphQL schema.
In addition, we will consider what pitfalls can be encountered at the start of work with GraphQL.
Announcements and conference materials https://www.fb.me/RubyMeditation
News https://twitter.com/RubyMeditation
Photos https://www.instagram.com/RubyMeditation
The stream of Ruby conferences (not just ours) https://t.me/RubyMeditation
This document summarizes and compares several GraphQL libraries for Java: graphql-java, graphql-java-kickstart, and dgs-framework. It discusses their features for defining schemas and types, handling data fetching and caching, performing mutations, handling errors, testing functionality, and code generation capabilities. Overall, dgs-framework requires the least amount of boilerplate code, supports testing and code generation more fully, and is designed specifically for use within Spring Boot applications.
Intro to GraphQL for Database DevelopersDaniel McGhan
RPC, REST, and now GraphQL? Yes! Facebook’s latest standard is shaking up the API world as it promises to provide consumers with more power and flexibility than they’ve had with previous standards. Sounds great, but how should one get started surfacing up data from their relational databases with GraphQL? In this session, attendees will get a brief overview of GraphQL APIs and learn about some of the key advantages they can offer over REST APIs. Next, a technical deep dive will show how GraphQL works and how it can be tied into new or existing relational data stores.
This document discusses designing a GraphQL API for a Netflix service across browsers, mobile apps, and TV. It describes a Movie type with different fields returned depending on the device. A new requirement is added that some mobile devices cannot accept posters, requiring an optional poster field. GraphQL was created by Facebook in 2012 and released in 2015. It is a query language for APIs that allows flexible data fetching.
Dubbed with prominent descriptions like "REST done right" GraphQL, released by Facebook in 2015, is a technology quickly gaining adoption in the web space. How about mobile? In this talk we will discuss our "from the trenches" experience in adopting GraphQL in the context of designing of one of the biggest insurance companies in Italy and worldwide, MyAXA. We will discuss features of the protocol and query languages. including most popular implementations on the Android, iOS and NodeJS sides, and expanding on the best practices to squeeze the most value from this innovative approach.
Societal challenges of AI: biases, multilinguism and sustainabilityJordi Cabot
Towards a fairer, inclusive and sustainable AI that works for everybody.
Reviewing the state of the art on these challenges and what we're doing at LIST to test current LLMs and help you select the one that works best for you
¿Cómo será el programador del futuro? ¿Tendremos trabajo?Jordi Cabot
Cada vez necesitamos más software. Y encima queremos que sea cada vez más inteligente. Pero ¿quién escribirá todo ese código?. ¿Programadores humanos? ¿Agentes? ¿Gente que no tiene ni idea de programar?
En esta charla hable de cómo el desarrollo software se está acelerando con tecnologías como las plataformas lowcode / nocode y la IA y cómo esto va a cambiar el mercado y nuestro propio trabajo como desarrolladores profesionales (sin perderlo!) en un futuro ya muy cercano.
The low-code handbook - Chapter 1: Basic Low-code questions and answers.Jordi Cabot
Slides for the lowcode-book.com - Chapter 1: Basic Low-code questions and answers.
The Low-code handbook -> Learn how to unlock faster and better software development with low-code solutions.
Low-code development represents a paradigm shift in software creation, aiming to expedite application delivery by minimizing manual coding. In a time when software demand is escalating across all sectors and the availability of skilled programmers is limited, low-code emerges as a potential solution to deliver high-quality software more efficiently.
This book seeks to unravel the intricacies of low-code development. It addresses questions such as: Who is it for? What types of applications can be developed using low-code? How can one optimize the quality and volume of the code produced? How does one select the most suitable tool, or even create your own, tailor-made, solution?
Providing pragmatic and comprehensive answers to these questions, this book equips readers with the necessary knowledge to understand and navigate the low-code landscape. It is structured into ten chapters that delve into both the technical and societal aspects of low-code, its relationship with other software development paradigms, and the potential role of Artificial Intelligence within the low-code movement. Furthermore, it explores how low-code methodologies can be utilized to develop intelligent software applications.
As low-code development continues to gain mainstream acceptance and market share, this book serves as a highly valuable resource for anyone looking to understand and leverage this emerging approach to software development.
Who is going to develop the apps of the future? (hint: it’s not going to be ...Jordi Cabot
Talk given in the Unitalks series organized by the University of Luxembourg.
Talk abstract:
“Software is eating the world. Software powers your phone, your car and even your fridge. We need more and more software every day to advance in the digital transformation of our society. But who will write all this software? We don’t have enough skilled developers for that!
In this talk, we will explore the changing landscape of software development and we’ll see how Artificial Intelligence and low-code/no-code techniques can play a key role in this future by helping regular citizens with limited tech capabilities to create their own software solutions. From simple chatbots for your company website to more advanced software workflows able to classify your clients into “good” and “bad” ones, all possible apps are now just a few clicks away. If you can imagine it, you can build it.”
Application of the Tree-of-Thoughts Framework to LLM-Enabled Domain ModelingJordi Cabot
Domain modeling requires a deep understanding of the domain to carefully abstract the important elements that create a relevant conceptual model of it. This process is complex and involves iterative steps, requiring constant interaction and close collaboration between domain experts and modeling experts. Recent advancements in artificial intelligence, specifically Large Language Models (LLMs), are promising in assisting the different parts of this process.
But this assistance is not trivial as previous naïve attempts have shown us. To overcome the limitations of previous methods, this article explores how we adapted the Tree of Thoughts (ToT) framework to LLM-based domain modeling with the development of a new Domain Specific Language (DSL) that enables modelers to configure the ToT process for optimal results.
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).
Model-driven engineering for Industrial IoT architecturesJordi Cabot
The document describes an AsyncAPI specification for a model-driven architecture for an industrial IoT system. The specification defines an API for a monitoring channel ("iotbox/{id}/monitor") that publishes and subscribes status messages about IoT boxes. The message formats are defined under "components" including a "statusMessage" format that references nested "lineInfo" and "pressInfo" schemas defining the payload data structure.
Jordi Cabot discusses modeling approaches for smart software development. He argues that modeling can help generate smart software faster by automating parts of the process and using better models. His research focuses on domain-specific languages for modeling different aspects of smart systems, like interfaces, datasets, development processes, and more. The goal is to provide guidance and structure to help multidisciplinary teams successfully develop complex AI-based applications.
Modeling should be an independent scientific disciplineJordi Cabot
This document proposes that modeling should become an independent scientific discipline to better realize its full potential. Currently, modeling is seen primarily as a tool within software engineering, but it is applicable across many domains. An independent modeling discipline could bring together experts from different fields, develop a common body of knowledge and terminology, and help modeling gain more recognition and resources. Some initial steps suggested include making modeling tools more usable and accessible across domains, identifying economic benefits to promote adoption, and facilitating interdisciplinary publishing and education around modeling concepts and applications. The overarching goal is for modeling to serve all domains through a transdisciplinary approach.
¿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.
How to sustain a tool building community-driven effortJordi Cabot
This document discusses key dimensions for sustaining a tool building community-driven effort based on experiences developing modeling tools. It covers onboarding users and contributors, governance models, community health analysis using graph techniques, and optimization strategies. The document advocates an entrepreneurial path for tool development by releasing prototypes as open source software and improving them for real use cases to build a community and offer commercial services.
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.
This document discusses the relationship between low-code development and model-driven engineering (MDE). It notes that low-code is essentially a style of model-driven development focused on specific application types using a fixed language. While low-code tools have improved, the core concepts of modeling and code generation from models have existed in MDE research since the 1980s. The document argues low-code is worth studying from social and economic perspectives but does not present significant new technical challenges for MDE research. However, low-code popularity could help bring modeling expertise to new domains and communities. Researchers should monitor no-code tools which may evolve low-code further.
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.
Design by Contract - Building Robust Software with Contract-First DevelopmentPar-Tec S.p.A.
In the fast-paced world of software development, code quality and reliability are paramount. This SlideShare deck, presented at PyCon Italia 2025 by Antonio Spadaro, DevOps Engineer at Par-Tec, introduces the “Design by Contract” (DbC) philosophy and demonstrates how a Contract-First Development approach can elevate your projects.
Beginning with core DbC principles—preconditions, postconditions, and invariants—these slides define how formal “contracts” between classes and components lead to clearer, more maintainable code. You’ll explore:
The fundamental concepts of Design by Contract and why they matter.
How to write and enforce interface contracts to catch errors early.
Real-world examples showcasing how Contract-First Development improves error handling, documentation, and testability.
Practical Python demonstrations using libraries and tools that streamline DbC adoption in your workflow.
Scalefusion Remote Access for Apple DevicesScalefusion
🔌Tried restarting.
🔁Then updating.
🔎Then Googled a fix.
And then it crashed.
Guess who has to fix it? You. And who’ll help you? - Scalefusion.
Scalefusion steps in with real-time access, not just remote hope. Support for Apple devices that support you (and them) to do more.
For more: https://scalefusion.com/remote-access-software-mac
https://scalefusion.com/es/remote-access-software-mac
https://scalefusion.com/fr/remote-access-software-mac
https://scalefusion.com/pt-br/remote-access-software-mac
https://scalefusion.com/nl/remote-access-software-mac
https://scalefusion.com/de/remote-access-software-mac
https://scalefusion.com/ru/remote-access-software-mac
War Story: Removing Offensive Language from Percona ToolkitSveta Smirnova
Slides for the online stream at https://www.youtube.com/live/JOEpIQL7cXM for Percona (https://percona.community/events/2025-03-sveta-toolkit/) MySQL 8.4 GA was released with dropped offensive replication statements, such as START/STOP SLAVE. As a maintainer of the Percona Toolkit: a set of tools, originally written in the early days of MySQL when nobody was even thinking that these statements would change, - I had to rewrite all tools and libraries that use replication statements. This ended up with a huge changeset for 511 files in the toolkit. This stream covers the resolved and not yet resolved challenges that I have met when renewing legacy code.
The rise of e-commerce has redefined how retailers operate—and reconciliation...Prachi Desai
As payment flows grow more fragmented, the complexity of reconciliation and revenue recognition increases. The result? Mounting operational costs, silent revenue leakages, and avoidable financial risk.
Spot the inefficiencies. Automate what’s slowing you down.
https://www.taxilla.com/ecommerce-reconciliation
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATIONmiso_uam
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION (plenary talk at ANNSIM'2025)
Testing is essential to improve the correctness of software systems. Metamorphic testing (MT) is an approach especially suited when the system under test lacks oracles, or they are expensive to compute. However, building an MT environment for a particular domain (e.g., cloud simulation, automated driving simulation, production system simulation, etc) requires substantial effort.
To alleviate this problem, we propose a model-driven engineering approach to automate the construction of MT environments, which is especially useful to test domain-specific modelling and simulation systems. Starting from a meta-model capturing the domain concepts, and a description of the domain execution environment, our approach produces an MT environment featuring comprehensive support for the MT process. This includes the definition of domain-specific metamorphic relations, their evaluation, detailed reporting of the testing results, and the automated search-based generation of follow-up test cases.
In this talk, I presented the approach, along with ongoing work and perspectives for integrating intelligence assistance based on large language models in the MT process. The work is a joint collaboration with Pablo Gómez-Abajo, Pablo C. Cañizares and Esther Guerra from the miso research group and Alberto Núñez from UCM.
Unlock the full potential of cloud computing with BoxLang! Discover how BoxLang’s modern, JVM-based language streamlines development, enhances productivity and simplifies scaling in a serverless environment.
How AI Can Improve Media Quality Testing Across Platforms (1).pptxkalichargn70th171
Media platforms, from video streaming to OTT and Smart TV apps, face unprecedented pressure to deliver seamless, high-quality experiences across diverse devices and networks. Ensuring top-notch Quality of Experience (QoE) is critical for user satisfaction and retention.
Marketing And Sales Software Services.pptxjulia smits
Marketing and Sales Software Services refer to digital solutions designed to streamline, automate, and enhance a company’s marketing campaigns and sales processes. These services include tools for customer relationship management (CRM), email marketing, lead generation, sales analytics, campaign tracking, and more—helping businesses attract, engage, and convert prospects more efficiently.
UberEats clone app Development TechBuilderTechBuilder
Our food delivery app development solutions are designed to cater to varied business models, whether you are a startup aiming to scale, an enterprise-class business, or a niche player. With scalability, easy-to-use interfaces, and powerful AI capabilities, our solutions scale with your vision.
For more Please Visit Here : https://techbuilder.ai/food-delivery-app-development/
Custom Software Development: Types, Applications and Benefits.pdfDigital Aptech
Discover the different types of custom software, their real-world applications across industries, and the key benefits they offer. Learn how tailored solutions improve efficiency, scalability, and business performance in this comprehensive overview.
Autoposting.ai Sales Deck - Skyrocket your LinkedIn's ROIUdit Goenka
1billion people scroll, only 1 % post…
That’s your opening to hijack LinkedIn—and Autoposting.ai is the unfair weapon Slideshare readers are hunting for…
LinkedIn drives 80 % of social B2B leads, converts 2× better than every other network, yet 87 % of pros still choke on the content hamster-wheel…
They burn 25 h a month writing beige posts, miss hot trends, then watch rivals scoop the deals…
Enter Autoposting.ai, the first agentic-AI engine built only for LinkedIn domination…
It spies on fresh feed data, cracks trending angles before they peak, and spins voice-perfect thought-leadership that sounds like you—not a robot…
Slides in play:
• 78 % average engagement lift in 90 days…
• 3.2× qualified-lead surge over manual posting…
• 42 % marketing time clawed back, week after week…
Real users report 5-8× ROI inside the first quarter, some crossing $1 M ARR six months faster…
Why does it hit harder than Taplio, Supergrow, generic AI writers?
• Taplio locks key features behind $149+ tiers… Autoposting gives you everything at $29…
• Supergrow churns at 20 % because “everyone” is no-one… Autoposting laser-targets • • LinkedIn’s gold-vein ICPs and keeps them glued…
• ChatGPT needs prompts, edits, scheduling hacks… Autoposting researches, writes, schedules—and optimizes send-time in one sweep…
Need social proof?
G2 reviews scream “game-changer”… Agencies slash content production 80 % and triple client capacity… CXOs snag PR invites and investor DMs after a single week of daily posts… Employee advocates hit 8× reach versus company pages and pump 25 % more SQLs into the funnel…
Feature bullets for the skim-reader:
• Agentic Research Engine—tracks 27+ data points, finds gaps your rivals ignore…
• Real Voice Match—your tone, slang, micro-jokes, intact…
• One-click Multiplatform—echo winning posts to Twitter, Insta, Facebook…
• Team Workspaces—spin up 10 seats without enterprise red tape…
• AI Timing—drops content when your buyers actually scroll, boosting first-hour velocity by up to 4×…
Risk? Zero…
Free 7-day trial, 90-day results guarantee—hit 300 % ROI or walk away… but the clock is ticking while competitors scoop your feed…
So here’s the ask:
Swipe down, smash the “Download” or “Try Now” button, and let Autoposting.ai turn Slideshare insights into pipeline—before today’s trending topic vanishes…
The window is open… How loud do you want your LinkedIn megaphone?
Delivering More with Less: AI Driven Resource Management with OnePlan OnePlan Solutions
Delivering more with less is an age-old problem. Smaller budgets, leaner teams, and greater uncertainty make the path to success unclear. Combat these issues with confidence by leveraging the best practices that help PMOs balance workloads, predict bottlenecks, and ensure resources are deployed effectively, using OnePlan’s AI forecasting capabilities, especially when organizations must deliver more with fewer people.
In today’s workplace, staying connected is more important than ever. Whether teams are remote, hybrid, or back in the office, communication and collaboration are at the heart of getting things done. But here’s the truth — outdated intranets just don’t cut it anymore.
Secure and Simplify IT Management with ManageEngine Endpoint Central.pdfNorthwind Technologies
ManageEngine Endpoint Central (formerly known as Desktop Central) is an all-in-one endpoint management solution designed for managing a diverse and distributed IT environment. It supports Windows, macOS, Linux, iOS, Android, and Chrome OS devices, offering a centralized approach to managing endpoints — whether they’re on-premise, remote, or hybrid.
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfol...Philip Schwarz
In this deck we look at the following:
* how unfolding lists is the computational dual of folding lists
* different variants of the function for unfolding lists
* how they relate to the iterate function
Online Queue Management System for Public Service Offices [Focused on Municip...Rishab Acharya
This report documents the design and development of an Online Queue Management System tailored specifically for municipal offices in Nepal. Municipal offices, as critical providers of essential public services, face challenges including overcrowded queues, long waiting times, and inefficient service delivery, causing inconvenience to citizens and pressure on municipal staff. The proposed digital platform allows citizens to book queue tokens online for various physical services, facilitating efficient queue management and real-time wait time updates. Beyond queue management, the system includes modules to oversee non-physical developmental programs, such as educational and social welfare initiatives, enabling better participation and progress monitoring. Furthermore, it incorporates a module for monitoring infrastructure development projects, promoting transparency and allowing citizens to report issues and track progress. The system development follows established software engineering methodologies, including requirement analysis, UML-based system design, and iterative testing. Emphasis has been placed on user-friendliness, security, and scalability to meet the diverse needs of municipal offices across Nepal. Implementation of this integrated digital platform will enhance service efficiency, increase transparency, and improve citizen satisfaction, thereby supporting the modernization and digital transformation of public service delivery in Nepal.
5. Motivation
JSON
MDE widely used in Web Engineering
MDE
MDE
MDE
MDE
Even for REST APIs data publication
INTEGRATION
Poor integration of data backends
MDE
MDE
MDE
MDWE
6. Why not?
MDE tool: UML/IFML to GraphQL
Mapping from client-side artifacts
Easy exploitation of data sources
UML
IFML
GraphQL
Schema
MDE
9. Example
interface Character {
id: ID!
name: String!
friends: [Character]
appearsIn: [Episode]!
}
type Human implements Character {
id: ID!
name: String!
friends: [Character]
appearsIn: [Episode]!
starships: [Starship]
totalCredits: Int
}
10. Example
input ReviewInput {
id: ID!
stars: Int!
commentary: String
episode: Episode!
}
type Query {
casting(episode: Episode): [Character]
character(id:ID!): Character }
type Mutation {
createReview(episode: Episode,
review: ReviewInput): ReviewInput
}
schema{
query: Query
mutation: Mutation
}
11. Conclusions and Future Work
Our approach properly aligns with current MDWE approaches enabling designers
to deploy their applications into GraphQL-enabled infrastructures.
Just a first step, so next ideas:
- Providing support for other languages: OCL
- Reverse Engineering Non-MDE Web Apps to make them GraphQL-enabled
- GraphQL schema generation starting from the Web APIs
- Complex scenarios of data integration
- Integration with other technologies
- Hamza Ed-Douibi, Javier Luis Canovas Izquierdo and Jordi Cabot. A UML profile for
OData Web API. ICWE 2017, Web Data Management Session 2, Wednesday
12. A small milestone in a Project
“the goal of the project is to
make the promise of open
data a reality by giving non-
technical users tools they
can use to find and
compose the information
they need”
http://modeling-languages.com/open-data-for-all-api/
13. A small milestone in a Project
“the goal of the project is to
make the promise of open
data a reality by giving non-
technical users tools they
can use to find and
compose the information
they need”
http://modeling-languages.com/open-data-for-all-api/
#3: Let’s begin by analyzing which are the main forces leading this work
First of all, we consider Web APIs are first-class citizens on the Web, because most Web & Mobile apps make an extensive use of them to provide the user with live data and expanded functionality. At the same time, organizations all over the world have adopted Web APIs as the primary means to publish data on the Web.
#4: However, Web APIs present some clear limitations:
Server-side solutions and provide limited query capabilities
Then response payloads get larger as requirements grew. Although different apps present different requirements, the most common solution is to return the same response to all those different clients
As a result, performance quickly becomes an issue in two distinct ways.
Firstly, mobile app sometimes struggle with the amount of effort it take to parse, deserialize, and store ever-growing JSON data.
Secondly, composing those large JSON files imply more hits to DBs.
#5: In order to partially alleviate those issues, FB has recently released GraphQL, which is a kind of DSL on top of your own backend data fetching logic.
It does not connect directly to a database. It provides a way to describe a request for structured data, but it is then up to your backend to fulfill that request.
GraphQL is not just for APIs access, it may replace them. But we plan to use it as a uniform data access over Web APIs mainly.
GraphQL can fix the aforementioned performance problems because clients can now request only the data they need and the response then suppose to fetch just relevant data.
#6: Let’s review now how MDE has been used for more than a decade in Web Engineering.
MDE approaches widely used in the web engineering community to simplify app development.
Even, some of them have been extended to support REST APIs for data publication.
However, not enough done to really enable the publication and consumption of open data on the Web.
Limitation: MDE tools fall short especially when integrating heterogeneous data backends, which are usually performed in an ad-hoc manner.
#7: Why not use GraphQL to implement the integration of heterogeneous backends in a systematic way?
In order to follow a MDE approach, we think we can easily extend current MDE tools for Web Engineering to generate GraphQL specifications from client-side development artifacts as UML and IFML.
Data Model (UML) --> GraphQL Schema
Data Interaction (IFML) --> GraphQL Schema
Alternative: from Web APIs (more complex problem). There might be other alternatives but we are presenting that approach in this work.
Key tool to facilitating the exploitation of online data sources.
At the end GraphQL is a technology partially supporting our ideas of Web APIs integration.
Two-way interaction: query & mutation.
#8: From a MDE perspective, we decide to implement such process into Eclise Modeling Framework, so we can build and deploy an Eclipse plugin.
Previously, we had to define an Xtext grammar from the GraphQL specification by FB.
We did it by studying such specification and defining a Xtext Grammar which produces a GraphQL metamodel as by-product.
Such GraphQL metamodel is useful to define the mapping as a model2model transformation.
Talk about issues to get the specification of GraphQL IDL?
#9: As an illustrative example we have partially modeled with UML and IFML a Web application resembling the star wars example from GraphQL specification.
So in this case, we have defined a UML class diagram to represent the data model of this example, concerning human and droid characters, starships and so on. Additionally, we have modeled a basic interaction scenario by IFML so that the user can browse the heroes of the different episodes (in a traditional master/slave pattern) of the saga and they can also add reviews to a concrete episode.
#10: From the UML class diagram we can extract the fundamental structure of the graphql schema which is basically defined as a graph of Type Objects.
One of the main problems to solve is that hierarchies are not supported in GraphQL, a strategy to flatten these hierarchies (view in paper).
For example, red box, from every interface or abstract class in UML, we generate an interface in GraphQL, as shown. Character abstract class becomes Character interface in GraphQL. All its properties and relationships are transformed into object members. Note that onetomany relationships generate members of type array.
While, blue box is highlighting the generation of a type object from a UML class, whose members generation follows the same rules as before. Note that in GraphQL all the members of the implemented interface have to be redefined within the type object.
#11: From the IFML model we can extract how that GraphQL schema would be used by means of queries and mutations.
Every GraphQL has a query type and may have an additional mutation type as root types.
They are defined as regular object types, but they are special because they define the entry point of every GraphQL query or mutation.
In particular, GraphQL queries and mutations can be generated out of View Component definitions in the IFML model.
{«list»} and \emph{«details»} stereotypes become queries since they define a view over a data entity by filtering which data objects to show (parameter binding) and which attributes to present (fields).
Additionally, \emph{«form»} stereotyped view components would be transformed into mutations and input types, which collects the data fields parameterizing the invoked mutation.
In our example, the \emph{«form»} view component and its associated action \texttt{Add} are transformed into the mutation \texttt{createReview} which is listed in the \texttt{Mutation} type (root mutation) of the resulting GraphQL schema.
#13: This work I’ve just presented today is not more than a small milestones in a challenging project: ODA, whose main motto is ...
#14: If you are interested, please get in touch
Thank you very much for your attention