an analysis and new methodology for reverse engineering of uml behavioralINFOGAIN PUBLICATION
The emergence of Unified Modeling Language (UML) as a standard for modeling systems has encouraged the use of automated software tools that facilitate the development process from analysis through coding. Reverse Engineering has become a viable method to measure an existing system and reconstruct the necessary model from its original. The Reverse Engineering of behavioral models consists in extracting high-level models that help understand the behavior of existing software systems. In this paper we present an ongoing work on extracting UML diagrams from object-oriented programming languages. we propose an approach for the reverse engineering of UML behavior from the analysis of execution traces produced dynamically by an object-oriented application using formal and semi-formal techniques for modeling the dynamic behavior of a system. Our methods show that this approach can produce UML behavioral diagrams in reasonable time and suggest that these diagrams are helpful in understanding the behavior of the underlying application.
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...CSCJournals
Following the principle of everything is object, software development engineering has moved towards the principle of everything is model, through Model Driven Engineering (MDE). Its implementation is based on models and their successive transformations, which allow starting from the requirements specification to the code’s implementation. This engineering is used in the development of information systems, including Decision-Support Systems (DSS). Here we use MDE to propose an DSS development approach, using the Multidimensional Canonical Partitioning (MCP) design approach and a design pattern. We also use model’s transformation in order to obtain not only implementation codes, but also data warehouse feeds.
[2015/2016] Introduction to software architectureIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Bio inspired use case variability modelling, ijseaijseajournal
Background.Feature Model (FM) is the most important technique used to manage the variability through products in Software Product Lines (SPLs). Often, the SPLs requirements variability is by using variable use case modelwhich is a real challenge inactual approaches: large gap between their concepts and those of
real world leading to bad quality, poor supporting FM, and the variability does not cover all requirements modeling levels.
Aims. This paper proposes a bio-inspired use case variability modeling methodology dealing with the
above shortages.
an analysis and new methodology for reverse engineering of uml behavioralINFOGAIN PUBLICATION
The emergence of Unified Modeling Language (UML) as a standard for modeling systems has encouraged the use of automated software tools that facilitate the development process from analysis through coding. Reverse Engineering has become a viable method to measure an existing system and reconstruct the necessary model from its original. The Reverse Engineering of behavioral models consists in extracting high-level models that help understand the behavior of existing software systems. In this paper we present an ongoing work on extracting UML diagrams from object-oriented programming languages. we propose an approach for the reverse engineering of UML behavior from the analysis of execution traces produced dynamically by an object-oriented application using formal and semi-formal techniques for modeling the dynamic behavior of a system. Our methods show that this approach can produce UML behavioral diagrams in reasonable time and suggest that these diagrams are helpful in understanding the behavior of the underlying application.
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...CSCJournals
Following the principle of everything is object, software development engineering has moved towards the principle of everything is model, through Model Driven Engineering (MDE). Its implementation is based on models and their successive transformations, which allow starting from the requirements specification to the code’s implementation. This engineering is used in the development of information systems, including Decision-Support Systems (DSS). Here we use MDE to propose an DSS development approach, using the Multidimensional Canonical Partitioning (MCP) design approach and a design pattern. We also use model’s transformation in order to obtain not only implementation codes, but also data warehouse feeds.
[2015/2016] Introduction to software architectureIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Bio inspired use case variability modelling, ijseaijseajournal
Background.Feature Model (FM) is the most important technique used to manage the variability through products in Software Product Lines (SPLs). Often, the SPLs requirements variability is by using variable use case modelwhich is a real challenge inactual approaches: large gap between their concepts and those of
real world leading to bad quality, poor supporting FM, and the variability does not cover all requirements modeling levels.
Aims. This paper proposes a bio-inspired use case variability modeling methodology dealing with the
above shortages.
Fundamentals of object orientation, objects, classes, classification and object models delivered to post-graduate students of Object Oriented Software Engineering.
Performance Evaluation using Blackboard Technique in Software ArchitectureEditor IJCATR
Validation of software systems is very useful at the primary stages of their development cycle. Evaluation of functional
requirements is supported by clear and appropriate approaches, but there is no similar strategy for evaluation of non-functional
requirements (such as performance). Whereas establishing the non-functional requirements have significant effect on success of
software systems, therefore considerable necessities are needed for evaluation of non-functional requirements. Also, if the software
performance has been specified based on performance models, may be evaluated at the primary stages of software development cycle.
Therefore, modeling and evaluation of non-functional requirements in software architecture level, that are designed at the primary
stages of software systems development cycle and prior to implementation, will be very effective.
We propose an approach for evaluate the performance of software systems, based on black board technique in software architecture
level. In this approach, at first, software architecture using blackboard technique is described by UML use case, activity and
component diagrams. then UML model is transformed to an executable model based on timed colored petri nets(TCPN)
Consequently, upon execution of an executive model and analysis of its results, non-functional requirements including performance
(such as response time) may be evaluated in software architecture level.
Automatically bridging UML profiles into MOF metamodelsIvano Malavolta
27th August 2015. My presentation at SEAA 2015 (http://paginas.fe.up.pt/~dsd-seaa-2015/) about our approach for autmatically bridging UML profiles into MOF metamodels. SEAA 2015 is the 41st Euromicro Conference on Software Engineering and Advanced Applications, and it has been held in 26 - 28 August 2015, Funchal, Madeira, Portugal.
Accompanying paper:
http://www.ivanomalavolta.com/files/papers/SEAA_2015.pdf
Abstract:
In Model-Driven Engineering, UML profiles and MOF-based Domain Specific Modeling Languages (DSMLs) are the most used approaches for describing domain specific applications. The choice of the right approach depends on several aspects, such as tool support, expressivity, complexity of models, company policies. In general, profiled UML models are very much used since they are intuitive for designers and model editors already exist, however they are intrinsically complex for model manipulation (e.g., transformation, analysis); conversely, domain specific models are more concise and easy to be manipulated, but they require an initial effort in terms of designers training and model editors development.
In this paper we propose an approach that allows getting the best of the two worlds: on one side designers can use UML profiles familiar to them, on the other side DSML models (automatically generated from profiled UML models) enable a better model manipulation. Our approach is based on an automatic bridge between UML profiles and MOF metamodels (which are the main artifacts of MOF-based DSMLs). The bridge is transparent to the user since it autonomously operates both on UML profiles and all the involved models. The bridge is realized through model transformation techniques in the Eclipse platform. In this paper we show its application on a case study based on SysML.
Availability Assessment of Software Systems Architecture Using Formal ModelsEditor IJCATR
There has been a significant effort to analyze, design and implement the information systems to process the information and data, and solve various problems. On the one hand, complexity of the contemporary systems, and eye-catching increase in the variety and volume of information has led to great number of the components and elements, and more complex structure and organization of the information systems. On the other hand, it is necessary to develop the systems which meet all of the stakeholders' functional and non-functional requirements. Considering the fact that evaluation and assessment of the aforementioned requirements - prior to the design and implementation phases - will consume less time and reduce costs, the best time to measure the evaluable behavior of the system is when its software architecture is provided. One of the ways to evaluate the architecture of software is creation of an executable model of architecture.
The present research used availability assessment and took repair, maintenance and accident time parameters into consideration. Failures of software and hardware components have been considered in the architecture of software systems. To describe the architecture easily, the authors used Unified Modeling Language (UML). However, due to the informality of UML, they utilized Colored Petri Nets (CPN) for assessment too. Eventually, the researchers evaluated a CPN-based executable model of architecture through CPN-Tools.
A Review of Feature Model Position in the Software Product Line and Its Extra...CSCJournals
The software has become a modern asset and competitive product. The product line that has long been used in manufacturing and construction industries nowadays has attracted a lot of attention in software industry. Most importance of product line engineering approach is in cost and time issues involved in marketing. Feature model is one of the most important methods of documenting variability in product line that shows product features and their dependencies. Because of the magnitude and complexity of the product line, build and maintain feature models are complex and time-consuming work. In this article feature model importance and position in product line is discussed and feature model extraction methods are reviewed and compared.
System of Systems Engineering (SoSE),
System “ilities” (Reliability, Availability, Maintainability, and Changeability),
State Series,
System Evolution Analytics,
System Network Evolution Rules,
System Network Complexity,
System Evolution Recommender
Service Evolution Analytics
A Model-Based Method for System Reliability AnalysisDaniele Gianni
Presentation at the 2nd International Workshop on Model-driven Approaches for Simulation Engineering
(held within the SCS/IEEE Symposium on Theory of Modeling and Simulation part of SpringSim 2012)
Please see: http://www.sel.uniroma2.it/mod4sim12/ for further details
Framework for developed simple architecture enterprise fdsaecsandit
In This article presents a framework for develop de Architecture enterprise based on the
articulation of emerging paradigms for architecture development of information enterprise [1].
The first one comes from the agile methods and it is inspired on the Scrum model which aim to
simplify the complex task of developing a quality software, the second the processes models
whose are oriented the development of Architectures Enterprise as Zachman and TOGAF in a
paradigm of the Model Driven and principles de reference de architecture de Software form the
paradigms Generation (MDG), these approaches are integrated eventually leading to the
formulation and presentation of an framework for developed simple architecture enterprise –
FDSAE- The goal is to present a simple, portable, understandable terms enabling, modeling
and design business information architecture in any organizational environment, in addition to
this, there are important aspects related to the unified Modeling Language UML 2.5 and the
Business Process Modeling BPMn that become tools to obtain the products in the FDSAE
Framework, This framework is an improved version of Framework MADAIKE [2] developed by
the same authors.
Fundamentals of object orientation, objects, classes, classification and object models delivered to post-graduate students of Object Oriented Software Engineering.
Performance Evaluation using Blackboard Technique in Software ArchitectureEditor IJCATR
Validation of software systems is very useful at the primary stages of their development cycle. Evaluation of functional
requirements is supported by clear and appropriate approaches, but there is no similar strategy for evaluation of non-functional
requirements (such as performance). Whereas establishing the non-functional requirements have significant effect on success of
software systems, therefore considerable necessities are needed for evaluation of non-functional requirements. Also, if the software
performance has been specified based on performance models, may be evaluated at the primary stages of software development cycle.
Therefore, modeling and evaluation of non-functional requirements in software architecture level, that are designed at the primary
stages of software systems development cycle and prior to implementation, will be very effective.
We propose an approach for evaluate the performance of software systems, based on black board technique in software architecture
level. In this approach, at first, software architecture using blackboard technique is described by UML use case, activity and
component diagrams. then UML model is transformed to an executable model based on timed colored petri nets(TCPN)
Consequently, upon execution of an executive model and analysis of its results, non-functional requirements including performance
(such as response time) may be evaluated in software architecture level.
Automatically bridging UML profiles into MOF metamodelsIvano Malavolta
27th August 2015. My presentation at SEAA 2015 (http://paginas.fe.up.pt/~dsd-seaa-2015/) about our approach for autmatically bridging UML profiles into MOF metamodels. SEAA 2015 is the 41st Euromicro Conference on Software Engineering and Advanced Applications, and it has been held in 26 - 28 August 2015, Funchal, Madeira, Portugal.
Accompanying paper:
http://www.ivanomalavolta.com/files/papers/SEAA_2015.pdf
Abstract:
In Model-Driven Engineering, UML profiles and MOF-based Domain Specific Modeling Languages (DSMLs) are the most used approaches for describing domain specific applications. The choice of the right approach depends on several aspects, such as tool support, expressivity, complexity of models, company policies. In general, profiled UML models are very much used since they are intuitive for designers and model editors already exist, however they are intrinsically complex for model manipulation (e.g., transformation, analysis); conversely, domain specific models are more concise and easy to be manipulated, but they require an initial effort in terms of designers training and model editors development.
In this paper we propose an approach that allows getting the best of the two worlds: on one side designers can use UML profiles familiar to them, on the other side DSML models (automatically generated from profiled UML models) enable a better model manipulation. Our approach is based on an automatic bridge between UML profiles and MOF metamodels (which are the main artifacts of MOF-based DSMLs). The bridge is transparent to the user since it autonomously operates both on UML profiles and all the involved models. The bridge is realized through model transformation techniques in the Eclipse platform. In this paper we show its application on a case study based on SysML.
Availability Assessment of Software Systems Architecture Using Formal ModelsEditor IJCATR
There has been a significant effort to analyze, design and implement the information systems to process the information and data, and solve various problems. On the one hand, complexity of the contemporary systems, and eye-catching increase in the variety and volume of information has led to great number of the components and elements, and more complex structure and organization of the information systems. On the other hand, it is necessary to develop the systems which meet all of the stakeholders' functional and non-functional requirements. Considering the fact that evaluation and assessment of the aforementioned requirements - prior to the design and implementation phases - will consume less time and reduce costs, the best time to measure the evaluable behavior of the system is when its software architecture is provided. One of the ways to evaluate the architecture of software is creation of an executable model of architecture.
The present research used availability assessment and took repair, maintenance and accident time parameters into consideration. Failures of software and hardware components have been considered in the architecture of software systems. To describe the architecture easily, the authors used Unified Modeling Language (UML). However, due to the informality of UML, they utilized Colored Petri Nets (CPN) for assessment too. Eventually, the researchers evaluated a CPN-based executable model of architecture through CPN-Tools.
A Review of Feature Model Position in the Software Product Line and Its Extra...CSCJournals
The software has become a modern asset and competitive product. The product line that has long been used in manufacturing and construction industries nowadays has attracted a lot of attention in software industry. Most importance of product line engineering approach is in cost and time issues involved in marketing. Feature model is one of the most important methods of documenting variability in product line that shows product features and their dependencies. Because of the magnitude and complexity of the product line, build and maintain feature models are complex and time-consuming work. In this article feature model importance and position in product line is discussed and feature model extraction methods are reviewed and compared.
System of Systems Engineering (SoSE),
System “ilities” (Reliability, Availability, Maintainability, and Changeability),
State Series,
System Evolution Analytics,
System Network Evolution Rules,
System Network Complexity,
System Evolution Recommender
Service Evolution Analytics
A Model-Based Method for System Reliability AnalysisDaniele Gianni
Presentation at the 2nd International Workshop on Model-driven Approaches for Simulation Engineering
(held within the SCS/IEEE Symposium on Theory of Modeling and Simulation part of SpringSim 2012)
Please see: http://www.sel.uniroma2.it/mod4sim12/ for further details
Framework for developed simple architecture enterprise fdsaecsandit
In This article presents a framework for develop de Architecture enterprise based on the
articulation of emerging paradigms for architecture development of information enterprise [1].
The first one comes from the agile methods and it is inspired on the Scrum model which aim to
simplify the complex task of developing a quality software, the second the processes models
whose are oriented the development of Architectures Enterprise as Zachman and TOGAF in a
paradigm of the Model Driven and principles de reference de architecture de Software form the
paradigms Generation (MDG), these approaches are integrated eventually leading to the
formulation and presentation of an framework for developed simple architecture enterprise –
FDSAE- The goal is to present a simple, portable, understandable terms enabling, modeling
and design business information architecture in any organizational environment, in addition to
this, there are important aspects related to the unified Modeling Language UML 2.5 and the
Business Process Modeling BPMn that become tools to obtain the products in the FDSAE
Framework, This framework is an improved version of Framework MADAIKE [2] developed by
the same authors.
A World in Motion – The challenges in Systems Engineering in the age of complexity
Stephan Roth, oose Innovative Informatik eG, Hamburg
05.09.2014
FridayNight Experts Talk about Systems Engineering, Dockland Hamburg, hosted by Nordakademiker e.V.
MODEL CHECKERS –TOOLS AND LANGUAGES FOR SYSTEM DESIGN- A SURVEYcsandit
For over four decades now, variants of Model Checkers are being used as an approach for formal verification of systems consisting of software, hardware or combination of both. Though various model checking tools are available like NuSMV, UPPAAL, PRISM, PAT,FDR, it is difficult to comprehend their usage for systems in different domains like telecommunication, automobile, health and entertainment. However, industry experts and researchers have showcased the use of formal verifications techniques in various domains including Networking, Security and Semiconductor design. With current generation systems becoming more complex, there is an urgent need to better understand and use appropriate methodology, language and tool for definite domain. In this paper, we have made an effort to present Model checking in detail with relevance to available tools and languages to specific domain. For novices in the field, this paper would provide knowledge of model checkers languages and tools that would be suitable for various purposes in diverse systems
A tlm based platform to specify and verify component-based real-time systemsijseajournal
This paper is about modeling and verification languages with their pros and cons. Modeling is dynamic
part of system development process before realization. The cost and risky situations obligate designer to
model system before production and modeling gives designer more flexible and dynamic image of realized
system. Formal languages and modeling methods are the ways to model and verify systems but they have
their own difficulties in specifying systems. Some of them are very precise but hard to specify complex
systems like TRIO, and others do not support object oriented design and hardware/software co-design in
real-time systems. In this paper we are going to introduce systemC and the more abstracted method called
TLM 2.0 that solved all mentioned problems.
MBSE Training Crash Course covers all the principals, theories, and techniques associated with Model-based Systems Engineering (MBSE). Model-based systems engineering (MBSE) is the formal use of modeling to provide system requirements, design, analysis, and verification and validation activities. Such activities initiate in the conceptual design stage and continue throughout development and later life cycle phases.
#MBSE Goals
Improved communications
With stakeholders
Within the engineering project teams
Across spoken language barriers
Improved quality
Early identification of requirements issues
Enhanced system design integrity
Improved specification of allocated requirements to hardware and software
Fewer errors during integration and testing
More rigorous requirements traceability
Consistent documentation
Increased productivity
#Audience
MBSE training crash course is a 4-day training designed for:
Product manager
Project director
R and D manager
Engineering manager
Systems engineer
Capability developer
Business analyst
Systems analyst
System architect
Enterprise architect
Software systems engineer
Software engineer
Design engineer
Hardware engineer
Project engineer
LSA specialist
Industrial engineer
#Training Objectives
Upon completion of MBSE training crash course, the attendees are able to:
Comprehend the general principals of systems engineering
Discuss the main characteristic of a system
Understand the overall process factors, and their relationships, which together establish the bases of systems engineering
Relate the roles of developer as supplier, developer as creator and developer as acquirer, and to position their own roles, and those of their customers (internal and external) and suppliers (internal and external) within this framework
Perform the fundamentals of some of the more important techniques of system requirements analysis, development of physical solution, development of logical solution, evaluation of solution alternatives (trade-off studies) and design iteration
Discuss the principles and major techniques of engineering management in a systems project context
Learn more about MBSE Training
https://www.tonex.com/training-courses/mbse-training-crash-course/
A new language for a new biology: How SBML and other tools are transforming m...Mike Hucka
Presentation given at the Victorian Systems Biology Symposium (http://www.emblaustralia.org/About_us/news/mike-hucka.aspx) at the Walter and Eliza Hall Institute in Melbourne, Australia, on 20 August 2013.
Model-Based Risk Assessment in Multi-Disciplinary Systems EngineeringEmanuel Mätzler
Presentation at the Euromicro Conference series on Software Engineering and Advanced Applications (SEAA), 2015, on Model-Based Risk Assessment in Multi-Disciplinary Systems Engineering. For further information see: www.sysml4industry.org
Devnology Back to School: Empirical Evidence on Modeling in Software DevelopmentDevnology
Modeling is a common part of modern day software engineering practice. Little scientific evidence is known about how models are made and how they help in producing better software. In this talk Michel Chaudron presents highlights from a decade of research that he has performed in the area of software modeling using UML. Topics that will be addressed: What is the state of UML modeling in practice? What are effective techniques for assessing the quality of UML models? How do engineers look at UML models? Do UML models actually help in creating better software?
Application Of UML In Real-Time Embedded Systemsijseajournal
The UML was designed as a graphical notation for use with object-oriented systems and applications.
Because of its popularity, now it is emerging in the field of embedded systems design as a modeling
language. The UML notation is useful in capturing the requirements, documenting the structure,
decomposing into objects and defining relationships between objects. It is a notational language that is
very useful in modelling the real-time embedded systems. This paper presents the requirements and
analysis modelling of a real-time embedded system related to a control system application for platform
stabilization using COMET method of design with UML notation. These applications involve designing of
electromechanical systems that are controlled by multi-processors.
Reverse Engineering for Documenting Software Architectures, a Literature ReviewEditor IJCATR
Recently, much research in software engineering focused on reverse engineering of software systems which has become one
of the major engineering trends for software evolution. The objective of this survey paper is to provide a literature review on the
existing reverse engineering methodologies and approaches for documenting the architecture of software systems. The survey process
was based on selecting the most common approaches that form the current state of the art in documenting software architectures. We
discuss the limitations of these approaches and highlight the main directions for future research and describe specific open issues for
research.
Model-Based Systems Engineering (MBSE) is an ambiguous concept that means many things to many different people. The purpose of this presentation is to “de-mystify” MBSE, with the intent of moving the sub-discipline forward. Model-Based Systems Engineering was envisioned to manage the increasing complexity within systems and System of Systems (SoS). This presentation defines MBSE as the formalized application of modeling (static and dynamic) to support system design and analysis, throughout all phases of the system lifecycle, and through the collection of modeling languages, structures, model-based processes, and presentation frameworks used to support the discipline of systems engineering in a model-based or model-driven context. Using this definition, the components of MBSE (modeling languages, processes, structures, and presentation frameworks) are defined. The current state of MBSE is then evaluated against a set of effective measures. Finally, this presents a vision for the future direction of MBSE.
System model optimization through functional models execution methodology and...Daniele Gianni
Presentation delivered at the 3rd IEEE Track on
Collaborative Modeling & Simulation - CoMetS'12.
Please see http://www.sel.uniroma2.it/comets12/ for further details.
Similar to Model transformations in the VIATRA2 framework (20)
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...Istvan Rath
Slides of the talk at the MBSE Cyber Experience Symposium 2019 (https://mbsecyberexperience2019.com/speakers/abstracts/item/mbse-meets-industrial-iot-introducing-the-new-magicdraw-connext-dds-plug-in)
Modes3: Model-based Demonstrator for Smart and Safe SystemsIstvan Rath
A talk on Modes3, presented at the IoT Budapest Meetup (April 2017). https://www.meetup.com/IoT-Budapest/events/238267893/
More information:
http://inf.mit.bme.hu/en/research/projects/modes3
https://github.com/FTSRG/BME-MODES3
http://modes3.tumblr.com
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016Istvan Rath
Ebben a DemoCamp előadásban az EclipseCon Europe 2016 és SiriusCon 2016 konferenciák legfontosabb témáit, technológiáit foglalom össze, kiegészítve néhány szubjektív véleménnyel és megérzéssel a technológiai trendekről.
IoT Supercharged: Complex event processing for MQTT with Eclipse technologiesIstvan Rath
Slides for our talk at EclipseCon Europe 2015. More details at https://www.eclipsecon.org/europe2015/session/iot-supercharged-complex-event-processing-mqtt-eclipse-technologies
Xcore meets IncQuery: How the New Generation of DSLs are MadeIstvan Rath
Slides for the presentation at EclipseCon Europe 2013.
For more details, see
http://www.eclipsecon.org/europe2013/xcore-meets-incquery-how-new-generation-dsls-are-made
http://incquery.net/blog/2013/10/xcore-meets-incquery-how-new-generation-dsls-are-made-talk-eclipsecon-europe-2013
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
Model transformations in the VIATRA2 framework
1. Budapest University of Technology and Economics
Model Transformations in the
VIATRA2 Framework
István Ráth Dániel Varró
PhD candidate Associate professor
Budapest University of Technology and Economics
Dept. of Measurement and Information Systems
Fault-tolerant Systems Research Group
1
2. Budapest University of Technology and Economics
Overview - Outline
Introduction
− Motivation for model transformations
− Main concepts of MTs
The VIATRA2 transformation language
− Models and Metamodels
− Graph Patterns and Graph transformation
− Controlled transformations (Abstract state machines)
Advanced Transformation concepts
− Synchronization with Event-driven Transformations
− Constraint satisfaction problems over models
− Model simulation
Applications in practice: Model-driven tool integration
− SENSORIA
− Embedded domain
Fault-tolerant Systems Research Group
2
3. Budapest University of Technology and Economics
Challenges for Software Development
Fault-tolerant Systems Research Group
3
4. Budapest University of Technology and Economics
Challenges for Software Development
A typical design process of a large system involves
− Many stakeholders
− Many development teams
− Many manmonths
− MANY TOOLS
● Requirements, Analysis, Design, Testing, Maintenance, …
Fault-tolerant Systems Research Group
3
5. Budapest University of Technology and Economics
Challenges for Software Development
A typical design process of a large system involves
− Many stakeholders
− Many development teams
− Many manmonths
− MANY TOOLS
● Requirements, Analysis, Design, Testing, Maintenance, …
Tool integration is a major challenge
− Design of Embedded / Critical systems:
Cost of tool integration ≈ Cost of the tools themselves
Fault-tolerant Systems Research Group
3
6. Budapest University of Technology and Economics
Challenges for Software Development
A typical design process of a large system involves
− Many stakeholders
− Many development teams
− Many manmonths
− MANY TOOLS
● Requirements, Analysis, Design, Testing, Maintenance, …
Tool integration is a major challenge
− Design of Embedded / Critical systems:
Cost of tool integration ≈ Cost of the tools themselves
Why?
− Continuous evolution / changes of tools
− Each having its own (modeling / programming) language
− Difficult to build correct and robust bridges between them
Fault-tolerant Systems Research Group
3
7. Budapest University of Technology and Economics
Challenges for Software Development
A typical design process of a large system involves
− Many stakeholders
− Many development teams
− Many manmonths
− MANY TOOLS
● Requirements, Analysis, Design, Testing, Maintenance, …
Tool integration is a major challenge
− Design of Embedded / Critical systems:
Cost of tool integration ≈ Cost of the tools themselves
Why?
− Continuous evolution / changes of tools
− Each having its own (modeling / programming) language
− Difficult to build correct and robust bridges between them
Fault-tolerant Systems Research Group
3
8. Budapest University of Technology and Economics
Model Transformation for Tool Integration
System design
High-level
System
Model
(UML, BPM,
DSL)
Fault-tolerant Systems Research Group
4
9. Budapest University of Technology and Economics
Model Transformation for Tool Integration
System design
Model
generation
High-level
System
Model
(UML, BPM,
DSL)
Fault-tolerant Systems Research Group
4
10. Budapest University of Technology and Economics
Model Transformation for Tool Integration
System design
Model
generation
High-level
System
Model
(UML, BPM,
DSL) List of
inconsistencies
Fault-tolerant Systems Research Group
4
11. Budapest University of Technology and Economics
Model Transformation for Tool Integration
System design
Model
generation
High-level
System Refinement
Model
(UML, BPM,
DSL) List of
inconsistencies
Fault-tolerant Systems Research Group
4
12. Budapest University of Technology and Economics
Model Transformation for Tool Integration
System design
Model
generation
High-level
System Refinement
Model
(UML, BPM,
DSL) List of
inconsistencies
Fault-tolerant Systems Research Group
4
13. Budapest University of Technology and Economics
Model Transformation for Tool Integration
System design Mathematical analysis
Model
generation Mathematical
High-level
Refinement
model
System
Model
(UML, BPM,
DSL) List of
inconsistencies
Analysis
Fault-tolerant Systems Research Group
4
14. Budapest University of Technology and Economics
Model Transformation for Tool Integration
System design VIATRA2 Mathematical analysis
Model
generation Mathematical
High-level
Refinement
model
System
Model
(UML, BPM,
DSL) List of
inconsistencies
Analysis
Fault-tolerant Systems Research Group
4
15. Budapest University of Technology and Economics
Model Transformation for Tool Integration
System design VIATRA2 Mathematical analysis
Model
generation Mathematical
High-level
Refinement
model
System
Model
(UML, BPM,
DSL) List of
inconsistencies
Analysis
Code gen
Implementation
Fault-tolerant Systems Research Group
4
16. Budapest University of Technology and Economics
Model Transformation for Tool Integration
System design VIATRA2 Mathematical analysis
Model
generation Mathematical
High-level
Refinement
model
System
Model
(UML, BPM,
DSL) List of
inconsistencies
Analysis
Auto-
Deployment Code gen
Implementation
Deployment desc
Dependable
platform
Fault-tolerant Systems Research Group
4
17. Budapest University of Technology and Economics
Model Transformation for Tool Integration
System design VIATRA2 Mathematical analysis
Model
generation Mathematical
High-level
Refinement
model
System
Model
(UML, BPM,
DSL) List of
inconsistencies
Analysis
Auto- Monitor
Deployment Code gen
generation
Implementation Runtime
Deployment desc monitoring
Dependable IT Monitoring
platform System
Fault-tolerant Systems Research Group
4
18. Budapest University of Technology and Economics
THE MODEL
TRANSFORMATION PROBLEM
Fault-tolerant Systems Research Group
5
19. Budapest University of Technology and Economics
Native (Ad Hoc) Model Transformations
Native Manually written Native
Source model native program Target model
Vendor’s own tool
Fault-tolerant Systems Research Group
6
20. Budapest University of Technology and Economics
Native (Ad Hoc) Model Transformations
Native source models:
• EMF
• XML documents
• Databases
• Domain-specific models
• UML
Native Manually written Native
Source model native program Target model
Vendor’s own tool
Fault-tolerant Systems Research Group
6
21. Budapest University of Technology and Economics
Native (Ad Hoc) Model Transformations
Native source models: Native target models:
• EMF • EMF
• XML documents • App source code
• Databases • XML deployment descript.
• Domain-specific models • Databases
• UML • Analysis tools
Native Manually written Native
Source model native program Target model
Vendor’s own tool
Fault-tolerant Systems Research Group
6
22. Budapest University of Technology and Economics
Models, Metamodels, Transformations
VIATRA Model Space (VPM)
Source Xform. rules Target
metamodel (GT+ASM) metamodel
Source Target
model model
Native Native
Source model Target model
Vendor’s own tool
Fault-tolerant Systems Research Group
7
23. Budapest University of Technology and Economics
Models, Metamodels, Transformations
VIATRA Model Space (VPM)
Source Xform. rules Target
metamodel (GT+ASM) metamodel
Source Target
model Model: Description of a model
concrete system
(see Eclipse EMF)
Native Native
Source model Target model
Vendor’s own tool
Fault-tolerant Systems Research Group
7
24. Budapest University of Technology and Economics
Models, Metamodels, Transformations
Metamodel: Precise spec of
a modeling language
(see Eclipse EMF - Ecore)
VIATRA Model Space (VPM)
Source Xform. rules Target
metamodel (GT+ASM) metamodel
Source Target
model Model: Description of a model
concrete system
(see Eclipse EMF)
Native Native
Source model Target model
Vendor’s own tool
Fault-tolerant Systems Research Group
7
25. Budapest University of Technology and Economics
Models, Metamodels, Transformations
Metamodel: Precise spec of Transformation:
a modeling language How to generate
(see Eclipse EMF - Ecore) a target equivalent of
an arbitrary source model
VIATRA Model Space (VPM)
Source Xform. rules Target
metamodel (GT+ASM) metamodel
Source Target
model Model: Description of a model
concrete system
(see Eclipse EMF)
Native Native
Source model Target model
Vendor’s own tool
Fault-tolerant Systems Research Group
7
26. Budapest University of Technology and Economics
Transformation Engine
Eclipse framework
VIATRA2 Model Transformation Plug-in
VIATRA Model Space (VPM)
Source Xform. rules Target
metamodel (GT+ASM) metamodel
Source Target
Xform engine
model model
Native Native
Source model Target model
Vendor’s own tool
Fault-tolerant Systems Research Group
8
27. Budapest University of Technology and Economics
Transformation Engine
Eclipse framework
VIATRA2 Model Transformation Plug-in
VIATRA Model Space (VPM)
Source Xform. rules Target
metamodel (GT+ASM) metamodel
Source Target
Xform engine
model model
Transformation engine:
Support for querying and
Native manipulating large models Native
Source model Target model
Vendor’s own tool
Fault-tolerant Systems Research Group
8
28. Budapest University of Technology and Economics
Standalone Transformation Plugins
Eclipse framework
VIATRA2 Model Transformation Plug-in
VIATRA Model Space (VPM)
Source Xform. rules Target
metamodel (GT+ASM) metamodel
Source Target
Xform engine
model model
Meta XForm
Native Native Native
Source model XForm Plugin Target model
Vendor’s own tool
Fault-tolerant Systems Research Group
9
29. Budapest University of Technology and Economics
Standalone Transformation Plugins
Eclipse framework
VIATRA2 Model Transformation Plug-in
VIATRA Model Space (VPM)
Source Xform. rules Target
metamodel (GT+ASM) metamodel
Source Target
Xform engine
model model
Standalone transformation:
Meta XForm
Independent of transformation
development environment
Native Native Native
Source model XForm Plugin Target model
Vendor’s own tool
Fault-tolerant Systems Research Group
9
30. Budapest University of Technology and Economics
The VIATRA2 framework
Eclipse framework
VIATRA2 Model Transformation Plug-in
VPM Metamodeling Core
PIM Xform. rules SCADE
metamodel (UML/QVT) metamodel
Source Xform engine Target
PIM model (ASM+GraTra) SCADE model
Transformation Design
Meta XForm
Native Native Native
PIM model Transformation ExecutionSCADE model
XForm Plugin
Vendor’s own tool
Fault-tolerant Systems Research Group
10
31. Budapest University of Technology and Economics
Traceability of Transformations
VIATRA2 Model Transformation Service
VIATRA Model Space (VPM)
Source Reference Target
metamodel metamodel metamodel
Source Reference Target
model model model
Native Native
Source model Target model
Service Consumer
Fault-tolerant Systems Research Group
11
32. Budapest University of Technology and Economics
Traceability of Transformations
VIATRA2 Model Transformation Service
VIATRA Model Space (VPM)
Source Reference Target
metamodel metamodel metamodel
Source Reference Target
model model model
Traceability:
• Show the source element
Native for a target element Native
Source model • Show the target element Target model
for a source element
Service Consumer
Fault-tolerant Systems Research Group
11
33. Budapest University of Technology and Economics
Back-Annotation of Analysis Results
VIATRA2 Model Transformation Service
VIATRA Model Space (VPM)
Source Reference Target
metamodel metamodel metamodel
Source Reference Target
model model model
Native Native
Source model Result model
Modeling Tool Analysis Tool
Fault-tolerant Systems Research Group
12
34. Budapest University of Technology and Economics
Back-Annotation of Analysis Results
VIATRA2 Model Transformation Service
VIATRA Model Space (VPM)
Source Reference Target
metamodel metamodel metamodel
Source Reference Target
model model model
Native Native
Source model Result model
Modeling Tool Analysis Tool
Fault-tolerant Systems Research Group
12
35. Budapest University of Technology and Economics
The VIATRA2 Framework @ Eclipse
http://www.eclipse.org/gmt/VIATRA2
Fault-tolerant Systems Research Group
13
36. Budapest University of Technology and Economics
The VIATRA2 Approach
Model management:
− Model space: Unified, global view of
models, metamodels and transformations
● Hierarchical graph model
● Complex type hierarchy
● Multilevel metamodeling
Model manipulation and transformations:
integration of two mathematically precise,
rule and pattern-based formalisms
− Graph patterns (GP): structural conditions
− Graph transformation (GT): elementary xform steps
− Abstract state machines (ASM): complex xform programs
Code generation:
− Special model transformations with
− Code templates and code formatters
Fault-tolerant Systems Research Group
14
37. Budapest University of Technology and Economics
The VIATRA2 Approach
Model management:
− Model space: Unified, global view of
models, metamodels and transformations
● Hierarchical graph model
● Complex type hierarchy
● Multilevel metamodeling
Model manipulation and transformations:
integration of two mathematically precise,
rule and pattern-based formalisms
− Graph patterns (GP): structural conditions
− Graph transformation (GT): elementary xform steps
− Abstract state machines (ASM): complex xform programs
Code generation:
− Special model transformations with
− Code templates and code formatters
Fault-tolerant Systems Research Group
14
38. Budapest University of Technology and Economics
Metamodeling in VIATRA2 (VTML)
entity(family) {
Entity relation(members, family, person);
Entity isAggregation(members, true);
Family
Relation }
familyName:String
entity(person) {
relation(parent,person,person);
relation(father,person,man);
father multiplicity(father, many_to_one);
members
* refines supertypeOf(parent,father);
parent relation(firstname, person,
Person datatypes.String);
firstname:String }
lastname:String mother entity(woman) {
parent
refines relation(husband, woman, man);
parent
multiplicity(husband, one_to_one);
}
husband
Man Woman supertypeOf(person,woman);
wife
entity(man) {
relation(wife, man, woman);
Fault-tolerant Systems Research Group
15
39. Budapest University of Technology and Economics
Metamodeling in VIATRA2 (VTML)
entity(family) {
relation(members, family, person);
Aggregation
Relation isAggregation(members, true);
Family
}
familyName:String
entity(person) {
Multiplicity
Relation relation(parent,person,person);
relation(father,person,man);
father multiplicity(father, many_to_one);
members
* refines supertypeOf(parent,father);
parent relation(firstname, person,
Person datatypes.String);
firstname:String }
lastname:String mother entity(woman) {
parent
refines relation(husband, woman, man);
parent
multiplicity(husband, one_to_one);
}
husband
Man Woman supertypeOf(person,woman);
wife
entity(man) {
Supertype relation(wife, man, woman);
Fault-tolerant Systems Research Group
16
40. Budapest University of Technology and Economics
Models in VIATRA2 (VTML)
namespace people.models;
mother Namespace,
man import people.metamodel;
father
Imports
woman wife/husband family('Varro1') {
man('Gyozo') {
Family Varro1
Instance man.wife(wf1, Gyozo, Maria);
definition }
Gyozo Maria woman('Maria') {
woman.husband(hb1, Maria, Gyozo);
}
Explicit
man('Daniel');
Daniel Gergely instance-of
entity('Gergely');
instanceOf(Gergely, man);
person.father(f1,'Gergely','Gyozo');
person.mother(m1,'Gergely','Maria');
family.members(mb1, 'Varro1', 'Gyozo');
Value family.members(mb2, 'Varro1', 'Maria');
OO datatype family.members(mb3, 'Varro1', 'Gergely');
family.members(mb4, 'Varro1', 'Daniel');
Fault-tolerant Systems Research Group
17
41. Budapest University of Technology and Economics
mother Graphical notation Containment View
father
Family Varro1
wife/
husband Gyozo Maria
man
woman
Daniel Gergely
m1:mother
Gyozo:Man Maria:Woman
f1:father
m1:mother
f1:father
Daniel:Man Gergely:Man
mb4:members mb3:members
mb1:members mb2:members
Varro1:Family
fn:familyname
str:String "Varro"
Graph view
Fault-tolerant Systems Research Group
18
42. Budapest University of Technology and Economics
Comparison to EMF
EMF VPM / VIATRA
Namespace Only for Both models and
metamodels metamodels
Navigation As explicitly defined Always bidirectional
Generalization Only for classes Boths for classes
and references
Containment Along references Independent from
references
Generics Uni-directional Bi-directional
instance-of instance-of
Fault-tolerant Systems Research Group
19
43. Budapest University of Technology and Economics
The VIATRA2 Approach
Model management:
− Model space: Unified, global view of
models, metamodels and transformations
● Hierarchical graph model
● Complex type hierarchy
● Multilevel metamodeling
Model manipulation and transformations:
integration of two mathematically precise,
rule and pattern-based formalisms
− Graph patterns (GP): structural conditions
− Graph transformation (GT): elementary xform steps
− Abstract state machines (ASM): complex xform programs
Code generation:
− Special model transformations with
− Code templates and code formatters
Fault-tolerant Systems Research Group
20
44. Budapest University of Technology and Economics
Pattern definition Graphical notation
pattern brother(X,B)
Family Varro1 mother
P: Person father
P Gyozo Maria wife/
P1:person P2:person
husband
man
X: Person B: Man B
X Daniel Gergely woman
check (X != B)
matching
Graph Pattern:
m1:mother
− Structural condition that have to be
fulfilled by a part of the model space
Gyozo:Man Maria:Woman
Graph pattern matching:
f2:father
f1:father m2:mother − A model (i.e. part of the model space)
can satisfy a graph pattern,
− if the pattern can be matched to a
Daniel:Man Gergely:Man
subgraph of the model
Instance Model
Fault-tolerant Systems Research Group
21
45. Budapest University of Technology and Economics
Graph patterns (VTCL)
// B is a brother of X
pattern brother(X,B) pattern brother(X, B) =
{
P: Person person(X);
P1:person P2:person person.parent(P1, X, P);
person(P);
X: Person B: Man person.parent(P2, B, P);
man(B);
check (X != B)
Fault-tolerant Systems Research Group
22
46. Budapest University of Technology and Economics
Graph patterns (VTCL)
// B is a brother of X
pattern brother(X,B) pattern brother(X, B) =
{
P: Person person(X);
P1:person P2:person person.parent(P1, X, P);
person(P);
X: Person B: Man person.parent(P2, B, P);
man(B);
check (X != B)
// S is a sister of X
pattern sister(X,S, F) pattern sister(X, S, F) = {
F: Man person(X) in F;
person.father(P1, X, M);
P1:father P2:father man(M) in F;
OR pattern
X: Person S:Woman person.father(P2, S, M);
OR woman(S) in F;
} or {
M: Mother person(X) in F;
P1:mother P2:mother person.mother(P1, X, W);
woman(W) in F;
X: Person S:Woman
person.mother(P2, S, W);
Fault-tolerant Systems Research Group
22
47. Budapest University of Technology and Economics
Negative patterns (VTCL)
pattern mayMarry(M,W) pattern mayMarry(X, D) = {
man(M);
F1: Family F2: Family
family(F1);
MB1:members MB2:members family.members(MB1, F1, M);
woman(W);
M: Man W:Woman Negative family(F2);
pattern family.members(MB2, F2, W);
neg find married(M);
X X neg find married(W);
neg find neg find
married married check (F1 != F2);
}
check (F1 != F2)
pattern married(X) =
pattern married(X) {
man(X);
X: Man W: Woman
P1:person man.wife(WF, X, W);
OR woman(W);
M: Man X: Woman } or {
P1:person woman(X);
Fault-tolerant Systems Research Group
23
48. Budapest University of Technology and Economics
Recursive patterns (VTCL)
pattern descendants(X, D) = {
pattern descendants(X,D)
person(X);
X: Person person.parent(P2, Ch, X);
OR pattern
Recursive person(Ch);
P1:father
pattern find descendants(Ch, D)
Ch: Person D:Person
person(D);
} or {
X D person(X);
find descendants person.parent(P1, D, X);
OR person(D);
P1:parent
D: Person X: Person
Fault-tolerant Systems Research Group
24
49. Budapest University of Technology and Economics
Graph transformation rules (VTCL)
precondition pattern postcondition pattern
lhs(M,W,F1,MB1,F2,MB2) rhs(M,W,F1,MB1,F2,MB2,F)
F1: Family F2: Family F1: Family F2: Family
Precondition
MB1:members MB2:members pattern
M: Man W:Woman
M: Man W:Woman
MB1:members MB4:members
X X F: Family
neg find neg find
married married Postcondition
pattern
gtrule marry(in M, in W, out F) =
precondition pattern postcondition pattern
lhs(M,W,F1,MB1,F2,MB2) = { rhs(M,W,F1,MB1,F2,MB2) = {
family(F1); family(F1);
family.members(MB1, F1, M); man(M);
man(M); family(F2);
family(F2); woman(W);
family.members(MB2, F2, W); family(F);
woman(W); family.members(MB3, F, M);
neg find married(M); family.members(MB4, F, W);
Fault-tolerant Systems Research Group
25
50. Budapest University of Technology and Economics
Graph transformation rules (VTCL)
precondition pattern
lhs(M,W,F1,MB1,F2,MB2)
F1: Family F2: Family
Precondition
MB1:members MB2:members pattern
M: Man W:Woman
X X
neg find neg find
married married Action
Part
gtrule marry(in M, in W, out F) =
precondition pattern
action
lhs(M,W,F1,MB1,F2,MB2) = {
{
family(F1);
family.members(MB1, F1, M); delete(MB1);
man(M); delete(MB2);
family(F2); new(family(F));
family.members(MB2, F2, W); new(family.members(MB3, F, M));
woman(W);
new(family.members(MB4, F, W));
neg find married(M);
Fault-tolerant Systems Research Group
26
51. Budapest University of Technology and Economics
Structure of GT rules
NEG LHS RHS
X Z X X Y
gtrule myRule(X,Y)
Interface with ASM
− Input variables Input Output
− Output variables
− (in Prolog style) X Y
All parameters can be typed
Fault-tolerant Systems Research Group
27
52. Budapest University of Technology and Economics
Generic GT rules (VTCL)
gtrule parentIsAncR(Par,Child)
precondition lhs(Par,Child) postcondition rhs(Par,Child)
P1:parent E:anc
Par:Class Child:Class Par:Class Child:Class
P1:parent
gtrule parentIsAncR(Par,Child,ClsE,ParR,AncR)
precondition lhs(Par, Child, P1 postcondition rhs(Par, Child, P1
ClsE,ParR,AncR) ClsE,ParR,AncR)
ParR: AncR: ParR: AncR:
relation ClsE:entity relation relation ClsE:entity relation
P1:relation P1:relation
Par:entity Child:entity Par:entity Child:entity
E:relation
Fault-tolerant Systems Research Group
28
53. Budapest University of Technology and Economics
Abstract State Machines
ASM: high-level forall X below people.models,
B below people.models
specification language
with find brother(X, B) do seq {
− Control structure for xform
print(name(X) + "->" + name(B));
− Integrated with GT rules }
Examples
− update location = term; let X = people.models.Varro1.Daniel,
− parallel {…} / seq {…} Y = people.models.Gyapay1.Szilvia,
− let var = term in rule; F = undef, F2 = undef in
− if (formula) rule1; else rule2; choose Z below people.models
− iterate rule; apply marry(X, Y, F) do seq {
− forall/choose variables rename(F, "Varro2");
with formula do rule; move(F, people.models);
− forall/choose variables iterate
apply gtrule do rule; choose M below people.models,
W below
GT extensions to ASMs people.models apply marry(M,
• Permanent states (models) + elementary model manipulation
Fault-tolerant Systems Research Group
29
54. Budapest University of Technology and Economics
Iterate choose vs. Forall
Executes a GT rule as Executes a GT rule for
long as possible each match one by one
Potential nontermination Potentially conflicting
effects
// This may cause nontermination if the same // This may cause a conflict when X and B
// match for X and B is enabled after the // are both man, and they are brothers
// body of seq is executed
iterate choose X, B with find brother(X, B) do forall X, B with find brother(X, B) do seq {
seq { delete(X);
}
}
Fault-tolerant Systems Research Group
30
55. Budapest University of Technology and Economics
The VIATRA2 Approach
Model management:
− Model space: Unified, global view of
models, metamodels and transformations
● Hierarchical graph model
● Complex type hierarchy
● Multilevel metamodeling
Model manipulation and transformations:
integration of two mathematically precise,
rule and pattern-based formalisms
− Graph patterns (GP): structural conditions
− Graph transformation (GT): elementary xform steps
− Abstract state machines (ASM): complex xform programs
Code generation:
− Special model transformations driven by graph patterns
− Code templates and/or print rules
Fault-tolerant Systems Research Group
31
56. Budapest University of Technology and Economics
Code templates (Ongoing)
Code generation template printClass(in C) =
{
− Code templates public class $C {
− Code formatters #(forall At,Typ with attrib(C,At,Typ) do seq{)
Code templates (alpha) private $Typ $At;
#(})
− Text block with references }
to GTASM patterns, rules }
− Compiled into GTASM
programs with prints // Result
≈ Velocity templates rule printClass(in C) = seq {
print("public class " + C + "{");
Code formatters forall At,Typ with attrib(C,At,Typ) do
− Split output code into seq {
multiple files print("private " + Typ + " " + At + ";");
− Pretty printing }
print("}");
Fault-tolerant Systems Research Group
32
57. Budapest University of Technology and Economics
Other advanced MT issues
Reusability
− Pattern composition (find)
− Rule calls (call)
Traceability
− Reference metamodels
− Explicit storage of reference models
Extensibility
− Native transformations:
written in Java, called from MT programs
− Integration of domain-specific models
Fault-tolerant Systems Research Group
33
58. Budapest University of Technology and Economics
ADVANCED
TRANSFORMATION
CONCEPTS
Fault-tolerant Systems Research Group
34
59. Budapest University of Technology and Economics
Incremental graph pattern matching
… previous talk
Fault-tolerant Systems Research Group
35
60. Budapest University of Technology and Economics
What really is the incremental pattern matcher?
Graph patterns ~ complex constraint sets
− Matching set: overlay of “valid” elements
RETE: a complex overlay cache of the model
graph
− Stores matching sets explicitly
A historical cache
− Can store “previous” overlay states
Fault-tolerant Systems Research Group
36
61. Budapest University of Technology and Economics
What really is the incremental pattern matcher?
Graph patterns ~ complex constraint sets
− Matching set: overlay of “valid” elements
RETE: a complex overlay cache of the model
graph
− Stores matching sets explicitly
A historical cache
− Can store “previous” overlay states
Fault-tolerant Systems Research Group
36
62. Budapest University of Technology and Economics
Idea
Use the historical overlay to
− Easily compute non-trivial change information (beyond
elementary changes)
● Detect high-level “events”
● Detect (the net effect of) complex change sequences
− Assign actions to these changes
● Event-Condition-Action formalism in rule-based systems
● event-driven transformations
− Or, easily track the validity set of constraints as the model is
evolving
● constraint satisfaction solving
− Or, easily track enabledness conditions for simulation rules
● stochastic model simulation
Fault-tolerant Systems Research Group
37
63. Budapest University of Technology and Economics
Event-‐driven
and
live
transforma1ons
Core
idea:
represent
events
as
changes
in
the
matching
set
of
a
pa3ern.
− More
general
than
previous
approaches
− Use
events
and
reac:ons
as
transforma:on
specifica:on
Live
transforma:ons
− maintain
the
context
(variable
values,
global
variables,
…);
− run
as
a
“daemon”,
react
whenever
necessary;
− as
the
models
change,
the
system
can
react
instantly,
since
everything
needed
is
there
in
the
RETE
network:
no
re-‐
computa/on
is
necessary.
Paper
at
ICMT2008:
Live
model
transforma:ons
driven
by
incremental
pa3ern
matching.
Fault-tolerant Systems Research Group
38
64. Budapest University of Technology and Economics
Change-driven transformations
Generalization of the live transformation approach
New formalism supports more precise change queries
− To distinguish between various execution trajectories that
result in the same net change
− A more complete adaptation of the ECA approach to graph
transformations
Application scenarios
− Incremental model synchronization for non-materialized
models (paper at MODELS2009: Change-driven
transformations)
− Back-annotation of simulation traces (paper at SEFM2010)
Fault-tolerant Systems Research Group
39
65. Budapest University of Technology and Economics
Constraint satisfaction over models
Motivation
− Very pragmatic problem area: constraint evaluation, “quick fix”
computation, design or configuration-space exploration etc.
− CLP(FD) limited: only finite problems can be formulated
● Problematic: object birth-and-death
− CLP(FD) difficult to use
GT-based approaches
− Easier-to-use formalism
− Infinite (dynamic) problems
− “Traditional” problem: scalability
Our aim: combine ease-of-use and flexibility with
performance
Fault-tolerant Systems Research Group
40
66. Budapest University of Technology and Economics
CSP(M)
Described by (M0,C,G,L) Performance
− M0 initial model (typed graph) “Pure” and “Flexible” CSP(M)
− C set of global constraints (graph − Execution times significantly faster
patterns) than KORAT or GROOVE
− G set of goals (graph patterns) Dynamic CSP(M)
− L set of labeling rules (GT rules) − We can even beat Prolog CLP(FD)
Goal: Find a model Ms which in some cases
satisfies all global constraints and In general
goals (One, All, Optimal solutions) − VERY problem specific results
Extensions − Lots of potential for future research
− Flexible CSP
● Strong-weak constraints
● Quality metrics
− Dynamic CSP: Add-remove
constraints, goals, labeling rules on-the-
fly
● Re-use already traversed state
space
Fault-tolerant Systems Research Group
41
67. Budapest University of Technology and Economics
Stochastic simulation by graph transformation
Joint work with prof. Reiko Heckel’s group (University of
Leicester)
Conceptually similar to the CSP engine
− Simulation rule: precondition + transformation
− Assign probability distributions to simulation rules
− Execute as-long-as-possible
− Observe system state changes
Papers
− FASE2010: P. Torrini, R. Heckel, I. Ráth: Stochastic simulation of graph
transformation systems
− GT-VMT2010: P. Torrini, R. Heckel, I. Ráth, G. Bergmann: Stochastic
graph transformation with regions
− ASMTA2010: A. Khan, P. Torrini, R. Heckel and I. Ráth: Model-based
stochastic simulation of P2P VoIP using graph transformation
Fault-tolerant Systems Research Group
42
68. Budapest University of Technology and Economics
Applications
VoIP P2P network behavioral simulation (Skype)
Other simulation scenarios
− Social networks
− Traffic networks
− Crystal growth
Evaluation
− +: Scales well (comparable to dedicated simulators)
− +: GT is a high-level behavioral specification formalism that is
easy-to-use
− -: does not (yet) support certain topological constraints (e.g.
transitive closure)
Fault-tolerant Systems Research Group
43
69. Budapest University of Technology and Economics
Summary of VIATRA
VIATRA: provides a rule and pattern-based language
for uni-directional model transformations
Main concepts
− multi-level metamodeling + model space
− transformation language
● graph transformation
● abstract state machines
− template-based code generation.
Added value:
− Rich specification language
− Advanced and extensible execution strategies
− Usable for tool integration problems in practice
Fault-tolerant Systems Research Group
44
70. Budapest University of Technology and Economics
VIATRA2 IN TOOL
INTEGRATION
Fault-tolerant Systems Research Group
45
71. Budapest University of Technology and Economics
Main Application Fields
Analysis of Business Process Models SOA
− Verification by MC, Fault simulation, − Performance & Availability analysis
Security analysis − Configuration generation
(Bell-LaPadula) − Service Analysis and Deployment
− Optimization (ILog Solver) descriptor generation
IBM Faculty Awards − Verification by MC (BPEL2SAL and
MDD in the Enterprise back)
− Incremental correspondence SA Forum + SENSORIA IP
maintenance between Requirements Embedded Systems
models and − PIM & PSM for dependable embedded
● Architecture models systems
● Design models − PIM & PSM model store
− Change impact analysis − PIM-to-PSM mapping
SecureChange IP − PIM & PSM validation
Domain-specific modeling languages − Middleware code generation
− Design and transformation of domain − Test generation using SAL-ATG
specific languages − Valid PSM generation based on
− Model simulation and stochastic constraints ( CSP(M))
simulation ( GraSS) DECOS, DIANA, MOGENTES IP
− Model-based generation of graphical
user interfaces
Fault-tolerant Systems Research Group
46
72. Budapest University of Technology and Economics
Summary
Tool integration by precise model transformations: feasible in
− Service-oriented applications
− Dependable embedded systems
− Enterprise applications
Transformations can be specified by a combination of formal
techniques
− Graph transformation
− Abstract State Machines
MDD tools
− Can be built on open tool platforms
− Integrate a large set of tools
Our approach
− Open, customizable
− Highly adaptive (new modeling standards, platforms, V&V tools, …)
Fault-tolerant Systems Research Group
47
73. Budapest University of Technology and Economics
Many thanks to
D. Varró, G. Bergmann, Á. Horváth, Á. Hegedüs, Z. Ujhelyi, G. Varró
A. Pataricza, A. Balogh, L. Gönczy, B. Polgár, D. Tóth
Z. Balogh, A. Ökrös, Zs. Déri
And many more students
THANK YOU FOR YOUR
ATTENTION
Fault-tolerant Systems Research Group
48