The document discusses the need for level-agnostic modeling languages and tools that can work across different levels of models, types, and meta-models. It proposes an approach where everything is modeled as an object, with types defined as constraints within models. It presents an example modeling language implemented using this approach and shows how a constraint checking tool could work uniformly on objects, types, and meta-types. The authors claim this approach provides a level-agnostic modeling language and tools.
A machine reader is a tool able to transform natural language text to formal structured knowledge so as the latter can be interpreted by machines, according to a shared semantics. FRED is a machine reader for the semantic web: its output is
a RDF/OWL graph, whose design is based on frame semantics. Nevertheless, FRED’s graph are domain and task independent
making the tool suitable to be used as a semantic middleware for domain- or task- specific applications. To serve this purpose,
it is available both as REST service and as Python library. This presentation gives an overview of the method and principles behind FRED’s implementation.
Peter Muschick MSc thesis
Universitat Pollitecnica de Catalunya, 2020
Sign language recognition and translation has been an active research field in the recent years with most approaches using deep neural networks to extract information from sign language data. This work investigates the mostly disregarded approach of using human keypoint estimation from image and video data with OpenPose in combination with transformer network architecture. Firstly, it was shown that it is possible to recognize individual signs (4.5% word error rate (WER)). Continuous sign language recognition though was more error prone (77.3% WER) and sign language translation was not possible using the proposed methods, which might be due to low accuracy scores of human keypoint estimation by OpenPose and accompanying loss of information or insufficient capacities of the used transformer model. Results may improve with the use of datasets containing higher repetition rates of individual signs or focusing more precisely on keypoint extraction of hands.
A machine reader is a tool able to transform natural language text to formal structured knowledge so as the latter can be interpreted by machines, according to a shared semantics. FRED is a machine reader for the semantic web: its output is
a RDF/OWL graph, whose design is based on frame semantics. Nevertheless, FRED’s graph are domain and task independent
making the tool suitable to be used as a semantic middleware for domain- or task- specific applications. To serve this purpose,
it is available both as REST service and as Python library. This presentation gives an overview of the method and principles behind FRED’s implementation.
Peter Muschick MSc thesis
Universitat Pollitecnica de Catalunya, 2020
Sign language recognition and translation has been an active research field in the recent years with most approaches using deep neural networks to extract information from sign language data. This work investigates the mostly disregarded approach of using human keypoint estimation from image and video data with OpenPose in combination with transformer network architecture. Firstly, it was shown that it is possible to recognize individual signs (4.5% word error rate (WER)). Continuous sign language recognition though was more error prone (77.3% WER) and sign language translation was not possible using the proposed methods, which might be due to low accuracy scores of human keypoint estimation by OpenPose and accompanying loss of information or insufficient capacities of the used transformer model. Results may improve with the use of datasets containing higher repetition rates of individual signs or focusing more precisely on keypoint extraction of hands.
Modern Programming Languages classification PosterSaulo Aguiar
This study aims to provide a better, up-to-date understanding of the programming languages design space and classification that includes the multitude of interesting languages that have emerged during the past ten years but have not yet been covered in depth by past classification efforts.
Modern Programming Languages classification PosterSaulo Aguiar
This study aims to provide a better, up-to-date understanding of the programming languages design space and classification that includes the multitude of interesting languages that have emerged during the past ten years but have not yet been covered in depth by past classification efforts.
Haystack 2019 - Natural Language Search with Knowledge Graphs - Trey GraingerOpenSource Connections
To optimally interpret most natural language queries, it is necessary to understand the phrases, entities, commands, and relationships represented or implied within the search. Knowledge graphs serve as useful instantiations of ontologies which can help represent this kind of knowledge within a domain.
In this talk, we'll walk through techniques to build knowledge graphs automatically from your own domain-specific content, how you can update and edit the nodes and relationships, and how you can seamlessly integrate them into your search solution for enhanced query interpretation and semantic search. We'll have some fun with some of the more search-centric use cased of knowledge graphs, such as entity extraction, query expansion, disambiguation, and pattern identification within our queries: for example, transforming the query "bbq near haystack" into
{ filter:["doc_type":"restaurant"], "query": { "boost": { "b": "recip(geodist(38.034780,-78.486790),1,1000,1000)", "query": "bbq OR barbeque OR barbecue" } } }
We'll also specifically cover use of the Semantic Knowledge Graph, a particularly interesting knowledge graph implementation available within Apache Solr that can be auto-generated from your own domain-specific content and which provides highly-nuanced, contextual interpretation of all of the terms, phrases and entities within your domain. We'll see a live demo with real world data demonstrating how you can build and apply your own knowledge graphs to power much more relevant query understanding within your search engine.
COMPREHENSIVE ANALYSIS OF NATURAL LANGUAGE PROCESSING TECHNIQUEJournal For Research
Natural Language Processing (NLP) techniques are one of the most used techniques in the field of computer applications. It has become one of the vast and advanced techniques. Language is the means of communication or interaction among humans and in present scenario when everything is dependent on machine or everything is computerized, communication between computer and human has become a necessity. To fulfill this necessity NLP has been emerged as the means of interaction which narrows the gap between machines (computers) and humans. It was evolved from the study of linguistics which was passed through the Turing test to check the similarity between data but it was limited to small set of data. Later on various algorithms were developed along with the concept of AI (Artificial Intelligence) for the successful execution of NLP. In this paper, the main emphasis is on the different techniques of NLP which have been developed till now, their applications and the comparison of all those techniques on different parameters.
Natural Language Search with Knowledge Graphs (Haystack 2019)Trey Grainger
To optimally interpret most natural language queries, it is necessary to understand the phrases, entities, commands, and relationships represented or implied within the search. Knowledge graphs serve as useful instantiations of ontologies which can help represent this kind of knowledge within a domain.
In this talk, we'll walk through techniques to build knowledge graphs automatically from your own domain-specific content, how you can update and edit the nodes and relationships, and how you can seamlessly integrate them into your search solution for enhanced query interpretation and semantic search. We'll have some fun with some of the more search-centric use cased of knowledge graphs, such as entity extraction, query expansion, disambiguation, and pattern identification within our queries: for example, transforming the query "bbq near haystack" into
{ filter:["doc_type":"restaurant"], "query": { "boost": { "b": "recip(geodist(38.034780,-78.486790),1,1000,1000)", "query": "bbq OR barbeque OR barbecue" } } }
We'll also specifically cover use of the Semantic Knowledge Graph, a particularly interesting knowledge graph implementation available within Apache Solr that can be auto-generated from your own domain-specific content and which provides highly-nuanced, contextual interpretation of all of the terms, phrases and entities within your domain. We'll see a live demo with real world data demonstrating how you can build and apply your own knowledge graphs to power much more relevant query understanding within your search engine.
Deep neural methods have recently demonstrated significant performance improvements in several IR tasks. In this lecture, we will present a brief overview of deep models for ranking and retrieval.
This is a follow-up lecture to "Neural Learning to Rank" (https://www.slideshare.net/BhaskarMitra3/neural-learning-to-rank-231759858)
"The Transformative Power of AI and Open Challenges" by Dr. Manish Gupta, GoogleISPMAIndia
We begin by presenting the recent advances in the area of artificial intelligence, and the high level ideas underlying the progressively narrower domains of machine learning, deep learning, and foundation models, which have emerged over time as dominant paradigms for artificial intelligence. We describe the tremendous progress of these models on problems ranging from understanding, prediction and creativity on one hand, and open technical challenges like safety, fairness and transparency on the other hand. These challenges are further amplified as we seek to advance Inclusive AI to tackle problems for over a billion human beings in the context of India and the Global South. We present our work on multilingual models to democratize information access in a diverse set of Indian languages, on healthcare in environments where we lack data in digital form to begin with, and on analysis of satellite imagery to help transform agriculture and improve the lives of farmers. Through these examples, we hope to convey the excitement of the potential of AI to make a difference to the world, and also a fascinating set of open problems to tackle.
Presented by Ted Xiao at RobotXSpace on 4/18/2017. This workshop covers the fundamentals of Natural Language Processing, crucial NLP approaches, and an overview of NLP in industry.
DeepPavlov is an open-source framework for the development of production-ready chat-bots and complex conversational systems, as well as NLP and dialog systems research.
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.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
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
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
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/
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Tony clark caise 13-presentation
1. On the Search for a Level-Agnostic Modelling
Language
Brian Henderson-Sellers1 Tony Clark2
Cesar Gonzalez-Perez3
1University of Technology, Sydney, Australia.
2Middlesex University, London, UK.
3Institute of Heritage Sciences, Spanish National Research Council (CSIC) Spain.
25th International Conference on Advanced Information
Systems Engineering, 2013, Valencia, Spain
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
2. Models in Information System Development
Multiple inter-operating (extensible) tools.
Multiple inter-operating (domain-specific, extensible)
languages.
(MBE Framework due to Bran Selic, Dagstuhl on MBE Tooling, May 2013)
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
3. Models in Information System Development
Multiple inter-operating (extensible) tools.
Multiple inter-operating (domain-specific, extensible)
languages.
(MBE Framework due to Bran Selic, Dagstuhl on MBE Tooling, May 2013)
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
4. Modelling Languages and Tools
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
5. Modelling Languages and Tools
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
6. Modelling Languages and Tools
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
7. Modelling Languages and Tools
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
8. Modelling Languages and Tools
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
9. Modelling with Types and Instances
Tools must deal with mixed-level models.
No limit to the number of instantiation levels.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
10. Modelling with Types and Instances
Tools must deal with mixed-level models.
No limit to the number of instantiation levels.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
11. Meta-modelling Requirements
Need to integrate languages, models and instances.
Must be able to mix levels.
Tools must work across levels.
Tools are (partly) models too.
Unforeseen extensions must be accommodated.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
12. Meta-modelling Requirements
Need to integrate languages, models and instances.
Must be able to mix levels.
Tools must work across levels.
Tools are (partly) models too.
Unforeseen extensions must be accommodated.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
13. Meta-modelling Requirements
Need to integrate languages, models and instances.
Must be able to mix levels.
Tools must work across levels.
Tools are (partly) models too.
Unforeseen extensions must be accommodated.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
14. Meta-modelling Requirements
Need to integrate languages, models and instances.
Must be able to mix levels.
Tools must work across levels.
Tools are (partly) models too.
Unforeseen extensions must be accommodated.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
15. Meta-modelling Requirements
Need to integrate languages, models and instances.
Must be able to mix levels.
Tools must work across levels.
Tools are (partly) models too.
Unforeseen extensions must be accommodated.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
16. Approaches: Object Management Group 3-Layers
Taken from Djuric et al. The Tao of Modeling Spaces, JOT 5(8) 2006
Implementations: MOF, Ecore - problems with universality.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
18. Approaches: Pan Level Modelling
Atkinson and Gutheil
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
19. Approaches: Potency
Atkinson and Kühne
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
20. An Approach: Everything is an Object
Put on the Modelling Goggles.
Fractal Architecture.
Types are well-behaved patterns.
Type relation specified within the model via constraints.
Functions included as essential features.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
21. An Approach: Everything is an Object
Put on the Modelling Goggles.
Fractal Architecture.
Types are well-behaved patterns.
Type relation specified within the model via constraints.
Functions included as essential features.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
22. An Approach: Everything is an Object
Put on the Modelling Goggles.
Fractal Architecture.
Types are well-behaved patterns.
Type relation specified within the model via constraints.
Functions included as essential features.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
23. An Approach: Everything is an Object
Put on the Modelling Goggles.
Fractal Architecture.
Types are well-behaved patterns.
Type relation specified within the model via constraints.
Functions included as essential features.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
24. An Approach: Everything is an Object
Put on the Modelling Goggles.
Fractal Architecture.
Types are well-behaved patterns.
Type relation specified within the model via constraints.
Functions included as essential features.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
25. Validation of Approach
Available at https://github.com/xmodeler/XModeler
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
26. Animals Package as an Object
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
27. Tools: Constraint Checking
1 @Class Object
2 @Attribute of : Class end
3 @Attribute slots : Seq(Slot) end
4 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
28. Tools: Constraint Checking
1 @Class Object
2 @Attribute slots : Seq(Slot) end
3 @Operation asEnv()
4 let bindings = slots->collect(s | Bind(s.name,s.value))
5 in Seq{Bind("slots",slots),
6 Bind("self",self)}
7 + bindings
8 end
9 end
10 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
29. Tools: Constraint Checking
1 @Class Object
2 @Attribute slots : Seq(Slot) end
3 @Operation asEnv()
4 let bindings = slots->collect(s | Bind(s.name,s.value))
5 in Seq{Bind("slots",slots),
6 Bind("self",self)}
7 + bindings
8 end
9 end
10 @Operation checkConstraints()
11 of.checkConstraints(self)
12 end
13 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
30. Tools: Constraint Checking
1 @Class Object
2 @Attribute slots : Seq(Slot) end
3 @Operation asEnv()
4 let bindings = slots->collect(s | Bind(s.name,s.value))
5 in Seq{Bind("slots",slots),
6 Bind("self",self)}
7 + bindings
8 end
9 end
10 @Operation checkConstraints()
11 self.of.checkConstraints(self)
12 end
13 @Constraint Complete
14 slots->collect(s | s.name) = of.attributes.name
15 end
16 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
31. Tools: Constraint Checking
1 @Class Class extends Object
2 @Attribute parents : Seq(Class) end
3 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
32. Tools: Constraint Checking
1 @Class Class extends Object
2 @Attribute parents : Seq(Class) end
3 @Attribute attributes : Seq(Attribute) end
4 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
33. Tools: Constraint Checking
1 @Class Class extends Object
2 @Attribute parents : Seq(Class) end
3 @Attribute attributes : Seq(Attribute) end
4 @Attribute constraints : Seq(Constraint) end
5 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
34. Tools: Constraint Checking
1 @Class Class extends Object
2 @Attribute parents : Seq(Class) end
3 @Attribute attributes : Seq(Attribute) end
4 @Attribute constraints : Seq(Constraint) end
5 @Operation allConstraints()
6 parents->iterate(parent C = constraints |
7 C->union(parent.allConstraints()))
8 end
9 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
35. Tools: Constraint Checking
1 @Class Class extends Object
2 @Attribute parents : Seq(Class) end
3 @Attribute attributes : Seq(Attribute) end
4 @Attribute constraints : Seq(Constraint) end
5 @Operation allConstraints()
6 parents->iterate(parent C = constraints |
7 C->union(parent.allConstraints()))
8 end
9 @Operation checkConstraints(candidate)
10 allConstraints()->forAll(c | c.check(candidate))
11 end
12 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
36. Tools:Constraint Checking
Everything extends Object unless defined otherwise
1 @Class Constraint
2 @Attribute exp : Exp end
3 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
37. Tools:Constraint Checking
1 @Class Constraint
2 @Attribute exp : Exp end
3 @Operation check(candidate)
4 exp.eval(candidate.asEnv())
5 end
6 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
38. Example
Breed is a new language element.
Dogs of known breeds must have a name.
Breeds might be pedigree.
Pedigree breeds are regulated through registration.
Aim: tool for constraint checking.
Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
39. Example
Breed is a new language element.
Dogs of known breeds must have a name.
Breeds might be pedigree.
Pedigree breeds are regulated through registration.
Aim: tool for constraint checking.
Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
40. Example
Breed is a new language element.
Dogs of known breeds must have a name.
Breeds might be pedigree.
Pedigree breeds are regulated through registration.
Aim: tool for constraint checking.
Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
41. Example
Breed is a new language element.
Dogs of known breeds must have a name.
Breeds might be pedigree.
Pedigree breeds are regulated through registration.
Aim: tool for constraint checking.
Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
42. Example
Breed is a new language element.
Dogs of known breeds must have a name.
Breeds might be pedigree.
Pedigree breeds are regulated through registration.
Aim: tool for constraint checking.
Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
43. Example
Breed is a new language element.
Dogs of known breeds must have a name.
Breeds might be pedigree.
Pedigree breeds are regulated through registration.
Aim: tool for constraint checking.
Claim: tool is language-level agnostic.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
44. Example
1 @Class Breed extends Class
2 @Attribute isPedigree : Boolean end
3 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
45. Example
1 @Class Breed extends Class
2 @Attribute isPedigree : Boolean end
3 @Constraint IsNamed
4 attributes->exists(a |
5 a.name = "name"
6 and a.type = String)
7 end
8 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
46. Example
1 @Class Breed extends Class
2 @Attribute isPedigree : Boolean end
3 @Constraint IsNamed
4 attributes->exists(a |
5 a.name = "name"
6 and a.type = String)
7 end
8 @Constraint PedigreeDogsMustHaveRegistrationProperty
9 isPedigree implies attributes->exists(a |
10 a.name = "isRegistered"
11 and a.type = Boolean)
12 end
13 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
47. Example
1 @Class IllegalBreed metaclass Breed
2 isPedigree = false
3 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
48. Example
1 @Class IllegalBreed metaclass Breed
2 isPedigree = false
3 end
4
5 @Class IllegalPedigreeBreed metaclass Breed
6 isPedigree = true
7 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
49. Example
1 @Class IllegalBreed metaclass Breed
2 isPedigree = false
3 end
4
5 @Class IllegalPedigreeBreed metaclass Breed
6 isPedigree = true
7 end
8
9 @Class Collie metaclass Breed
10 isPedigree = true
11 @Attribute isRegistered : Boolean end
12 @Attribute name : String end
13 @Constructor(name,isRegistered) ! end
14 @Constraint AllColliesAreCalledFido
15 name = "Fido"
16 end
17 end
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
50. Tool Application
Running against objects
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
51. Tool Application
Running against objects
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
52. Tool Application
Running against types
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
53. Tool Application
Running against types
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
54. Tool Application
Running against types
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
55. Tool Application
Running against meta-types
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
56. Tool Application
Running against everything
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
57. Tool Application
Running against meta-meta-types
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
58. Review and A Claim
MBE requires languages.
Languages require meta-models.
Tools must be write-once run on any meta-level.
Various approaches: strict; power-types; clabjects;
potency.
Claim: Our approach is language-level agnostic and
generalizes other approaches.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
59. Review and A Claim
MBE requires languages.
Languages require meta-models.
Tools must be write-once run on any meta-level.
Various approaches: strict; power-types; clabjects;
potency.
Claim: Our approach is language-level agnostic and
generalizes other approaches.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
60. Review and A Claim
MBE requires languages.
Languages require meta-models.
Tools must be write-once run on any meta-level.
Various approaches: strict; power-types; clabjects;
potency.
Claim: Our approach is language-level agnostic and
generalizes other approaches.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
61. Review and A Claim
MBE requires languages.
Languages require meta-models.
Tools must be write-once run on any meta-level.
Various approaches: strict; power-types; clabjects;
potency.
Claim: Our approach is language-level agnostic and
generalizes other approaches.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language
62. Review and A Claim
MBE requires languages.
Languages require meta-models.
Tools must be write-once run on any meta-level.
Various approaches: strict; power-types; clabjects;
potency.
Claim: Our approach is language-level agnostic and
generalizes other approaches.
Brian Henderson-Sellers, Tony Clark, Cesar Gonzalez-Perez On the Search for a Level-Agnostic Modelling Language