A good software design is crucial for ensuring long-term success. A design framework provides guidance by establishing a design language and paradigm. This framework guides architects and improves collaboration, productivity, and maintenance of the system.
Talk @ RubyConfIndia 2012. Ruby is a pure object oriented and really a beautiful language to learn and practice.
But most of us do not bother to know or care about what happens behind the scene when we write some ruby code. Say creating a simple Array, Hash, class, module or any object. How does this map internally to C code ?
Ruby interpreter is implemented in C and I will talk about the Interpreter API that we as ruby developers
should be aware of. The main purpose of the presentation is to understand the efforts and complexity behind
the simplicity offered. I would also like to touch upon the difference in implementation of some core data structures
in different ruby versions. Having known a part of C language implementation behind Ruby, I would also like to throw some light upon when and why would we need to write some ruby extensions in C.
A Generative Programming Approach to Developing Pervasive Computing SystemsDamien Cassou
This document presents a generative programming approach to developing pervasive computing systems. It describes challenges in pervasive computing like heterogeneity, lack of structure, and dynamicity. It proposes addressing these through domain-specific languages to describe devices, architectures, and generate a programming framework and simulation support. This approach aims to guide development and ensure conformance while abstracting distributed aspects and supporting multiple expertise.
The Parenscript Common Lisp to JavaScript compilerVladimir Sedach
The document discusses the Parenscript Common Lisp to JavaScript compiler. It describes what Parenscript is and is not, how it works, and its history and uses. Key points include that Parenscript compiles Common Lisp to readable JavaScript code without runtime dependencies or new types, and is used in web frameworks, libraries, and commercial projects.
This document provides a tutorial on using ParenScript, a tool for embedding Lisp code into JavaScript and HTML documents. It demonstrates several examples of using ParenScript, including embedding a simple onclick handler, generating a JavaScript file from ParenScript code, and rewriting an existing slideshow script in ParenScript. The slideshow example shows how to integrate data from Common Lisp into the generated JavaScript code to customize the behavior. Overall, the tutorial provides a good introduction to basic ParenScript usage and concepts through examples.
Pharo is an open-source live-programming environment and programming language started in 2008. The official web site is http://www.pharo-project.org. By providing a stable and small core system, excellent dev tools, and maintained releases, Pharo is an attractive platform to build and deploy mission-critical applications.
Developing high-performance network servers in LispVladimir Sedach
Overview of current high-performance Common Lisp web servers and implementation techniques, and description of a new hybrid approach to asynchronous I/O based on separate racing accept() and epoll() thread pools.
Architecture-Driven Programming for Sense/Compute/Control ApplicationsDamien Cassou
Software architectures have long been used to design the structure of a software and to impose constraints on the software implementation. Existing approaches are capable of formally verifying properties on these constraints at the design stage. However, few approaches verify that a given implementation conforms to the software architecture constraints, and even fewer use these constraints to guide developers during implementation.
In this presentation, we propose a generative approach to enforce the software architecture constraints during implementation. Toward this goal, we focus on a specific application area, Sense/Compute/Control applications, which are applications that interact with a physical or virtual environment. Our work is based on a domain-specific architectural pattern dedicated to SCC applications. The data-flow of this pattern is restricted by interaction constraints. For specifying such constraints, we propose a dedicated language of behavioral contracts, adapted to our architectural pattern. These behavioral contracts are used for automatically generating a dedicated programming framework. This framework enforces the conformance of the resulting implementation with the software architecture constraints and provides guidance to developers.
Crash Course in Natural Language Processing (2016)Vsevolod Dyomkin
This document provides an overview of natural language processing (NLP) including:
1. An introduction to NLP and its intersection with computational linguistics, computer science, and statistics.
2. A discussion of common NLP problems like tokenization, tagging, parsing, and their rule-based and statistical approaches.
3. An explanation of machine learning techniques for NLP like language models, naive Bayes classifiers, and dependency parsing.
4. Steps for developing an NLP system including translating requirements, experimentation, and going to production.
Talk @ RubyConfIndia 2012. Ruby is a pure object oriented and really a beautiful language to learn and practice.
But most of us do not bother to know or care about what happens behind the scene when we write some ruby code. Say creating a simple Array, Hash, class, module or any object. How does this map internally to C code ?
Ruby interpreter is implemented in C and I will talk about the Interpreter API that we as ruby developers
should be aware of. The main purpose of the presentation is to understand the efforts and complexity behind
the simplicity offered. I would also like to touch upon the difference in implementation of some core data structures
in different ruby versions. Having known a part of C language implementation behind Ruby, I would also like to throw some light upon when and why would we need to write some ruby extensions in C.
A Generative Programming Approach to Developing Pervasive Computing SystemsDamien Cassou
This document presents a generative programming approach to developing pervasive computing systems. It describes challenges in pervasive computing like heterogeneity, lack of structure, and dynamicity. It proposes addressing these through domain-specific languages to describe devices, architectures, and generate a programming framework and simulation support. This approach aims to guide development and ensure conformance while abstracting distributed aspects and supporting multiple expertise.
The Parenscript Common Lisp to JavaScript compilerVladimir Sedach
The document discusses the Parenscript Common Lisp to JavaScript compiler. It describes what Parenscript is and is not, how it works, and its history and uses. Key points include that Parenscript compiles Common Lisp to readable JavaScript code without runtime dependencies or new types, and is used in web frameworks, libraries, and commercial projects.
This document provides a tutorial on using ParenScript, a tool for embedding Lisp code into JavaScript and HTML documents. It demonstrates several examples of using ParenScript, including embedding a simple onclick handler, generating a JavaScript file from ParenScript code, and rewriting an existing slideshow script in ParenScript. The slideshow example shows how to integrate data from Common Lisp into the generated JavaScript code to customize the behavior. Overall, the tutorial provides a good introduction to basic ParenScript usage and concepts through examples.
Pharo is an open-source live-programming environment and programming language started in 2008. The official web site is http://www.pharo-project.org. By providing a stable and small core system, excellent dev tools, and maintained releases, Pharo is an attractive platform to build and deploy mission-critical applications.
Developing high-performance network servers in LispVladimir Sedach
Overview of current high-performance Common Lisp web servers and implementation techniques, and description of a new hybrid approach to asynchronous I/O based on separate racing accept() and epoll() thread pools.
Architecture-Driven Programming for Sense/Compute/Control ApplicationsDamien Cassou
Software architectures have long been used to design the structure of a software and to impose constraints on the software implementation. Existing approaches are capable of formally verifying properties on these constraints at the design stage. However, few approaches verify that a given implementation conforms to the software architecture constraints, and even fewer use these constraints to guide developers during implementation.
In this presentation, we propose a generative approach to enforce the software architecture constraints during implementation. Toward this goal, we focus on a specific application area, Sense/Compute/Control applications, which are applications that interact with a physical or virtual environment. Our work is based on a domain-specific architectural pattern dedicated to SCC applications. The data-flow of this pattern is restricted by interaction constraints. For specifying such constraints, we propose a dedicated language of behavioral contracts, adapted to our architectural pattern. These behavioral contracts are used for automatically generating a dedicated programming framework. This framework enforces the conformance of the resulting implementation with the software architecture constraints and provides guidance to developers.
Crash Course in Natural Language Processing (2016)Vsevolod Dyomkin
This document provides an overview of natural language processing (NLP) including:
1. An introduction to NLP and its intersection with computational linguistics, computer science, and statistics.
2. A discussion of common NLP problems like tokenization, tagging, parsing, and their rule-based and statistical approaches.
3. An explanation of machine learning techniques for NLP like language models, naive Bayes classifiers, and dependency parsing.
4. Steps for developing an NLP system including translating requirements, experimentation, and going to production.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
The realm of product design is a constantly changing environment where technology and style intersect. Every year introduces fresh challenges and exciting trends that mold the future of this captivating art form. In this piece, we delve into the significant trends set to influence the look and functionality of product design in the year 2024.
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
Mental health has been in the news quite a bit lately. Dozens of U.S. states are currently suing Meta for contributing to the youth mental health crisis by inserting addictive features into their products, while the U.S. Surgeon General is touring the nation to bring awareness to the growing epidemic of loneliness and isolation. The country has endured periods of low national morale, such as in the 1970s when high inflation and the energy crisis worsened public sentiment following the Vietnam War. The current mood, however, feels different. Gallup recently reported that national mental health is at an all-time low, with few bright spots to lift spirits.
To better understand how Americans are feeling and their attitudes towards mental health in general, ThinkNow conducted a nationally representative quantitative survey of 1,500 respondents and found some interesting differences among ethnic, age and gender groups.
Technology
For example, 52% agree that technology and social media have a negative impact on mental health, but when broken out by race, 61% of Whites felt technology had a negative effect, and only 48% of Hispanics thought it did.
While technology has helped us keep in touch with friends and family in faraway places, it appears to have degraded our ability to connect in person. Staying connected online is a double-edged sword since the same news feed that brings us pictures of the grandkids and fluffy kittens also feeds us news about the wars in Israel and Ukraine, the dysfunction in Washington, the latest mass shooting and the climate crisis.
Hispanics may have a built-in defense against the isolation technology breeds, owing to their large, multigenerational households, strong social support systems, and tendency to use social media to stay connected with relatives abroad.
Age and Gender
When asked how individuals rate their mental health, men rate it higher than women by 11 percentage points, and Baby Boomers rank it highest at 83%, saying it’s good or excellent vs. 57% of Gen Z saying the same.
Gen Z spends the most amount of time on social media, so the notion that social media negatively affects mental health appears to be correlated. Unfortunately, Gen Z is also the generation that’s least comfortable discussing mental health concerns with healthcare professionals. Only 40% of them state they’re comfortable discussing their issues with a professional compared to 60% of Millennials and 65% of Boomers.
Race Affects Attitudes
As seen in previous research conducted by ThinkNow, Asian Americans lag other groups when it comes to awareness of mental health issues. Twenty-four percent of Asian Americans believe that having a mental health issue is a sign of weakness compared to the 16% average for all groups. Asians are also considerably less likely to be aware of mental health services in their communities (42% vs. 55%) and most likely to seek out information on social media (51% vs. 35%).
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
Creative operations teams expect increased AI use in 2024. Currently, over half of tasks are not AI-enabled, but this is expected to decrease in the coming year. ChatGPT is the most popular AI tool currently. Business leaders are more actively exploring AI benefits than individual contributors. Most respondents do not believe AI will impact workforce size in 2024. However, some inhibitions still exist around AI accuracy and lack of understanding. Creatives primarily want to use AI to save time on mundane tasks and boost productivity.
Organizational culture includes values, norms, systems, symbols, language, assumptions, beliefs, and habits that influence employee behaviors and how people interpret those behaviors. It is important because culture can help or hinder a company's success. Some key aspects of Netflix's culture that help it achieve results include hiring smartly so every position has stars, focusing on attitude over just aptitude, and having a strict policy against peacocks, whiners, and jerks.
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
PepsiCo provided a safe harbor statement noting that any forward-looking statements are based on currently available information and are subject to risks and uncertainties. It also provided information on non-GAAP measures and directing readers to its website for disclosure and reconciliation. The document then discussed PepsiCo's business overview, including that it is a global beverage and convenient food company with iconic brands, $91 billion in net revenue in 2023, and nearly $14 billion in core operating profit. It operates through a divisional structure with a focus on local consumers.
Content Methodology: A Best Practices Report (Webinar)contently
This document provides an overview of content methodology best practices. It defines content methodology as establishing objectives, KPIs, and a culture of continuous learning and iteration. An effective methodology focuses on connecting with audiences, creating optimal content, and optimizing processes. It also discusses why a methodology is needed due to the competitive landscape, proliferation of channels, and opportunities for improvement. Components of an effective methodology include defining objectives and KPIs, audience analysis, identifying opportunities, and evaluating resources. The document concludes with recommendations around creating a content plan, testing and optimizing content over 90 days.
How to Prepare For a Successful Job Search for 2024Albert Qian
The document provides guidance on preparing a job search for 2024. It discusses the state of the job market, focusing on growth in AI and healthcare but also continued layoffs. It recommends figuring out what you want to do by researching interests and skills, then conducting informational interviews. The job search should involve building a personal brand on LinkedIn, actively applying to jobs, tailoring resumes and interviews, maintaining job hunting as a habit, and continuing self-improvement. Once hired, the document advises setting new goals and keeping skills and networking active in case of future opportunities.
A report by thenetworkone and Kurio.
The contributing experts and agencies are (in an alphabetical order): Sylwia Rytel, Social Media Supervisor, 180heartbeats + JUNG v MATT (PL), Sharlene Jenner, Vice President - Director of Engagement Strategy, Abelson Taylor (USA), Alex Casanovas, Digital Director, Atrevia (ES), Dora Beilin, Senior Social Strategist, Barrett Hoffher (USA), Min Seo, Campaign Director, Brand New Agency (KR), Deshé M. Gully, Associate Strategist, Day One Agency (USA), Francesca Trevisan, Strategist, Different (IT), Trevor Crossman, CX and Digital Transformation Director; Olivia Hussey, Strategic Planner; Simi Srinarula, Social Media Manager, The Hallway (AUS), James Hebbert, Managing Director, Hylink (CN / UK), Mundy Álvarez, Planning Director; Pedro Rojas, Social Media Manager; Pancho González, CCO, Inbrax (CH), Oana Oprea, Head of Digital Planning, Jam Session Agency (RO), Amy Bottrill, Social Account Director, Launch (UK), Gaby Arriaga, Founder, Leonardo1452 (MX), Shantesh S Row, Creative Director, Liwa (UAE), Rajesh Mehta, Chief Strategy Officer; Dhruv Gaur, Digital Planning Lead; Leonie Mergulhao, Account Supervisor - Social Media & PR, Medulla (IN), Aurelija Plioplytė, Head of Digital & Social, Not Perfect (LI), Daiana Khaidargaliyeva, Account Manager, Osaka Labs (UK / USA), Stefanie Söhnchen, Vice President Digital, PIABO Communications (DE), Elisabeth Winiartati, Managing Consultant, Head of Global Integrated Communications; Lydia Aprina, Account Manager, Integrated Marketing and Communications; Nita Prabowo, Account Manager, Integrated Marketing and Communications; Okhi, Web Developer, PNTR Group (ID), Kei Obusan, Insights Director; Daffi Ranandi, Insights Manager, Radarr (SG), Gautam Reghunath, Co-founder & CEO, Talented (IN), Donagh Humphreys, Head of Social and Digital Innovation, THINKHOUSE (IRE), Sarah Yim, Strategy Director, Zulu Alpha Kilo (CA).
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
The search marketing landscape is evolving rapidly with new technologies, and professionals, like you, rely on innovative paid search strategies to meet changing demands.
It’s important that you’re ready to implement new strategies in 2024.
Check this out and learn the top trends in paid search advertising that are expected to gain traction, so you can drive higher ROI more efficiently in 2024.
You’ll learn:
- The latest trends in AI and automation, and what this means for an evolving paid search ecosystem.
- New developments in privacy and data regulation.
- Emerging ad formats that are expected to make an impact next year.
Watch Sreekant Lanka from iQuanti and Irina Klein from OneMain Financial as they dive into the future of paid search and explore the trends, strategies, and technologies that will shape the search marketing landscape.
If you’re looking to assess your paid search strategy and design an industry-aligned plan for 2024, then this webinar is for you.
5 Public speaking tips from TED - Visualized summarySpeakerHub
From their humble beginnings in 1984, TED has grown into the world’s most powerful amplifier for speakers and thought-leaders to share their ideas. They have over 2,400 filmed talks (not including the 30,000+ TEDx videos) freely available online, and have hosted over 17,500 events around the world.
With over one billion views in a year, it’s no wonder that so many speakers are looking to TED for ideas on how to share their message more effectively.
The article “5 Public-Speaking Tips TED Gives Its Speakers”, by Carmine Gallo for Forbes, gives speakers five practical ways to connect with their audience, and effectively share their ideas on stage.
Whether you are gearing up to get on a TED stage yourself, or just want to master the skills that so many of their speakers possess, these tips and quotes from Chris Anderson, the TED Talks Curator, will encourage you to make the most impactful impression on your audience.
See the full article and more summaries like this on SpeakerHub here: https://speakerhub.com/blog/5-presentation-tips-ted-gives-its-speakers
See the original article on Forbes here:
http://www.forbes.com/forbes/welcome/?toURL=http://www.forbes.com/sites/carminegallo/2016/05/06/5-public-speaking-tips-ted-gives-its-speakers/&refURL=&referrer=#5c07a8221d9b
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
Everyone is in agreement that ChatGPT (and other generative AI tools) will shape the future of work. Yet there is little consensus on exactly how, when, and to what extent this technology will change our world.
Businesses that extract maximum value from ChatGPT will use it as a collaborative tool for everything from brainstorming to technical maintenance.
For individuals, now is the time to pinpoint the skills the future professional will need to thrive in the AI age.
Check out this presentation to understand what ChatGPT is, how it will shape the future of work, and how you can prepare to take advantage.
The document provides career advice for getting into the tech field, including:
- Doing projects and internships in college to build a portfolio.
- Learning about different roles and technologies through industry research.
- Contributing to open source projects to build experience and network.
- Developing a personal brand through a website and social media presence.
- Networking through events, communities, and finding a mentor.
- Practicing interviews through mock interviews and whiteboarding coding questions.
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
1. Core updates from Google periodically change how its algorithms assess and rank websites and pages. This can impact rankings through shifts in user intent, site quality issues being caught up to, world events influencing queries, and overhauls to search like the E-A-T framework.
2. There are many possible user intents beyond just transactional, navigational and informational. Identifying intent shifts is important during core updates. Sites may need to optimize for new intents through different content types and sections.
3. Responding effectively to core updates requires analyzing "before and after" data to understand changes, identifying new intents or page types, and ensuring content matches appropriate intents across video, images, knowledge graphs and more.
A brief introduction to DataScience with explaining of the concepts, algorithms, machine learning, supervised and unsupervised learning, clustering, statistics, data preprocessing, real-world applications etc.
It's part of a Data Science Corner Campaign where I will be discussing the fundamentals of DataScience, AIML, Statistics etc.
Time Management & Productivity - Best PracticesVit Horky
Here's my presentation on by proven best practices how to manage your work time effectively and how to improve your productivity. It includes practical tips and how to use tools such as Slack, Google Apps, Hubspot, Google Calendar, Gmail and others.
The six step guide to practical project managementMindGenius
The six step guide to practical project management
If you think managing projects is too difficult, think again.
We’ve stripped back project management processes to the
basics – to make it quicker and easier, without sacrificing
the vital ingredients for success.
“If you’re looking for some real-world guidance, then The Six Step Guide to Practical Project Management will help.”
Dr Andrew Makar, Tactical Project Management
6. Requirements
1. A design framework to guide the architect
2. A programming framework to guide the
developer
3. A guaranteed conformance of the
implementation relatively to the design Conformance
6
7. Related Works
Design
Implementation
Conformance
Conformance
7
8. Related Works
GPL
Design
Implementation +
Conformance
Conformance
Java
8
9. Related Works
GPL Library
Design
Implementation + ++
Conformance
Conformance
Spring
9
10. Related Works
GPL Library ADL
Design ++
Implementation + ++
Conformance
Conformance
C2
10
21. Design Language
sources
Environment
• sources sense the environment
orders
20
22. Design Language
sources
Environment
actions
• sources sense the environment
• actions impact the environment
orders
20
23. Design Language
a concept for handling
the interaction with
the environment
sources
Environment
actions
• sources sense the environment
• actions impact the environment
orders
20
24. Design Language
entity Keypad {
source keycode as Integer; a concept for handling
action UpdateSt;
}
the interaction with
the environment
action UpdateSt {
updateStatus(message as String);
}
sources
Entities Environment
actions
• sources sense the environment
• actions impact the environment
orders
20
25. Design Language
entity Keypad {
source keycode as Integer; a concept for handling
action UpdateSt;
}
the interaction with
the environment
action UpdateSt {
updateStatus(message as String);
}
sources
Entities Environment
actions
1 entity description for
potentially many
implementations
orders
21
26. Design Language
entity Keypad {
source keycode as Integer; a concept for handling
action UpdateSt;
}
the interaction with
the environment
action UpdateSt {
updateStatus(message as String);
}
sources
Entities Environment
actions
1 entity description for
potentially many instances
orders
22
27. Design Language
entity Keypad {
source keycode as Integer;
action UpdateSt;
attribute room as Integer;
}
action UpdateSt {
updateStatus(message as String);
}
sources
Entities Environment
actions
1 entity description for
potentially many instances
➡ attributes to characterize instances
orders
(color, location, reliability, etc.) 23
28. Design Language
raw data
a concept to
refine raw data
sources
Entities Environment
actions
orders
24
29. Design Language
raw data
a concept to
refine raw data
context
operators
sources
refined
information Entities Environment
actions
context BuildingSecured as Boolean {
source keycode from Keypad;
} orders
24
30. Design Language
raw data a concept to take
decisions based on
application-level data
context
operators
sources
refined
information Entities Environment
actions
orders
25
31. Design Language
raw data a concept to take
decisions based on
application-level data
context
operators
sources
refined
information Entities Environment
actions
control
operators
controller BuildingManager {
context BuildingSecured;
orders
orders action UpdateSt on Keypad;
}
25
32. Design Language
raw data The language features concepts
Compute dedicated to the SCC paradigm
context Sense
operators
sources
refined
information Entities Environment
actions
control
operators
orders
orders Control
26
33. Application logic Environment handling
context
operators
sources
refined
information Entities Environment
actions
control
operators
orders
27
34. context
operators Information creation
refined
information
control
operators Information use
orders
28
35. Design Language
raw data
context
operators
sources
refined
information Entities Environment
actions
control
operators
orders
orders
29
36. Design Language
actions
control
operators
context
operators
orders
sources 30
37. Design Language
actions
control
operators
context
operators
orders
sources 31
47. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
what the architect
has in mind
34
48. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
what the architect
has in mind
34
49. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
what the architect
has in mind
34
50. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
possible
interpretations
35
51. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
possible
interpretations
Intrusion
Building
Presence
Secured
35
52. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
possible
interpretations
Intrusion
Building
Presence
Secured
35
53. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
possible
interpretations
Intrusion
Building
Presence
Secured
35
54. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
possible
interpretations
Intrusion
Building
Presence
Secured
35
55. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
possible
interpretations
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
35
56. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
possible
interpretations
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
35
57. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
possible
interpretations
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
35
58. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
possible
interpretations
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
the architect should express
what he has in mind
35
59. Case Study: Anti-Intrusion
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
possible
interpretations
Intrusion Intrusion
Building Building
Presence Presence
Secured Secured
the architect should express
what he has in mind
➡interaction contracts 35
65. Interaction Contracts
1 Activation condition
2 Data requirement Intrusion
3 Emission
Building
context Intrusion as Boolean { Presence
context Presence; Secured
context BuildingSecured;
interaction {
when provided Presence
get BuildingSecured
maybe publish
}
}
37
66. Interaction Contracts
1 Activation condition
2 Data requirement Intrusion
1
3 Emission
Building
context Intrusion as Boolean { Presence
context Presence; Secured
context BuildingSecured;
interaction {
1 when provided Presence
get BuildingSecured
maybe publish
}
}
37
67. Interaction Contracts
1 Activation condition
2 Data requirement Intrusion
2 1
3 Emission
Building
context Intrusion as Boolean { Presence
context Presence; Secured
context BuildingSecured;
interaction {
1 when provided Presence
2 get BuildingSecured
maybe publish
}
}
37
68. Interaction Contracts
1 Activation condition 3
2 Data requirement Intrusion
2 1
3 Emission
Building
context Intrusion as Boolean { Presence
context Presence; Secured
context BuildingSecured;
interaction {
1 when provided Presence
2 get BuildingSecured
3 maybe publish
}
}
37
69. Interaction Contracts
1 Activation condition 3
2 Data requirement Intrusion
2 1
3 Emission
Building
context Intrusion as Boolean { Presence
context Presence; Secured
context BuildingSecured;
interaction {
1 when provided Presence
2 get BuildingSecured
3 maybe publish
related to automata
} approaches
}
37
70. Summary
A design framework consisting of a design language, DiaSpec,
which guides the architect by offering
• concepts dedicated to the SCC paradigm
• a separation between environment handling and logic
• a separation between information creation and use
• a dedicated description of interactions
38
72. A Programming Framework
Generated from the Design
DiaSpec GPL
40
73. A Programming Framework
Generated from the Design
DiaSpec GPL
• separates 2 different roles with 2 different languages
• leverages GPL tools, libraries and expertise
• ensures conformance automatically
40
74. A Programming Framework
how to make a programming
framework conform to a
particular design?
41
75. A Programming Framework
The code generator maps
• each description to an abstract class
• each interaction contract to an abstract method
42
76. A Programming Framework
The code generator maps
• each description to an abstract class
• each interaction contract to an abstract method
By leveraging the GPL type checker, the framework
• guides the implementation of what is required
• forbids anything not specified in the design
42
77. A Programming Framework
The code generator maps
• each description to an abstract class
• each interaction contract to an abstract method
By leveraging the GPL type checker, the framework
• guides the implementation of what is required
• forbids anything not specified in the design
different than what is
proposed by ADLs or MDE 42
78. Generation
context Presence as Boolean {
source motion from MotionSensor;
interaction {
Presence when provided motion from MotionSensor
get motion from MotionSensor
motion always publish
MotionSensor }
}
abstract class AbstractPresence {
abstract boolean onMotionFromMotionSensor(
boolean motion, Select select);
}
43
79. Generation
context Presence as Boolean {
source motion from MotionSensor;
interaction {
Presence when provided motion from MotionSensor
get motion from MotionSensor
motion always publish
MotionSensor }
}
abstract class AbstractPresence {
abstract boolean onMotionFromMotionSensor(
boolean motion, Select select);
}
44
80. Generation
context Presence as Boolean {
source motion from MotionSensor;
interaction {
Presence when provided motion from MotionSensor
get motion from MotionSensor
motion always publish
MotionSensor }
}
abstract class AbstractPresence {
abstract boolean onMotionFromMotionSensor(
boolean motion, Select select);
}
45
81. Generation
context Presence as Boolean {
source motion from MotionSensor;
interaction {
Presence when provided motion from MotionSensor
get motion from MotionSensor
motion always publish
MotionSensor }
}
abstract class AbstractPresence {
abstract boolean onMotionFromMotionSensor(
boolean motion, Select select);
}
according to the
interaction contract 46
82. Generation
context Presence as Boolean {
source motion from MotionSensor;
interaction {
Presence when provided motion from MotionSensor
get motion from MotionSensor
motion always publish
MotionSensor }
}
abstract class AbstractPresence {
abstract boolean onMotionFromMotionSensor(
boolean motion, Select select);
}
47
83. Implementing the Behavior
context Presence as Boolean {
source motion from MotionSensor;
interaction { abstract class AbstractPresence {
when provided motion from MotionSensor abstract boolean onMotionFromMotionSensor(
boolean motion, Select select);
get motion from MotionSensor }
always publish
}
}
class Presence extends AbstractPresence {
boolean onMotionFromMotionSensor(
boolean motion, Select select) {
return motion;
}
}
48
84. Implementing the Behavior
when motion is detected ➡ there is presence
when motion is not detected? ➡ ?
The developer needs to ask all motion sensors
class Presence extends AbstractPresence {
boolean onMotionFromMotionSensor(
boolean motion, Select select) {
return motion;
}
}
49
85. Entity Selection
Required when an entity
is the interaction’s target
Guide the developer with an
embedded and type-safe DSL
50
86. Entity Selection
entity MotionSensor {
source motion as Boolean;
attribute room as Integer;
}
Select all motion sensors:
select.motionSensors().all()
51
87. Entity Selection room = 1 room = 2 room = 3
1 2 3
entity MotionSensor {
source motion as Boolean;
attribute room as Integer;
}
0 4
room = 0 room = 4
Select all motion sensors in rooms 1 to 3:
select.motionSensors().whereRoom(between(1,3))
52
89. Entity Selection Conformance
entity Alarm { action OnOff {
action OnOff; on();
} off();
}
room = 0 room = 4
Conformance
It is not possible to send unsupported orders:
select.alarms().all().start(); compile-time
error
54
90. Entity Selection
context Presence as Boolean {
source motion from MotionSensor;
interaction {
when provided motion from MotionSensor
get motion from MotionSensor
always publish
}
}
Presence
motion
MotionSensor room = 0 room = 4
Conformance
It is not possible to discover all kinds of entities:
select.alarms().all(); compile-time
error
55
91. Implementing the Behavior
context Presence as Boolean {
source motion from MotionSensor;
interaction { abstract class AbstractPresence {
abstract boolean onMotionFromMotionSensor(...);
when provided motion from MotionSensor
}
get motion from MotionSensor
always publish
}
}
class Presence extends AbstractPresence {
boolean onMotionFromMotionSensor(
boolean motion, Select select) {
if (motion)
return true;
MotionSensors sensors = select.motionSensors().all();
for (MotionSensor sensor : sensors)
if (sensor.getMotion())
return true;
return false;
}
}
56
92. Summary
The developer is guided with
• a support dedicated to the application
• an embedded DSL for entity selection
Conformance is ensured by Conformance
• generating a programming framework
• leveraging a GPL type checker
57
96. Evaluation: Usability
Context
• 80 students during 3 years
• sparse and oral-only documentation
Results
• 64 students completed the assignment
• Identification of the interaction contracts
61
100. Evaluation: Productivity
Complexity of the developer’s code
We used the Sonar platform
to measure code quality
through numerous metrics
64
101. Evaluation: Productivity
Complexity of the developer’s code
“ number of linearly
independent paths
in a source code”
McCabe cyclomatic
complexity
64
102. Evaluation: Productivity
Complexity of the developer’s code
“ number of linearly
independent paths
in a source code”
McCabe cyclomatic
complexity
1 3 7 10 ∞
64
103. Evaluation: Productivity
Complexity of the developer’s code
“ number of linearly
independent paths
in a source code”
McCabe cyclomatic
complexity
“
quite well structured
”
{
1 3 7 10 ∞
64
104. Evaluation: Productivity
Complexity of the developer’s code
“ number of linearly
independent paths
in a source code ”
McCabe cyclomatic
complexity
“
quite well structured
” “ ”
very poor quality
{
1 3 7 10 ∞
64
105. Evaluation: Productivity
Complexity of the developer’s code
“ number of linearly
independent paths
in a source code ”
McCabe cyclomatic
complexity
“
quite well structured
” “ ”
very poor quality
{
1 3 7 10 ∞
on average
64
106. Summary
• The approach covers various domains
• The frameworks are easy to use
• Few code is required and this code is of good quality
Pursuing this evaluation with software engineers
65
107. Results
Scientific contributions Conformance
• A design language dedicated to SCC (ICSE’11)
• The generation of a dedicated programming framework (GPCE’09)
• The evaluation of this approach (submitted)
Technical contributions
• A compiler for the design language (9 KLoC)
• A code generator targeting Java (4 KLoC)
Dissemination
• Demonstrations (PerCom’10), posters (SPLASH’10), visits (Bern, Potsdam)
• Public release (http://diasuite.inria.fr)
66
108. A Research Vehicle
This design language and code generator are part of a
research project which involves
• 4 industrial partnerships
• 2 other research groups
• > 20 real applications
• 24/7 running platform
• 28,000 lines of code
67
109. A Research Vehicle
7 PhD students leveraging DiaSpec and the generator
• QoS (FASE’11)
• error-handling (OOPSLA’10)
• virtual testing (Mobiquitous’09 and ’10)
• SIP (ICC’10, ICIN’09, IPTComm’08)
• end-user programming (DSLWC’09)
• security (ICPS’09)
68
110. Perspectives
• Can we support other stages of the software life-cycle?
requirements design code testing maintenance
• Can we transpose the approach to another paradigm?
• Can we help creating such approaches?
69