At the MODELS 2014 conference, we presented a generic framework for performing semantic model differencing based on behavioral semantics specifications.
Model differencing is concerned with the identification of differences among independently developed or consecutive versions of models. Therewith, it constitutes the basis for performing change management tasks, such as model merging, model versioning, and conflict detection. The majority of existing model differencing approaches focus on revealing syntactic differences among models. While syntactic differences provide important information for performing change management tasks, they can only approximate semantic differences among models with respect to the meaning of models. Thus, they cannot account for the fact that models with many syntactic differences may have the same semantics and few syntactic differences may induce very different semantics. Therefore, semantic model differencing is required that takes the semantics of models into account.
We developed a generic semantic model differencing framework, which can be instantiated to realize semantic model differencing operators for specific modeling languages. The framework utilizes the behavioral semantics specification of the used modeling language to execute the models to be compared and capture execution traces representing the models’ semantic interpretations. Based on these semantic interpretations, semantic differences are revealed in the form of diff witnesses that are semantic interpretations valid only for one of the compared models.
This document proposes a new metric for measuring the reusability of object-oriented software components. It discusses various class, attribute, method, and parameter metrics that could indicate reusability. The paper describes two experiments where code samples were analyzed based on these metrics. The results show that factors like low coupling between classes, simple attribute and method structures, and meaningful names correlate with more reusable code. A new reusability metric formula is proposed that combines several of these metrics.
Towards the Semantic Integration of Plant Behavior Models with AutomationML’s...Tanja Mayerhofer
This presentation was given at the 4th International Workshop on The Globalization of Modeling Languages (GEMOC) 2016 (http://gemoc.org/gemoc2016/).
Abstract:
AutomationML is an emerging IEC standard for storing and exchanging engineering data among the heterogeneous software tools involved in the engineering of production systems. One important subset of such engineering data is the plant behavior. To make this data exchangeable, AutomationML uses the existing industry data format PLCopen XML. However, at the development stages of production systems, the plant behavior is usually defined using other representation means, such as Gantt charts, impulse diagrams, and sequential function charts. To make such plant behavior models exchangeable, AutomationML introduces the so-called Intermediate Modeling Layer (IML) with corresponding transformation rules to decouple the employed modeling languages from the target format PLCopen XML. However, IML itself as well as the transformations from and to IML are only semi-formally described. This not only hinders the adoption of IML as a common language for representing plant behavior, but also renders impossible the composition of heterogeneous plant behavior models for carrying out integrated analyses of the global plant behavior. In this work, we aim at clarifying syntactical and semantical aspects of IML by proposing a metamodel and operational semantics for IML. This constitutes the first step towards formalizing and validating transformations between behavioral modeling languages currently employed in the production domain (e.g., Gantt charts), IML, and PLCopen XML. Having this foundation, we aim at utilizing IML as the semantic domain for the composition of heterogeneous plant behavior models.
Unsupervised Word Usage Similarity in Social Media TextsSpandana Gella
The document presents a methodology for modeling word usage similarity (Usim) in social media texts without supervision. It uses Latent Dirichlet Allocation (LDA) topic modeling to represent tweets containing target words as topic distribution vectors and evaluate models on a dataset of manually annotated Usim scores. LDA outperforms a baseline and benchmark, and expanding documents with hashtags improves performance. The study concludes LDA is suitable for modeling Usim in tweets.
Automatic Grammatical Error Correction for ESL-Learners by SMT - Getting it r...Marcin Junczys-Dowmunt
Video recording of full talk: http://lectures.ms.mff.cuni.cz/view.php?rec=255
There has been an increasing interest in using statistical machine translation (SMT) for the task of Grammatical Error Correction (GEC) for English-as-a-Second-Language (ESL) learners. Two of the three highest-scoring systems of the CoNLL-2014 Shared Task were SMT-based. The currently highest-scoring result published for the CoNLL-2014 test set has been achieved by a system combination of the five best CoNLL-2014 submissions built with MEMT (a tool for MT system combination). In this talk, we demonstrate how a single SMT-based system can match and outperform the result of the mentioned combined system. Furthermore, this system outperforms any other published results (including our own CoNLL-2014 submission) for a single system by a margin of several percent F-Score when the same training data is being used. These results are achieved by adapting current state-of-the art methods for phrase-based SMT specifically to the problem of GEC.
We report on the effects of:
- Parameter tuning for GEC
- Introducing GEC-specific dense and sparse features
- Using large-scale data
Semantic based model matching with emf compareDavide Ruscio
In MDE resolving pragmatic issues related to the management of models is key to success. Model comparison is one of the most challenging operations playing a central role in a wide range of modelling activities including model versioning, evolution and even collaborative and distributed specification of models. Over the last decade, several syntactic methods have been proposed to compare models even though they struggle in achieving higher levels of accuracy especially when the semantics of the application domain has to be considered. Existing methods improve comparison precision at the price of high performance costs.
In this talk I presented a lightweight semantic comparison method, which relies on a new matching algorithm that considers ontological information encoded in the WordNet lexical database further than ordinary syntactical and structural correlations. The approach has been implemented as extension of EMFCompare and evaluated to measure its precision and performances when compared to existing approaches.
Near Duplicate Document Detection: Mathematical Modeling and AlgorithmsLiwei Ren任力偉
Near-duplicate document detection is a well-known problem in the area of information retrieval. It is an important problem to be solved for many applications in IT industry. It has been studied with profound research literatures. This article provides a novel solution to this classic problem. We present the problem with abstract models along with additional concepts such as text models, document fingerprints and document similarity. With these concepts, the problem can be transformed into keyword like search problem with results ranked by document similarity. There are two major techniques. The first technique is to extract robust and unique fingerprints from a document. The second one is to calculate document similarity effectively. Algorithms for both fingerprint extraction and document similarity calculation are introduced as a complete solution.
This document proposes a new metric for measuring the reusability of object-oriented software components. It discusses various class, attribute, method, and parameter metrics that could indicate reusability. The paper describes two experiments where code samples were analyzed based on these metrics. The results show that factors like low coupling between classes, simple attribute and method structures, and meaningful names correlate with more reusable code. A new reusability metric formula is proposed that combines several of these metrics.
Towards the Semantic Integration of Plant Behavior Models with AutomationML’s...Tanja Mayerhofer
This presentation was given at the 4th International Workshop on The Globalization of Modeling Languages (GEMOC) 2016 (http://gemoc.org/gemoc2016/).
Abstract:
AutomationML is an emerging IEC standard for storing and exchanging engineering data among the heterogeneous software tools involved in the engineering of production systems. One important subset of such engineering data is the plant behavior. To make this data exchangeable, AutomationML uses the existing industry data format PLCopen XML. However, at the development stages of production systems, the plant behavior is usually defined using other representation means, such as Gantt charts, impulse diagrams, and sequential function charts. To make such plant behavior models exchangeable, AutomationML introduces the so-called Intermediate Modeling Layer (IML) with corresponding transformation rules to decouple the employed modeling languages from the target format PLCopen XML. However, IML itself as well as the transformations from and to IML are only semi-formally described. This not only hinders the adoption of IML as a common language for representing plant behavior, but also renders impossible the composition of heterogeneous plant behavior models for carrying out integrated analyses of the global plant behavior. In this work, we aim at clarifying syntactical and semantical aspects of IML by proposing a metamodel and operational semantics for IML. This constitutes the first step towards formalizing and validating transformations between behavioral modeling languages currently employed in the production domain (e.g., Gantt charts), IML, and PLCopen XML. Having this foundation, we aim at utilizing IML as the semantic domain for the composition of heterogeneous plant behavior models.
Unsupervised Word Usage Similarity in Social Media TextsSpandana Gella
The document presents a methodology for modeling word usage similarity (Usim) in social media texts without supervision. It uses Latent Dirichlet Allocation (LDA) topic modeling to represent tweets containing target words as topic distribution vectors and evaluate models on a dataset of manually annotated Usim scores. LDA outperforms a baseline and benchmark, and expanding documents with hashtags improves performance. The study concludes LDA is suitable for modeling Usim in tweets.
Automatic Grammatical Error Correction for ESL-Learners by SMT - Getting it r...Marcin Junczys-Dowmunt
Video recording of full talk: http://lectures.ms.mff.cuni.cz/view.php?rec=255
There has been an increasing interest in using statistical machine translation (SMT) for the task of Grammatical Error Correction (GEC) for English-as-a-Second-Language (ESL) learners. Two of the three highest-scoring systems of the CoNLL-2014 Shared Task were SMT-based. The currently highest-scoring result published for the CoNLL-2014 test set has been achieved by a system combination of the five best CoNLL-2014 submissions built with MEMT (a tool for MT system combination). In this talk, we demonstrate how a single SMT-based system can match and outperform the result of the mentioned combined system. Furthermore, this system outperforms any other published results (including our own CoNLL-2014 submission) for a single system by a margin of several percent F-Score when the same training data is being used. These results are achieved by adapting current state-of-the art methods for phrase-based SMT specifically to the problem of GEC.
We report on the effects of:
- Parameter tuning for GEC
- Introducing GEC-specific dense and sparse features
- Using large-scale data
Semantic based model matching with emf compareDavide Ruscio
In MDE resolving pragmatic issues related to the management of models is key to success. Model comparison is one of the most challenging operations playing a central role in a wide range of modelling activities including model versioning, evolution and even collaborative and distributed specification of models. Over the last decade, several syntactic methods have been proposed to compare models even though they struggle in achieving higher levels of accuracy especially when the semantics of the application domain has to be considered. Existing methods improve comparison precision at the price of high performance costs.
In this talk I presented a lightweight semantic comparison method, which relies on a new matching algorithm that considers ontological information encoded in the WordNet lexical database further than ordinary syntactical and structural correlations. The approach has been implemented as extension of EMFCompare and evaluated to measure its precision and performances when compared to existing approaches.
Near Duplicate Document Detection: Mathematical Modeling and AlgorithmsLiwei Ren任力偉
Near-duplicate document detection is a well-known problem in the area of information retrieval. It is an important problem to be solved for many applications in IT industry. It has been studied with profound research literatures. This article provides a novel solution to this classic problem. We present the problem with abstract models along with additional concepts such as text models, document fingerprints and document similarity. With these concepts, the problem can be transformed into keyword like search problem with results ranked by document similarity. There are two major techniques. The first technique is to extract robust and unique fingerprints from a document. The second one is to calculate document similarity effectively. Algorithms for both fingerprint extraction and document similarity calculation are introduced as a complete solution.
This document discusses n-gram language models. It provides an introduction to language models and their role in applications like speech recognition. Simple n-gram models are described that estimate word probabilities based on prior context. Parameter estimation and smoothing techniques are covered to address data sparsity issues from rare word combinations. Evaluation of language models on held-out test data is also mentioned.
[Paper Reading] Unsupervised Learning of Sentence Embeddings using Compositi...Hiroki Shimanaka
(1) The document presents an unsupervised method called Sent2Vec to learn sentence embeddings using compositional n-gram features. (2) Sent2Vec extends the continuous bag-of-words model to train sentence embeddings by composing word vectors with n-gram embeddings. (3) Experimental results show Sent2Vec outperforms other unsupervised models on most benchmark tasks, highlighting the robustness of the sentence embeddings produced.
Set-values prototypes through Consensus AnalysisMario Fordellone
The document describes research on defining set-valued prototypes through consensus analysis. It begins with definitions of prototypes and an overview of consensus analysis and measuring consensus between partitions. It then discusses partitioning methods like k-means clustering and fuzzy c-means, and how they can be used to generate multiple partitions. The document outlines how simulated and real data examples will be used to test and apply the consensus analysis approach to derive set-valued prototypes.
Coping with Semantic Variation Points in Domain-Specific Modeling LanguagesMarc Pantel
This document discusses coping with semantic variation points (SVPs) in domain-specific modeling languages (DSMLs). It presents an approach for specifying the operational semantics of executable DSMLs (xDSMLs) using concurrency theory. This allows SVPs to be explicitly specified as parts of the language semantics that are intentionally left undefined. The approach separates concerns into semantic rules, a concurrency model, and a communication protocol. The concurrency model specifies possible event orderings and SVPs can be implemented by restricting this partial ordering. An example of conflicting statechart transitions is used to illustrate how SVPs can be specified in the concurrency model. The approach is implemented in the GEMOC studio using EMF
This project was completed during the Lviv Data Science Summer School 2016 (http://cs.ucu.edu.ua/en/summerschool). The project supervisor - Jordi Carrera Ventura.
The project goal was to create a state-of-the-art automatic spellchecking system using the most recent advances in the industry (word embeddings, automatic word sense disambiguation through neural nets) as well as traditional technologies (collocation extraction, n-gram models, shallow syntactic parsing). The system shold be capable of using linguistic information and semantic context both to correct mistakes and to improve users’ word choice by suggesting better keywords whenever less specific ones are being used.
Mathematical Modeling for Practical ProblemsLiwei Ren任力偉
Mathematical modeling is an important step for developing many advanced technologies in various domains such as network security, data mining and etc… This lecture introduces a process that the speaker summarizes from his past practice of mathematical modeling and algorithmic solutions in IT industry, as an applied mathematician, algorithm specialist or software engineer , and even as an entrepreneur. A practical problem from DLP system will be used as an example for creating math models and providing algorithmic solutions.
1) The document discusses LIME (Local Interpretable Model-Agnostic Explanations), a method for explaining the predictions of any machine learning model. LIME works by training an interpretable model locally around predictions to approximate the original model.
2) Experiments show that LIME explanations help human subjects select better performing classifiers, identify features to improve classifiers, and gain insights into how classifiers work.
3) SP-LIME is introduced to select a representative set of predictions to provide a global view of a model, by maximizing coverage of important features.
Oana Tifrea-Marciuska's research focuses on artificial intelligence for social good, specifically how people reason and communicate. Her work includes developing tools for automatic humor recognition, adaptive learning systems, personalized search incorporating social and semantic data, fact checking, and semantic parsing of natural language questions into logical forms. She has published papers on representing and reasoning with preferences in ontology languages like Datalog± to enable more personalized search and query answering over semantic data.
A Critical Reassessment of Evolutionary Algorithms on the Cryptanalysis of th...ijcisjournal
In this paper we analyze the cryptanalysis of the simplified data encryption standard algorithm using metaheuristics and in particular genetic algorithms. The classic fitness function when using such an algorithm is to compare n-gram statistics of a the decrypted message with those of the target message. We show that using such a function is irrelevant in case of Genetic Algorithm, simply because there is no correlation between the distance to the real key (the optimum) and the value of the fitness, in other words, there is no hidden gradient. In order to emphasize this assumption we experimentally show that a genetic algorithm perform worse than a random search on the cryptanalysis of the simplified data encryption standard algorithm.
In this paper we analyze the cryptanalysis of the simplified data encryption standard algorithm using metaheuristics
and in particular genetic algorithms. The classic fitness function when using such an algorithm
is to compare n-gram statistics of a the decrypted message with those of the target message. We show that
using such a function is irrelevant in case of Genetic Algorithm, simply because there is no correlation
between the distance to the real key (the optimum) and the value of the fitness, in other words, there is no
hidden gradient. In order to emphasize this assumption we experimentally show that a genetic algorithm
perform worse than a random search on the cryptanalysis of the simplified data encryption standard
algorithm.
A survey on parallel corpora alignment andrefsantos
This document provides a survey of methods for aligning parallel text corpora. It discusses the historical background of using parallel texts in language processing from the 1950s onward. Key early methods are described, including ones based on sentence length, lexical mapping between words, and identifying cognates. The document also evaluates major efforts to create benchmark datasets and evaluate system performance against gold standard alignments. It surveys the evolution of various alignment techniques and lists some relevant tools and projects in the field.
This document discusses probabilistic topic modeling and document clustering techniques. It begins by introducing topic modeling as a probabilistic generative model that represents documents as mixtures of topics. The key assumptions of topic modeling are then outlined, including that documents belong to multiple topics with probabilities and that topics are distributions over terms. Popular topic modeling algorithms like probabilistic latent semantic indexing (PLSI) and latent Dirichlet allocation (LDA) are then described at a high level.
Declare Your Language: Syntax DefinitionEelco Visser
This document provides information about syntax definition and the lab organization for a compiler construction course. It includes links to papers on declarative syntax definition and the SDF3 syntax definition formalism. It also provides details about submitting lab assignments through GitHub, including instructions to fork a repository template and submit solutions as pull requests. Grades will be published on a web lab and early feedback may be provided on pull requests and pushed changes.
High level introduction to text mining analytics, which covers the building blocks or most commonly used techniques of text mining along with useful additional references/links where required for background/literature and R codes to get you started.
This document discusses correlation analysis in time and space using random fields and field meta-models. It provides examples of:
1) Parameterizing a dynamic process using random fields to model variations over time with only a few parameters.
2) Using field meta-models to perform sensitivity analysis on signals and identify which inputs most influence variation at different points in time.
3) Applying these methods to spatial variations, such as modeling geometric imperfections based on laser scans to generate random designs for robustness analysis.
This presentation talks about some of the outstanding methods for Interpreting the complex machine learning black box models. One of the ideas is to use interpretable simple models to explain predictions using sophisticated black box machine learning models.
Model Agnostic methods are proven to have some specific advantages over the Model Specific Methods of Interpretability. This work demonstrates some of such results.
Modeling and meta-modeling presentation at LTH, Sweden Saïd Assar
This document provides an overview of modeling and meta-modeling in information systems and software engineering. It begins with introductions to modeling and defines a model as any representation that can help answer questions about a system. It provides examples of different types of models used in computer science. It then defines meta-models as formal representations of models, and provides examples of meta-models. It discusses related concepts like language syntax definitions. It also covers issues around instantiating meta-models. Finally, it discusses some computerized tools for meta-modeling like MetaEdit.
The document provides information about the Theory of Computation course offered as part of the B.Tech program. The course aims to teach students about basic concepts of automata theory including finite automata, regular languages and expressions, context free grammars, pushdown automata, and Turing machines. The course is divided into 5 units that cover these topics over 45 instructional hours. The expected learning outcomes are for students to understand theoretical concepts of automata, apply automata to regular languages, apply context free grammar normalization, understand PDA and Turing machines, and apply concepts of decidability and tractability. References for two textbooks and three other reference books are also provided.
Extending Boyer-Moore Algorithm to an Abstract String Matching ProblemLiwei Ren任力偉
The bad character shift rule of Boyer-Moore string search algorithm is studied in this paper for the purpose of extending it to more general string match problems. An abstract problem of string match is defined in general. An optimized string match algorithm based one the bad character heuristics is proposed to solve the abstract match problem efficiently.
When I was asked to give a companion lecture in support of ‘The Philosophy of Science’ (https://shorturl.at/4pUXz) I decided not to walk through the detail of the many methodologies in order of use. Instead, I chose to employ a long standing, and ongoing, scientific development as an exemplar. And so, I chose the ever evolving story of Thermodynamics as a scientific investigation at its best.
Conducted over a period of >200 years, Thermodynamics R&D, and application, benefitted from the highest levels of professionalism, collaboration, and technical thoroughness. New layers of application, methodology, and practice were made possible by the progressive advance of technology. In turn, this has seen measurement and modelling accuracy continually improved at a micro and macro level.
Perhaps most importantly, Thermodynamics rapidly became a primary tool in the advance of applied science/engineering/technology, spanning micro-tech, to aerospace and cosmology. I can think of no better a story to illustrate the breadth of scientific methodologies and applications at their best.
ESPP presentation to EU Waste Water Network, 4th June 2024 “EU policies driving nutrient removal and recycling
and the revised UWWTD (Urban Waste Water Treatment Directive)”
More Related Content
Similar to Semantic Model Differencing Utilizing Behavioral Semantics Specifications (Talk at MODELS 2014)
This document discusses n-gram language models. It provides an introduction to language models and their role in applications like speech recognition. Simple n-gram models are described that estimate word probabilities based on prior context. Parameter estimation and smoothing techniques are covered to address data sparsity issues from rare word combinations. Evaluation of language models on held-out test data is also mentioned.
[Paper Reading] Unsupervised Learning of Sentence Embeddings using Compositi...Hiroki Shimanaka
(1) The document presents an unsupervised method called Sent2Vec to learn sentence embeddings using compositional n-gram features. (2) Sent2Vec extends the continuous bag-of-words model to train sentence embeddings by composing word vectors with n-gram embeddings. (3) Experimental results show Sent2Vec outperforms other unsupervised models on most benchmark tasks, highlighting the robustness of the sentence embeddings produced.
Set-values prototypes through Consensus AnalysisMario Fordellone
The document describes research on defining set-valued prototypes through consensus analysis. It begins with definitions of prototypes and an overview of consensus analysis and measuring consensus between partitions. It then discusses partitioning methods like k-means clustering and fuzzy c-means, and how they can be used to generate multiple partitions. The document outlines how simulated and real data examples will be used to test and apply the consensus analysis approach to derive set-valued prototypes.
Coping with Semantic Variation Points in Domain-Specific Modeling LanguagesMarc Pantel
This document discusses coping with semantic variation points (SVPs) in domain-specific modeling languages (DSMLs). It presents an approach for specifying the operational semantics of executable DSMLs (xDSMLs) using concurrency theory. This allows SVPs to be explicitly specified as parts of the language semantics that are intentionally left undefined. The approach separates concerns into semantic rules, a concurrency model, and a communication protocol. The concurrency model specifies possible event orderings and SVPs can be implemented by restricting this partial ordering. An example of conflicting statechart transitions is used to illustrate how SVPs can be specified in the concurrency model. The approach is implemented in the GEMOC studio using EMF
This project was completed during the Lviv Data Science Summer School 2016 (http://cs.ucu.edu.ua/en/summerschool). The project supervisor - Jordi Carrera Ventura.
The project goal was to create a state-of-the-art automatic spellchecking system using the most recent advances in the industry (word embeddings, automatic word sense disambiguation through neural nets) as well as traditional technologies (collocation extraction, n-gram models, shallow syntactic parsing). The system shold be capable of using linguistic information and semantic context both to correct mistakes and to improve users’ word choice by suggesting better keywords whenever less specific ones are being used.
Mathematical Modeling for Practical ProblemsLiwei Ren任力偉
Mathematical modeling is an important step for developing many advanced technologies in various domains such as network security, data mining and etc… This lecture introduces a process that the speaker summarizes from his past practice of mathematical modeling and algorithmic solutions in IT industry, as an applied mathematician, algorithm specialist or software engineer , and even as an entrepreneur. A practical problem from DLP system will be used as an example for creating math models and providing algorithmic solutions.
1) The document discusses LIME (Local Interpretable Model-Agnostic Explanations), a method for explaining the predictions of any machine learning model. LIME works by training an interpretable model locally around predictions to approximate the original model.
2) Experiments show that LIME explanations help human subjects select better performing classifiers, identify features to improve classifiers, and gain insights into how classifiers work.
3) SP-LIME is introduced to select a representative set of predictions to provide a global view of a model, by maximizing coverage of important features.
Oana Tifrea-Marciuska's research focuses on artificial intelligence for social good, specifically how people reason and communicate. Her work includes developing tools for automatic humor recognition, adaptive learning systems, personalized search incorporating social and semantic data, fact checking, and semantic parsing of natural language questions into logical forms. She has published papers on representing and reasoning with preferences in ontology languages like Datalog± to enable more personalized search and query answering over semantic data.
A Critical Reassessment of Evolutionary Algorithms on the Cryptanalysis of th...ijcisjournal
In this paper we analyze the cryptanalysis of the simplified data encryption standard algorithm using metaheuristics and in particular genetic algorithms. The classic fitness function when using such an algorithm is to compare n-gram statistics of a the decrypted message with those of the target message. We show that using such a function is irrelevant in case of Genetic Algorithm, simply because there is no correlation between the distance to the real key (the optimum) and the value of the fitness, in other words, there is no hidden gradient. In order to emphasize this assumption we experimentally show that a genetic algorithm perform worse than a random search on the cryptanalysis of the simplified data encryption standard algorithm.
In this paper we analyze the cryptanalysis of the simplified data encryption standard algorithm using metaheuristics
and in particular genetic algorithms. The classic fitness function when using such an algorithm
is to compare n-gram statistics of a the decrypted message with those of the target message. We show that
using such a function is irrelevant in case of Genetic Algorithm, simply because there is no correlation
between the distance to the real key (the optimum) and the value of the fitness, in other words, there is no
hidden gradient. In order to emphasize this assumption we experimentally show that a genetic algorithm
perform worse than a random search on the cryptanalysis of the simplified data encryption standard
algorithm.
A survey on parallel corpora alignment andrefsantos
This document provides a survey of methods for aligning parallel text corpora. It discusses the historical background of using parallel texts in language processing from the 1950s onward. Key early methods are described, including ones based on sentence length, lexical mapping between words, and identifying cognates. The document also evaluates major efforts to create benchmark datasets and evaluate system performance against gold standard alignments. It surveys the evolution of various alignment techniques and lists some relevant tools and projects in the field.
This document discusses probabilistic topic modeling and document clustering techniques. It begins by introducing topic modeling as a probabilistic generative model that represents documents as mixtures of topics. The key assumptions of topic modeling are then outlined, including that documents belong to multiple topics with probabilities and that topics are distributions over terms. Popular topic modeling algorithms like probabilistic latent semantic indexing (PLSI) and latent Dirichlet allocation (LDA) are then described at a high level.
Declare Your Language: Syntax DefinitionEelco Visser
This document provides information about syntax definition and the lab organization for a compiler construction course. It includes links to papers on declarative syntax definition and the SDF3 syntax definition formalism. It also provides details about submitting lab assignments through GitHub, including instructions to fork a repository template and submit solutions as pull requests. Grades will be published on a web lab and early feedback may be provided on pull requests and pushed changes.
High level introduction to text mining analytics, which covers the building blocks or most commonly used techniques of text mining along with useful additional references/links where required for background/literature and R codes to get you started.
This document discusses correlation analysis in time and space using random fields and field meta-models. It provides examples of:
1) Parameterizing a dynamic process using random fields to model variations over time with only a few parameters.
2) Using field meta-models to perform sensitivity analysis on signals and identify which inputs most influence variation at different points in time.
3) Applying these methods to spatial variations, such as modeling geometric imperfections based on laser scans to generate random designs for robustness analysis.
This presentation talks about some of the outstanding methods for Interpreting the complex machine learning black box models. One of the ideas is to use interpretable simple models to explain predictions using sophisticated black box machine learning models.
Model Agnostic methods are proven to have some specific advantages over the Model Specific Methods of Interpretability. This work demonstrates some of such results.
Modeling and meta-modeling presentation at LTH, Sweden Saïd Assar
This document provides an overview of modeling and meta-modeling in information systems and software engineering. It begins with introductions to modeling and defines a model as any representation that can help answer questions about a system. It provides examples of different types of models used in computer science. It then defines meta-models as formal representations of models, and provides examples of meta-models. It discusses related concepts like language syntax definitions. It also covers issues around instantiating meta-models. Finally, it discusses some computerized tools for meta-modeling like MetaEdit.
The document provides information about the Theory of Computation course offered as part of the B.Tech program. The course aims to teach students about basic concepts of automata theory including finite automata, regular languages and expressions, context free grammars, pushdown automata, and Turing machines. The course is divided into 5 units that cover these topics over 45 instructional hours. The expected learning outcomes are for students to understand theoretical concepts of automata, apply automata to regular languages, apply context free grammar normalization, understand PDA and Turing machines, and apply concepts of decidability and tractability. References for two textbooks and three other reference books are also provided.
Extending Boyer-Moore Algorithm to an Abstract String Matching ProblemLiwei Ren任力偉
The bad character shift rule of Boyer-Moore string search algorithm is studied in this paper for the purpose of extending it to more general string match problems. An abstract problem of string match is defined in general. An optimized string match algorithm based one the bad character heuristics is proposed to solve the abstract match problem efficiently.
Similar to Semantic Model Differencing Utilizing Behavioral Semantics Specifications (Talk at MODELS 2014) (20)
When I was asked to give a companion lecture in support of ‘The Philosophy of Science’ (https://shorturl.at/4pUXz) I decided not to walk through the detail of the many methodologies in order of use. Instead, I chose to employ a long standing, and ongoing, scientific development as an exemplar. And so, I chose the ever evolving story of Thermodynamics as a scientific investigation at its best.
Conducted over a period of >200 years, Thermodynamics R&D, and application, benefitted from the highest levels of professionalism, collaboration, and technical thoroughness. New layers of application, methodology, and practice were made possible by the progressive advance of technology. In turn, this has seen measurement and modelling accuracy continually improved at a micro and macro level.
Perhaps most importantly, Thermodynamics rapidly became a primary tool in the advance of applied science/engineering/technology, spanning micro-tech, to aerospace and cosmology. I can think of no better a story to illustrate the breadth of scientific methodologies and applications at their best.
ESPP presentation to EU Waste Water Network, 4th June 2024 “EU policies driving nutrient removal and recycling
and the revised UWWTD (Urban Waste Water Treatment Directive)”
hematic appreciation test is a psychological assessment tool used to measure an individual's appreciation and understanding of specific themes or topics. This test helps to evaluate an individual's ability to connect different ideas and concepts within a given theme, as well as their overall comprehension and interpretation skills. The results of the test can provide valuable insights into an individual's cognitive abilities, creativity, and critical thinking skills
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills MN
Travis Hills of Minnesota developed a method to convert waste into high-value dry fertilizer, significantly enriching soil quality. By providing farmers with a valuable resource derived from waste, Travis Hills helps enhance farm profitability while promoting environmental stewardship. Travis Hills' sustainable practices lead to cost savings and increased revenue for farmers by improving resource efficiency and reducing waste.
ESR spectroscopy in liquid food and beverages.pptxPRIYANKA PATEL
With increasing population, people need to rely on packaged food stuffs. Packaging of food materials requires the preservation of food. There are various methods for the treatment of food to preserve them and irradiation treatment of food is one of them. It is the most common and the most harmless method for the food preservation as it does not alter the necessary micronutrients of food materials. Although irradiated food doesn’t cause any harm to the human health but still the quality assessment of food is required to provide consumers with necessary information about the food. ESR spectroscopy is the most sophisticated way to investigate the quality of the food and the free radicals induced during the processing of the food. ESR spin trapping technique is useful for the detection of highly unstable radicals in the food. The antioxidant capability of liquid food and beverages in mainly performed by spin trapping technique.
The technology uses reclaimed CO₂ as the dyeing medium in a closed loop process. When pressurized, CO₂ becomes supercritical (SC-CO₂). In this state CO₂ has a very high solvent power, allowing the dye to dissolve easily.
The ability to recreate computational results with minimal effort and actionable metrics provides a solid foundation for scientific research and software development. When people can replicate an analysis at the touch of a button using open-source software, open data, and methods to assess and compare proposals, it significantly eases verification of results, engagement with a diverse range of contributors, and progress. However, we have yet to fully achieve this; there are still many sociotechnical frictions.
Inspired by David Donoho's vision, this talk aims to revisit the three crucial pillars of frictionless reproducibility (data sharing, code sharing, and competitive challenges) with the perspective of deep software variability.
Our observation is that multiple layers — hardware, operating systems, third-party libraries, software versions, input data, compile-time options, and parameters — are subject to variability that exacerbates frictions but is also essential for achieving robust, generalizable results and fostering innovation. I will first review the literature, providing evidence of how the complex variability interactions across these layers affect qualitative and quantitative software properties, thereby complicating the reproduction and replication of scientific studies in various fields.
I will then present some software engineering and AI techniques that can support the strategic exploration of variability spaces. These include the use of abstractions and models (e.g., feature models), sampling strategies (e.g., uniform, random), cost-effective measurements (e.g., incremental build of software configurations), and dimensionality reduction methods (e.g., transfer learning, feature selection, software debloating).
I will finally argue that deep variability is both the problem and solution of frictionless reproducibility, calling the software science community to develop new methods and tools to manage variability and foster reproducibility in software systems.
Exposé invité Journées Nationales du GDR GPL 2024
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...Sérgio Sacani
Context. With a mass exceeding several 104 M⊙ and a rich and dense population of massive stars, supermassive young star clusters
represent the most massive star-forming environment that is dominated by the feedback from massive stars and gravitational interactions
among stars.
Aims. In this paper we present the Extended Westerlund 1 and 2 Open Clusters Survey (EWOCS) project, which aims to investigate
the influence of the starburst environment on the formation of stars and planets, and on the evolution of both low and high mass stars.
The primary targets of this project are Westerlund 1 and 2, the closest supermassive star clusters to the Sun.
Methods. The project is based primarily on recent observations conducted with the Chandra and JWST observatories. Specifically,
the Chandra survey of Westerlund 1 consists of 36 new ACIS-I observations, nearly co-pointed, for a total exposure time of 1 Msec.
Additionally, we included 8 archival Chandra/ACIS-S observations. This paper presents the resulting catalog of X-ray sources within
and around Westerlund 1. Sources were detected by combining various existing methods, and photon extraction and source validation
were carried out using the ACIS-Extract software.
Results. The EWOCS X-ray catalog comprises 5963 validated sources out of the 9420 initially provided to ACIS-Extract, reaching a
photon flux threshold of approximately 2 × 10−8 photons cm−2
s
−1
. The X-ray sources exhibit a highly concentrated spatial distribution,
with 1075 sources located within the central 1 arcmin. We have successfully detected X-ray emissions from 126 out of the 166 known
massive stars of the cluster, and we have collected over 71 000 photons from the magnetar CXO J164710.20-455217.
Or: Beyond linear.
Abstract: Equivariant neural networks are neural networks that incorporate symmetries. The nonlinear activation functions in these networks result in interesting nonlinear equivariant maps between simple representations, and motivate the key player of this talk: piecewise linear representation theory.
Disclaimer: No one is perfect, so please mind that there might be mistakes and typos.
dtubbenhauer@gmail.com
Corrected slides: dtubbenhauer.com/talks.html
The use of Nauplii and metanauplii artemia in aquaculture (brine shrimp).pptxMAGOTI ERNEST
Although Artemia has been known to man for centuries, its use as a food for the culture of larval organisms apparently began only in the 1930s, when several investigators found that it made an excellent food for newly hatched fish larvae (Litvinenko et al., 2023). As aquaculture developed in the 1960s and ‘70s, the use of Artemia also became more widespread, due both to its convenience and to its nutritional value for larval organisms (Arenas-Pardo et al., 2024). The fact that Artemia dormant cysts can be stored for long periods in cans, and then used as an off-the-shelf food requiring only 24 h of incubation makes them the most convenient, least labor-intensive, live food available for aquaculture (Sorgeloos & Roubach, 2021). The nutritional value of Artemia, especially for marine organisms, is not constant, but varies both geographically and temporally. During the last decade, however, both the causes of Artemia nutritional variability and methods to improve poorquality Artemia have been identified (Loufi et al., 2024).
Brine shrimp (Artemia spp.) are used in marine aquaculture worldwide. Annually, more than 2,000 metric tons of dry cysts are used for cultivation of fish, crustacean, and shellfish larva. Brine shrimp are important to aquaculture because newly hatched brine shrimp nauplii (larvae) provide a food source for many fish fry (Mozanzadeh et al., 2021). Culture and harvesting of brine shrimp eggs represents another aspect of the aquaculture industry. Nauplii and metanauplii of Artemia, commonly known as brine shrimp, play a crucial role in aquaculture due to their nutritional value and suitability as live feed for many aquatic species, particularly in larval stages (Sorgeloos & Roubach, 2021).
Current Ms word generated power point presentation covers major details about the micronuclei test. It's significance and assays to conduct it. It is used to detect the micronuclei formation inside the cells of nearly every multicellular organism. It's formation takes place during chromosomal sepration at metaphase.
The binding of cosmological structures by massless topological defectsSérgio Sacani
Assuming spherical symmetry and weak field, it is shown that if one solves the Poisson equation or the Einstein field
equations sourced by a topological defect, i.e. a singularity of a very specific form, the result is a localized gravitational
field capable of driving flat rotation (i.e. Keplerian circular orbits at a constant speed for all radii) of test masses on a thin
spherical shell without any underlying mass. Moreover, a large-scale structure which exploits this solution by assembling
concentrically a number of such topological defects can establish a flat stellar or galactic rotation curve, and can also deflect
light in the same manner as an equipotential (isothermal) sphere. Thus, the need for dark matter or modified gravity theory is
mitigated, at least in part.
The binding of cosmological structures by massless topological defects
Semantic Model Differencing Utilizing Behavioral Semantics Specifications (Talk at MODELS 2014)
1. Semantic Model Differencing
Utilizing Behavioral Semantics Specifications
www.modelexecution.org
p Philip g , Langer, j Tanja y Mayerhofer, , Gerti pp
Kappel
Business Informatics Group
Institute of Software Technology and Interactive Systems
Vienna University of Technology
Favoritenstraße 9‐11/1883, 1040 Vienna, Austria
phone: 43 (1) 5880118804 (secretary), fax: 43 (1) 5880118896
office@big.tuwien.ac.at, www.big.tuwien.ac.at
2. Motivation
Models are subject to change Change management for models is required
Model differencing
Goal: Identify differences among models
Applications: Merging, versioning, conflict detection, incremental testing, etc.
Syntactic model differencing
Procedure: Matching ‐ Differencing
Output: Syntactic differences (add, delete, update operations)
Semantic model differencing
Takes semantics of models into account
Enables additional analyses of changes (e.g., semantic preservation)
Provides basis for comprehending the evolution of models
2
4. Motivating Example Syntactic Model Differencing
M1 1. Matching
Identify corresponding elements
based on
Identifiers
p3
Signatures
Similarity
p1 t1 p2 t2 p4
Custom matching
M2
+
p1 t1 p2 t2 p3 t3 p
p4
4
5. Motivating Example Syntactic Model Differencing
M1 1. Matching
Identify corresponding elements
based on
Identifiers
p3
Signatures
Similarity
p1 t1 p2 t2 p4
Custom matching (names)
M2
+
p1 t1 p2 t2 p3 t3 p
p4
5
6. Motivating Example Syntactic Model Differencing
M1 1. Matching
Identify corresponding elements
based on
Identifiers
p3
Signatures
Similarity
p1 t1 p2 t2 p4
Custom matching (names)
2. Differencing
M2
Compare corresponding
elements
+
p1 t1 p2 t2 p3 t3 p4
Identify non‐corresponding
elements
p
6
7. Motivating Example Syntactic Model Differencing
M1 1. Matching
Identify corresponding elements
based on
Identifiers
p3
Signatures
Similarity
p1 t1 p2 t2 p4
p3 removed output
p3 removed as input
p3 added output
Custom matching (names)
2. Differencing
M2
as as !
p4 removed as output
!
Compare corresponding
elements
+
+
p1 t1 p2 t2 p3 t3 p4
Identify non‐corresponding
elements
p
t3 added
7
8. Motivating Example Syntactic Model Differencing
Which impact do the changes have on the model( model(‘s semantics)?
M1 1. Matching
Identify corresponding elements
based on
Identifiers
p3
Signatures
Similarity
p1 t1 p2 t2 p4
p3 removed output
p3 removed as input
p3 added output
Custom matching (names)
2. Differencing
M2
as as !
p4 removed as output
!
Compare corresponding
elements
+
+
p1 t1 p2 t2 p3 t3 p4
Identify non‐corresponding
elements
p
t3 added
8
9. Introduction to Semantic Model Differencing
Semantics of a modeling language1
Mapping : Language → Semantic domain
Assigns meaning to each conformant model
Provides (semantic) interpretations of models
Semantic model differencing
Procedure:
Obtain semantic interpretations of models
Analyze semantic interpretations
Output: Semantic differences
Semantic interpretations valid for one model but not for the other one
Witness semantic differences among models (diff witnesses2)
9
1 D. Harel, B. Rumpe. Meaningful Modeling: What’s the Semantics of “Semantics”? IEEE Computer, 37(10):64–72, 2004.
2 S. Maoz et al. A Manifesto for Semantic Model Differencing. MODELS’10, volume 6627 of LNCS, pages 194–203.
Springer, 2011.
10. Motivating Example Semantic Model Differencing
Petri nets
Semantics
Firing of transitions leading to markings
(token distributions)
M1
Semantic p3
interpretation
Traces (order of transition firings)
Reachable markings
p1 t1 p2 t2 p4
Semantic difference
l l d d l
M2
Traces only valid in one model
Markings only reachable in one model
+
p1 t1 p2 t2 p3 t3 p4 Final p markings only reached by one model
10
11. Motivating Example Semantic Model Differencing
Petri nets
Semantics
Firing of transitions leading to markings
(token distributions)
M1
Semantic p3
interpretation
Traces (order of transition firings)
Reachable markings
p1 t1 p2 t2 p4
Semantic difference
l l d d l
M2
Traces only valid in one model
Markings only reachable in one model
+
p1 t1 p2 t2 p3 t3 p4 Final p markings only reached by one model
11
12. Motivating Example Semantic Model Differencing
Petri nets
Semantic interpretation
M1
M : p1=1 0 0 p3
M0,M1: 1, p2=0, p3=0, p4=0
M0
p1 t1 p2 t2 p4
M2
+
p1 t1 p2 t2 p3 t3 p
p4
12
13. Motivating Example Semantic Model Differencing
Petri nets
Semantic interpretation
M1
M : p1=1 0 0 p3
M0,M1: 1, p2=0, p3=0, p4=0
M1,M1: p1=0, p2=1, p3=1, p4=0
M0
p1 t1 p2 t2 p4
M2
+
p1 t1 p2 t2 p3 t3 p
p4
13
14. Motivating Example Semantic Model Differencing
Petri nets
Semantic interpretation
M1
M : p1=1 0 0 p3
M0,M1: 1, p2=0, p3=0, p4=0
M1,M1: p1=0, p2=1, p3=1, p4=0
M0 M2,M1: p1=0, p2=0, p3=0, p4=1
p1 t1 p2 t2 p4
M2
+
p1 t1 p2 t2 p3 t3 p
p4
14
17. Motivating Example Semantic Model Differencing
Petri nets
Semantic difference (final marking)
M1
M : p1=0 1 0 p3
M0,M1: 0, p2=1, p3=0, p4=0
M0
p1 t1 p2 t2 p4 diff witness
M2 M0,M2: p1=0, p2=1, p3=0, p4=0
M : p1=0 0 1 +
p1 t1 p2 t2 p3 t3 p4
M1,M2: 0, p2=0, p3=1, p4=0
M0 M2,M2: p1=0, p2=0, p3=0, p4=1
p
17
18. Generic Semantic Model Differencing: Motivation
Language‐specific approach (Maoz et al.1 and Fahrenberg et al.2)
Procedure:
Translate models into semantic domain
Perform semantic differencing in semantic domain
Translate result into modeling language
Challenge: Complex translations and differencing algorithms
Generic approach
Idea: Utilize behavioral semantics specifications for semantic differencing
Goal:
Perform semantic differencing directly in modeling language
Use existing behavioral semantics specifications for semantic differencing
Enable to apply custom semantic equivalence criteria
1 S. Maoz et al. A Manifesto for Semantic Model Differencing. MODELS’10, volume 6627 of LNCS, pages 194–203. Springer, 2011.
2 U. Fahrenberg et al. Vision Paper: Make a Difference! (Semantically). MODELS’11, volume 6981 of LNCS, pages 490–500.
Springer, 2011.
18
19. Generic Semantic Model Differencing: Introduction
Generic framework for semantic model differencing
Idea: Utilize behavioral semantics specifications for semantic differencing
Procedure:
Execute models to obtain execution traces (semantic interpretations)
Identify execution traces valid for only one model by comparison (diff witness)
Customize execution trace comparison to modeling language and suitable
semantic equivalence criterion
Benefits:
Implementation of translations and algorithms specifically for semantic model
differencing is avoided
Only comparison of execution traces is specific to modeling language and
semantic equivalence criterion
19
20. Generic Semantic Model Differencing: Overview
syn
CM1,M2
M1
Syntactic
syn
Matching CM1,M2
M1 TM1
Model
Execution
Semantic
sem
Matching CM1,M2
TM1
M2
g
Match
Rules
M2
IM1 IM2
TM2
Match
Rules
g
TM2 C … Correspon-dence
I … Input
M … Model
Syn
M1 M2 Sem T … Trace
20
21. Generic Semantic Model Differencing: Overview
Epsilon Platform1 syn
CM1,M2
M1
Syntactic
syn
Matching CM1,M2
M1 TM1
Model
Execution
Semantic
sem
Matching CM1,M2
TM1
M2
g
Match
Rules
M2
IM1 IM2
TM2
Match
Rules
g
TM2 C … Correspon-dence
I … Input
M … Model
Syn
M1 M2 Sem
Epsilon Comparison
Language (ECL)
1 Syntactic matching: Identify syntactic correspondences
T … Trace
1. Syntactic match rules define custom language‐specific matching algorithm
21 1 D. Kolovos, L. Rose, A. García‐Domínguez, R. Paige. The Epsilon Book. March 2014.
http://www.eclipse.org/epsilon/doc/book.
22. Generic Semantic Model Differencing: Overview
syn
CM1,M2
Behavioral semantics
M1
Syntactic
syn
Matching CM1,M2
M1 TM1
Model
Execution
Semantic
sem
Matching CM1,M2
TM1
M2
g
Match
Rules
M2
IM1 IM2
TM2
Match
Rules
g
TM2 C … Correspon-dence
I … Input
M … Model
Syn
M1 M2 Sem
2 Model Obtain traces
Generic execution
trace format
T … Trace
2. execution: execution Execute models based on behavioral semantics specification
Obtain execution traces adhering to generic execution trace format
22
23. Generic Execution Trace Format
states Runtime states of
model during execution
State Object
states *
t t 1
1
objects *
Runtime of
model elements
Trace
E t
source
0..1 outgoing
target incoming 0..1 Events causing
Transition
Event
qualifiedName : EString
transitions *
event 1
state transitions
Execution Sequence Transitions between
runtime states
trace: of runtime states
Format serves as interface to our semantic model differencing framework
Execution traces adhering to this format are the input for indentifying semantic
differences among models
Framework is generic with respect to semantics specification approach and
model execution environment
23
24. Generic Semantic Model Differencing: Overview
syn Epsilon Platform
CM1,M2
M1
Syntactic
syn
Matching CM1,M2
M1 TM1
Model
Execution
Semantic
sem
Matching CM1,M2
TM1
M2
g
Match
Rules
M2
IM1 IM2
TM2
Match
Rules
g
TM2 C … Correspon-dence
I … Input
M … Model
Syn
M1 M2 Sem T … Trace
3 Semantic Identify semantic correspondences
Epsilon Comparison
Language (ECL)
3. matching: Semantic match rules define whether two models are semantically equivalent
Non‐matching traces constitute diff witnesses
24
25. Generic Semantic Model Differencing: Overview
Behavioral syn
Semantics
CM1,M2
M1
Syntactic
syn
Matching CM1,M2
M1 TM1
Model
Execution
Semantic
sem
Matching CM1,M2
TM1
M2
g
Match
Rules
M2
IM1 IM2
TM2
Match
Rules
g
TM2 C … Correspon-dence
I … Input
M … Model
Syn
M1 M2 Sem T … Trace
1 1. Syntactic matching: Identify syntactic correspondences
2. Model execution: Obtain execution traces
3. Semantic matching: Identify semantic correspondences
25
26. Example Syntactic Match Rules (ECL)
1 rule MatchPlace
2 match left : Place with right : Place {
3 compare : left.name = right.name
4 }
5 rule MatchTransition
6 match left : Transition with right : Transition {
7 compare : left.name = right.name
8 }
Metamodel
Net
Models
M
* transitions * places
input
M1
p3
Place
name : EString
Transition
name : EString
p
*
output
p1 t1 p2 t2 p4
M2
* +
p1 t1 p2 t2 p3 t3 p4
MatchPlace MatchTransition
26
27. Example Behavioral Semantics (xMOF)
Behavioral semantics specification with xMOF1
Integrates fUML action language with metamodeling languages (Ecore)
Behavioral semantics is defined with UML activities (operational semantics)
Model execution is performed by fUML virtual machine
27 1 T. Mayerhofer, P. Langer, M. Wimmer, and G. Kappel. xMOF: Executable DSMLs Based on fUML. In Proc. of SLE’13,
volume 8225 of LNCS, pages 56–75. Springer, 2013.
28. Example Behavioral Semantics (xMOF)
Behavioral semantics specification with xMOF1
Integrates fUML action language with metamodeling languages (Ecore)
Behavioral semantics is defined with UML activities (operational semantics)
Model execution is performed by fUML virtual machine
Net Transition Place
NetConfiguration TransitionConfiguration PlaceConfiguration
* heldTokens
Token
Runtime concept
28 1 T. Mayerhofer, P. Langer, M. Wimmer, and G. Kappel. xMOF: Executable DSMLs Based on fUML. In Proc. of SLE’13,
volume 8225 of LNCS, pages 56–75. Springer, 2013.
29. Example Behavioral Semantics (xMOF)
Behavioral semantics specification with xMOF1
Integrates fUML action language with metamodeling languages (Ecore)
Behavioral semantics is defined with UML activities (operational semantics)
Model execution is performed by fUML virtual machine
Net Transition Place
TransitionConfiguration
fire()
i E bl d() EB l
PlaceConfiguration
addToken()
run() isEnabled() : EBoolean removeToken()
T k ()
NetConfiguration
main(Token[*])
()
* heldTokens
Computational steps
Token
Runtime concept
p p
for executing model
29 1 T. Mayerhofer, P. Langer, M. Wimmer, and G. Kappel. xMOF: Executable DSMLs Based on fUML. In Proc. of SLE’13,
volume 8225 of LNCS, pages 56–75. Springer, 2013.
30. Example Behavioral Semantics (xMOF)
Behavioral semantics specification with xMOF1
Integrates fUML action language with metamodeling languages (Ecore)
Behavioral semantics is defined with UML activities (operational semantics)
Model execution is performed by fUML virtual machine
Net Transition Place
TransitionConfiguration
fire()
i E bl d() EB l
PlaceConfiguration
addToken()
run() isEnabled() : EBoolean removeToken()
Activity
T k ()
NetConfiguration
main(Token[*])
()
* heldTokens
PlaceConfiguration::addToken()
Token
Runtime concept
g ()
ReadSelf
read self
AddStructuralFeatureValue
result object
add heldTokens
j
CreateObject
1 T. Mayerhofer, P. Langer, M. Wimmer, and G. Kappel. xMOF: Executable DSMLs Based on fUML. In Proc. of SLE’13,
volume 8225 of LNCS, pages 56–75. Springer, 2013.
30
value
create Token
result
31. Example Execution Traces
M1 TM 1,1 objects heldTokens
t1 : Trace : PlaceConfiguration
name = “p1"
s1 : State
states
: Token
p3
p1 t1 p2
t2 p4
M0
p1
p p p
M2
+
p1 t1 p2 t2 p3 t3 p4
31
32. Example Execution Traces
M1 TM 1,1 objects heldTokens
t1 : Trace : PlaceConfiguration
name = “p1"
s1 : State
states
: Token
p3
p1 t1 p2
objects heldTokens
t2 p4 objects
p1
s2 : PlaceConfiguration
name = “p2"
: Token
M0
p p p heldTokens
: State
: PlaceConfiguration
name = "p3"
: Token
M2
+
p1 t1 p2 t2 p3 t3 p4
32
33. Example Execution Traces
M1 TM 1,1 objects heldTokens
t1 : Trace : PlaceConfiguration
name = “p1"
s1 : State
states
: Token
p3
p1 t1 p2
objects heldTokens
t2 p4 objects
p1
s2 : PlaceConfiguration
name = “p2"
: Token
M0
p p p heldTokens
: State
: PlaceConfiguration
name = "p3"
: Token
objects : PlaceConfiguration heldTokens
s3 : State : Token
name = “p4"
M2
+
p1 t1 p2 t2 p3 t3 p4
33
34. Example Execution Traces
M1 TM 1,1 objects heldTokens
t1 : Trace : PlaceConfiguration
name = “p1"
s1 : State
states
: Token
p3
p1 t1 p2
objects heldTokens
t2 p4 objects
p1
s2 : PlaceConfiguration
name = “p2"
: Token
M0
p p p heldTokens
: State
: PlaceConfiguration
name = "p3"
: Token
objects : PlaceConfiguration heldTokens
s3 : State : Token
name = “p4"
states objects heldTokens
t2 : Trace s1 : State : PlaceConfiguration : Token
name = “p1"
M2
+
TM 2,1
M0
objects : PlaceConfiguration heldTokens
p1 t1 p2 t2 p3 t3 p4 : Token
name = “p2"
s2 : State
objects : PlaceConfiguration heldTokens
name = “p3"
s3 : State
objects : PlaceConfiguration heldTokens 4 St t
: Token
s4 : State : T k
Token
g
name = “p4"
34
35. Example Semantic Match Rules (ECL)
Final marking equivalence: For the same initial markings (input), the same
final markings are reached
1 rule MatchTrace
2 mat h l ft T ith i ht T Returns final state
capturing final marking
match left : Trace with right : Trace {
3 compare {
4 var finalStateLeft : State = left.getFinalState(); // final state of left net
5 var finalStateRight : State = right.getFinalState(); // final state of right net
6 return finalStateLeft.matches(finalStateRight) and // final states match
7 finalStateRight.matches(finalStateLeft);
8 }
9 }
Returns instances of
10 rule MatchState
PlaceConfiguration
11 match left : State with right : State {
12 compare {
13 var placeConfsLeft : Set = left getPlaceConfigurations(); // final left.states of left places
14 var placeConfsRight : Set = right.getPlaceConfigurations(); // final states of right places
15 return placeConfsLeft.matches(placeConfsRight); // final states of places match
16 }
17 }
18 rule MatchPlaceConfiguration
19 match left : PlaceConfiguration with right : PlaceConfiguration extends MatchPlace {
20 compare : left.heldTokens.size() = right.heldTokens.size() // places hold same amount of tokens
35
21 }
36. Example Semantic Match Rules Application
M1 TM 1,1 objects heldTokens
t1 : Trace : PlaceConfiguration
name = “p1"
s1 : State
states
: Token
p3
p1 t1 p2
objects heldTokens
t2 p4 objects
p1
s2 : PlaceConfiguration
name = “p2"
: Token
M0
p p p heldTokens
: State
: PlaceConfiguration
name = "p3"
: Token
objects : PlaceConfiguration heldTokens
s3 : State : Token
name = “p4"
M2
+
TM 2,1 states objects heldTokens
t2 : Trace s1 : State : PlaceConfiguration : Token
name = “p1"
M0
p1 t1 p2 t2 p3 t3 p4
objects : PlaceConfiguration heldTokens
name = “p2"
s2 : State
objects : Token
: PlaceConfiguration heldTokens
name = “p3"
s3 : State : Token
j objects : PlaceConfiguration
heldTokens
s4 : State : Token
name = “p4"
36
37. Example Semantic Match Rules Application
M1 TM 1,1 objects heldTokens
t1 : Trace : PlaceConfiguration
name = “p1"
s1 : State
states
: Token
p3
p1 t1 p2
objects heldTokens
t2 p4 objects
p1
s2 : PlaceConfiguration
name = “p2"
: Token
M0
p p p heldTokens
: State
: PlaceConfiguration
name = "p3"
: Token
objects : PlaceConfiguration heldTokens
s3 : State : Token
name = “p4"
M2
+
TM 2,1 states objects heldTokens
t2 : Trace s1 : State : PlaceConfiguration : Token
name = “p1"
M0
p1 t1 p2 t2 p3 t3 p4
objects : PlaceConfiguration heldTokens
name = “p2"
s2 : State
objects : Token
: PlaceConfiguration heldTokens
name = “p3"
s3 : State : Token
objects : PlaceConfiguration
heldTokens
MatchTrace
j s4 : State : Token
name = “p4"
37
38. Example Semantic Match Rules Application
M1 TM 1,1 objects heldTokens
t1 : Trace : PlaceConfiguration
name = “p1"
s1 : State
states
: Token
p3
p1 t1 p2
objects heldTokens
t2 p4 objects
p1
s2 : PlaceConfiguration
name = “p2"
: Token
M0
p p p heldTokens
: State
: PlaceConfiguration
name = "p3"
: Token
objects : PlaceConfiguration heldTokens
s3 : State : Token
name = “p4"
final state
M2
+
TM 2,1 states objects heldTokens
t2 : Trace s1 : State : PlaceConfiguration : Token
name = “p1"
M0
p1 t1 p2 t2 p3 t3 p4
objects : PlaceConfiguration heldTokens
name = “p2"
s2 : State
objects : Token
MatchTrace
: PlaceConfiguration heldTokens
name = “p3"
s3 : State : Token
j objects : PlaceConfiguration
heldTokens
s4 : State : Token
name = “p4"
final state
39. Example Semantic Match Rules Application
M1 TM 1,1 objects heldTokens
t1 : Trace : PlaceConfiguration
name = “p1"
s1 : State
states
: Token
p3
p1 t1 p2
objects heldTokens
t2 p4 objects
p1
s2 : PlaceConfiguration
name = “p2"
: Token
M0
p p p heldTokens
: State
: PlaceConfiguration
name = "p3"
: Token
objects : PlaceConfiguration heldTokens
s3 : State : Token
name = “p4"
final state
M2
+
TM 2,1 states objects heldTokens
t2 : Trace s1 : State : PlaceConfiguration : Token
name = “p1"
M0
p1 t1 p2 t2 p3 t3 p4
objects : PlaceConfiguration heldTokens
name = “p2"
s2 : State
objects : Token
MatchTrace
h
: PlaceConfiguration heldTokens
name = “p3"
s3 : State : Token
objects : PlaceConfiguration
heldTokens
MatchState j s4 : State : Token
name = “p4"
final state
40. Example Semantic Match Rules Application
M1 TM 1,1 objects heldTokens
t1 : Trace : PlaceConfiguration
name = “p1"
s1 : State
states
: Token
p3
p1 t1 p2
objects heldTokens
t2 p4 objects
p1
s2 : PlaceConfiguration
name = “p2"
: Token
M0
p p p heldTokens
: State
: PlaceConfiguration
name = "p3"
: Token
objects : PlaceConfiguration heldTokens
s3 : State : Token
name = “p4"
final state
M2
+
TM 2,1 states objects heldTokens
t2 : Trace s1 : State : PlaceConfiguration : Token
name = “p1"
M0
p1 t1 p2 t2 p3 t3 p4
objects : PlaceConfiguration heldTokens
name = “p2"
s2 : State
objects : Token
MatchTrace
j h
MatchState : PlaceConfiguration heldTokens
name = “p3"
s3 : State : Token
objects : PlaceConfiguration
heldTokens
MatchPlaceConfiguration
s4 : State : Token
name = “p4"
final state
41. Example Semantic Match Rules Application
M1 TM 1,1 objects heldTokens
t1 : Trace : PlaceConfiguration
name = “p1"
s1 : State
states
: Token
p3
p1 t1 p2
objects heldTokens
t2 p4 objects
p1
s2 : PlaceConfiguration
name = “p2"
: Token
M0
p p p heldTokens
: State
: PlaceConfiguration
name = "p3"
: Token
objects : PlaceConfiguration heldTokens
s3 : State : Token
name = “p4"
final state
M2
+
TM 2,1 states objects heldTokens
t2 : Trace s1 : State : PlaceConfiguration : Token
name = “p1"
M0
p1 t1 p2 t2 p3 t3 p4
objects : PlaceConfiguration heldTokens
name = “p2"
s2 : State
objects : Token
MatchTrace
j h
MatchState : PlaceConfiguration heldTokens
name = “p3"
s3 : State : Token
objects : PlaceConfiguration
heldTokens
MatchPlaceConfiguration
s4 : State : Token
name = “p4"
final state
42. Example Semantic Match Rules Application
M1 TM 1,1 objects heldTokens
t1 : Trace : PlaceConfiguration
name = “p1"
s1 : State
states
: Token
p3
p1 t1 p2
objects heldTokens
t2 p4 objects
p1
s2 : PlaceConfiguration
name = “p2"
: Token
M0
p p p heldTokens
: State
: PlaceConfiguration
name = "p3"
semantically : Token
equivalent
objects : PlaceConfiguration heldTokens
s3 : State : Token
name = “p4"
final state
M2
+
TM 2,1 states objects heldTokens
t2 : Trace s1 : State : PlaceConfiguration : Token
name = “p1"
M0
p1 t1 p2 t2 p3 t3 p4
objects : PlaceConfiguration heldTokens
name = “p2"
s2 : State
objects : Token
MatchTrace
j h
MatchState : PlaceConfiguration heldTokens
name = “p3"
s3 : State : Token
objects : PlaceConfiguration
heldTokens
MatchPlaceConfiguration
s4 : State : Token
name = “p4"
final state
43. Example Semantic Match Rules Application
M1 T : M1,1 I = {} MF = {} M1,1
T : I = {p1 p1=1} MF = {p4 p4=1}
p3
M1,2 M1,2
T : I = {p2=1} MF = {p2=1} diff witness M1,3 M1,3
T : I = {p3=1} = {p3=1} diff witness p p1 t1 p p2
t2 p p4
M1,4 M1,4
MF T : M1,5 I = {p1=1,p2=1} MF = {p2=1,p4=1} diff witness M1,5
T : M1,6 I = {p1=1,p3=1} MF = {p3=1,p4=1} diff witness M1,6
T : M 7 I = {p2=1,p3=1} MF = {p4=1} diff witness M1,7 M 7 p ,p } F p } M1,7
T : M1,8 I = {p1=1,p2=1,p3=1} MF = {p4=2} diff witness M1,8
M2
+
T : M2,1 I = {} MF = {} M2,1
T : M2,2 I = {p1=1} MF = {p4=1} M2,2
T I {21} M { 4 diff it
p1 t1 p2 t2 p3 t3 p4
: M2,3 = p2=1} MF = p4=1} witness M2,3
T : M2,4 I = {p3=1} MF = {p4=1} diff witness M2,4
T : M2 5 I = {p1=1,p2=1} MF = {p4=2} diff witness M2,5 M2,5
T : M2,6 I = {p1=1,p3=1} MF = {p4=2} diff witness M2,6
T : M2,7 I = {p2=1,p3=1} MF = {p4=2} diff witness M2,7
T : I = {1 1 M = p4=3} diff M2,8 p1=1,p2=1,p3=1} MF {witness M2,8
43
44. Evaluation
Case studies comparing our approach with CDDiff1 and ADDiff2 by Maoz et al.
Behavioral semantics of both languages
Semantic match rules for both languages
Computation of diff witnesses for example models provided by Maoz et al.3
Expressive power
Sufficient for defining non‐trivial semantic model differencing operators
Developing operators is a language engineering task
Runtime states build basis for semantic model differencing
Performance
Model execution is most expensive taking 95 % of overall execution time
High performance of execution environment and reasonable number of model
executions (inputs) are important
1 S. Maoz et al. CDDiff: Semantic Differencing for Class Diagrams. ECOOP’11, volume 6813 of LNCS, pages 230–254. Springer, 2011.
2 S. Maoz et al. ADDiff: Semantic Differencing for Activity Diagrams. ESEC/FSE’11, pages 179–189. ACM, 2011.
44
3 http://www.se‐rwth.de/materials/semdiff
45. Summary
syn
CM1,M2
M1
Syntactic
syn
Matching CM1,M2
M1 TM1
Model
Execution
Semantic
sem
Matching CM1,M2
TM1
M2
g
Match
Rules
M2
IM1 IM2
TM2
Match
Rules
g
TM2 C … Correspon-dence
I … Input
M … Model
Syn
Characteristics
M1 M2 Sem T … Trace
Generic w.r.t. modeling language (behavioral semantics)
Generic w.r.t. semantics specification approach (generic trace format)
Configurable w.r.t. semantic equivalence criterion (semantic match rules)
45
46. Outlook
Generation of inputs relevant to semantic differencing
Relevant inputs are inputs that cause distinct execution traces
Problem: Inputs have to be defined manually now
Symbolic execution1
Calculation of semantic differences avoiding model execution
Problem: Model execution for obtaining concrete execution traces is expensive
Path conditions obtained from symbolic execution already capture differences
among execution traces
Only syntactic differences can lead to semantic differences
Directed and differential symbolic execution2,3
46
1 L. Clarke. A Program Testing System. In Proc. of ACM ‘76, pages 488–491. ACM, 1976.
2 K.‐K. Ma et al. Directed Symbolic Execution. In Proc of SAS’11, volume 6887 of LNCS, pages 95–111. Springer, 2011.
3 S. Person et al. Differential Symbolic Execution. In Proc. of FSE’08, pages 226–237. ACM, 2008.