In the past few years we have been experiencing an amazing proliferation of mobile and embedded platforms. Contemporary developers are increasingly faced with the challenge of writing applications that can run on desktop, mobile (e.g. Android), and on low-cost embedded platforms (e.g. Raspberry-Pi and Beaglebone). This is causing a rejuvenated interest in the Java platform as the mean to achieve the holy grail of write-once and run-everywhere. With the availability of Java environments supporting almost any kind of device in several different form factors, the missing element to the picture is an effective way of enabling communication between them.
Vortex Café is a pure Java implementation of the OMG Data Distribution Service (DDS) that enables seamless, efficient and timely data sharing across many-core machines, mobile and embedded devices.
This presentation will (1) introduce the main abstractions provided by Vortex Café, (2) provide an overview of its architecture and explain how it exploits Staged Event Driven Architectures to optimize its runtime depending of the target hardware, (3) provide an overview of the typical performance delivered by Vortex Café, and (3) get you started developing distributed Java and Scala applications with Vortex Café.
Consumer and Industrial IoT systems have to deal with massive volumes of data, collected as well as shared, with very heterogeneous targets, such as embedded systems, mobile, web and cloud applications. Additionally, different communication patterns, such as device-to-device as and device-to-cloud have to be supported to enable the right combination of fog, edge and cloud computing. Furthermore, increasingly more often, the system value depends on its ability to transform, in real-time, these massive amount of data in “actionable”.
This presentation identifies the key requirement of Consumer and Industrial IoT Systems and show how the Vortex platform addresses them.
Introduced in 2004, the Data Distribution Service (DDS) has been steadily growing in popularity and adoption. Today, DDS is at the heart of a large number of mission and business critical systems, such as, Air Traffic Control and Management, Train Control Systems, Energy Production Systems, Medical Devices, Autonomous Vehicles, Smart Cities and NASA’s Kennedy Space Centre Launch System.
Considered the technological trends toward data-centricity and the rate of adoption, tomorrow, DDS will be at the at the heart of an incredible number of Industrial IoT systems.
To help you become an expert in DDS and exploit your skills in the growing DDS market, we have designed the DDS in Action webcast series. This series is a learning journey through which you will (1) discover the essence of DDS, (2) understand how to effectively exploit DDS to architect and program distributed applications that perform and scale, (3) learn the key DDS programming idioms and architectural patterns, (4) understand how to characterise DDS performances and configure for optimal latency/throughput, (5) grow your system to Internet scale, and (6) secure you DDS system.
The Data Distribution Service for Real-Time Systems (DDS) is an Object Management Group (OMG) standard for publish/subscribe designed to address the needs of a large class of mission- and business-critical distributed real-time systems and system of systems. The DDS standard was formally adopted in 2004 and in less than five years from its inception has experienced swift adoption in a wide variety of application domains. These application domains are characterized by the need to distribute high volumes of data with predictable low latencies, such as, Radar Processors, Flying and Land Drones, Combat Management Systems, Air Traffic Management, High Performance Telemetry, Large Scale Supervisory Systems, and Automated Stocks and Options Trading. Along with wide commercial adoption, the DDS Standard has been recommended and mandated as the technology for real-time data distribution by key administrations worldwide such as the US Navy, the DoD Information-Technology Standards Registry (DISR), the UK MoD, and EUROCONTROL.
This presentation introduced Vortex by means of a running example. Throughout the presentation we will show how Vortex makes it easy to build a micro-blogging platform a la Twitter.
Vortex Lite brings DDS connectivity to resource constrained embedded systems. As a a first class citizen of the Vortex platform it can be used for peer-to-peer fog/edge computing between embedded devices as well as gateways and well as for very efficient device to cloud data sharing. Vortex Lite has been designed with efficiency and portability in mind. This makes it the fastest DDS implementation on the market on enterprise grade hardware and the most lightweight on embedded targets. Likewise its architecture structurally facilitates porting across computing and networking stacks.
This presentation introduces Vortex Lite , provides an overview of its architecture, its design choices as well as report about its performance. The webcast will also explain the role played by Lite within the Vortex family and how it can be used for both device-to-device (fog/edge computing) as well as device-to-cloud.
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsAngelo Corsaro
The real value of the Internet of Things (IoT) and the Industrial Internet (I2) are ubiquitous information availability and consequently the decisions that can be made from it. If we look at the technology landscape, there isn’t a single platform that provides efficient, timely and ubiquitous data sharing across network-connected devices. Well… I should better say there wasn’t until now!
Vortex is the first platform to enable ubiquitous, efficient and timely data sharing across mobile, embedded, desktop, cloud and web applications. This presentation will (1) introduce the elements that make the Vortex platform and (2) describe its applicability
This presentation introduces the coordination model at the foundation of Vortex and explains its foundational concepts and features. Then it provides an overview of the various technological element that implement the model and how they are deployed in IoT applications such as connected vehicles, smart cities, smart grids and connected medical devices.
Consumer and Industrial IoT systems have to deal with massive volumes of data, collected as well as shared, with very heterogeneous targets, such as embedded systems, mobile, web and cloud applications. Additionally, different communication patterns, such as device-to-device as and device-to-cloud have to be supported to enable the right combination of fog, edge and cloud computing. Furthermore, increasingly more often, the system value depends on its ability to transform, in real-time, these massive amount of data in “actionable”.
This presentation identifies the key requirement of Consumer and Industrial IoT Systems and show how the Vortex platform addresses them.
Introduced in 2004, the Data Distribution Service (DDS) has been steadily growing in popularity and adoption. Today, DDS is at the heart of a large number of mission and business critical systems, such as, Air Traffic Control and Management, Train Control Systems, Energy Production Systems, Medical Devices, Autonomous Vehicles, Smart Cities and NASA’s Kennedy Space Centre Launch System.
Considered the technological trends toward data-centricity and the rate of adoption, tomorrow, DDS will be at the at the heart of an incredible number of Industrial IoT systems.
To help you become an expert in DDS and exploit your skills in the growing DDS market, we have designed the DDS in Action webcast series. This series is a learning journey through which you will (1) discover the essence of DDS, (2) understand how to effectively exploit DDS to architect and program distributed applications that perform and scale, (3) learn the key DDS programming idioms and architectural patterns, (4) understand how to characterise DDS performances and configure for optimal latency/throughput, (5) grow your system to Internet scale, and (6) secure you DDS system.
The Data Distribution Service for Real-Time Systems (DDS) is an Object Management Group (OMG) standard for publish/subscribe designed to address the needs of a large class of mission- and business-critical distributed real-time systems and system of systems. The DDS standard was formally adopted in 2004 and in less than five years from its inception has experienced swift adoption in a wide variety of application domains. These application domains are characterized by the need to distribute high volumes of data with predictable low latencies, such as, Radar Processors, Flying and Land Drones, Combat Management Systems, Air Traffic Management, High Performance Telemetry, Large Scale Supervisory Systems, and Automated Stocks and Options Trading. Along with wide commercial adoption, the DDS Standard has been recommended and mandated as the technology for real-time data distribution by key administrations worldwide such as the US Navy, the DoD Information-Technology Standards Registry (DISR), the UK MoD, and EUROCONTROL.
This presentation introduced Vortex by means of a running example. Throughout the presentation we will show how Vortex makes it easy to build a micro-blogging platform a la Twitter.
Vortex Lite brings DDS connectivity to resource constrained embedded systems. As a a first class citizen of the Vortex platform it can be used for peer-to-peer fog/edge computing between embedded devices as well as gateways and well as for very efficient device to cloud data sharing. Vortex Lite has been designed with efficiency and portability in mind. This makes it the fastest DDS implementation on the market on enterprise grade hardware and the most lightweight on embedded targets. Likewise its architecture structurally facilitates porting across computing and networking stacks.
This presentation introduces Vortex Lite , provides an overview of its architecture, its design choices as well as report about its performance. The webcast will also explain the role played by Lite within the Vortex family and how it can be used for both device-to-device (fog/edge computing) as well as device-to-cloud.
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsAngelo Corsaro
The real value of the Internet of Things (IoT) and the Industrial Internet (I2) are ubiquitous information availability and consequently the decisions that can be made from it. If we look at the technology landscape, there isn’t a single platform that provides efficient, timely and ubiquitous data sharing across network-connected devices. Well… I should better say there wasn’t until now!
Vortex is the first platform to enable ubiquitous, efficient and timely data sharing across mobile, embedded, desktop, cloud and web applications. This presentation will (1) introduce the elements that make the Vortex platform and (2) describe its applicability
This presentation introduces the coordination model at the foundation of Vortex and explains its foundational concepts and features. Then it provides an overview of the various technological element that implement the model and how they are deployed in IoT applications such as connected vehicles, smart cities, smart grids and connected medical devices.
The Data Distribution Service for Real-Time Systems (DDS) is an Object Management Group (OMG) standard for publish/subscribe designed to address the needs of a large class of mission- and business-critical distributed real-time systems and system of systems. The DDS standard was formally adopted in 2004 and in less than five years from its inception has experienced swift adoption in a wide variety of application domains. These application domains are characterized by the need to distribute high volumes of data with predictable low latencies, such as, Radar Processors, Flying and Land Drones, Combat Management Systems, Air Traffic Management, High Performance Telemetry, Large Scale Supervisory Systems, and Automated Stocks and Options Trading. Along with wide commercial adoption, the DDS Standard has been recommended and mandated as the technology for real-time data distribution by key administrations worldwide such as the US Navy, the DoD Information-Technology Standards Registry (DISR), the UK MoD, and EUROCONTROL.
This two-part Tutorial will cover most of the key aspects of DDS to ensure that you can proficiently start using it for designing or developing your next system. In brief this tutorial will get you jump-started into DDS.
PrismTech's Vortex platform provides seamless, ubiquitous, efficient and timely data sharing across mobile, embedded, desktop, cloud and web applications. Today Vortex is the enabling technology at the core the most innovative Internet of Things and Industrial Internet applications, such as Smart Cities, Smart Grids, and Smart Traffic.
This two part tutorial series (1) introduces the key concepts of Vortex, (2) gets you started with using Vortex to efficiently exchange data across mobile, embedded, desktop, cloud and web applications, and (3) provides a series of best practices, patterns and idioms to get the best out of Vortex.
The only prerequisite to fully exploit this tutorial is a basic understanding of Java, C++ and JavaScript. Some knowledge of Scala and CoffeScript will be a plus.
Reactive architectures are emerging as the way to build systems that are responsive, scalable, resilient and event-driven. In other terms, systems that deliver highly responsive user experiences with a real-time feel, that are scalable, resilient, and ready to be deployed on multicore and cloud computing architectures. The Reactive Manifesto (see http://www.reactivemanifesto.org/) captures the key traits that characterize reactive architectures.
The Data Distribution Service (DDS) incarnates the principles enumerated by the reactive manifesto and provides a very good platform for building reactive systems. In this webcast I will (1) introduce the key principles of Reactive Architectures, (2) explain the DDS features that are essential to build reactive systems, and (3) introduce some programming techniques that remove inversion of control while maintaining applications even-driven.
DDS is a very powerful technology built around a few simple and orthogonal concepts. If you understand the core concepts then you can really quickly get up to speed and start exploiting all of its power. On the other hand, if you haven’t grasped the key abstractions you might not be able to exploit all the benefits that DDS can bring.
This presentation provides you with an introduction to the core DDS concepts and illustrates how to program DDS applications. The new C++ and Java API will be explained and used throughout the webcast for coding examples thus giving you a chance to learn the new API from one of the main authors!
IoT Protocols Integration with Vortex GatewayAngelo Corsaro
Not all Consumer and Industrial Internet of Things (CIoT, IIoT) applications have the luxury of starting with blank sheet of paper and design the system ground-up. Often IoT features have to be built around existing systems designed using proprietary technologies or vertical standards. As a consequence the ability to easily integrate communication standards, proprietary protocols and data stores is key in accelerating the development of IoT capabilities.
This webcast will showcase how the Vortex Gateway can be used to easily integrate different communication standards, data stores as well as quickly develop connectors for proprietary technologies.
The Object Management Group (OMG) Data Distribution Service (DDS) and the OPC Foundation OLE for Process Control Unified Architecture (OPC-UA) are commonly considered as two of the most relevant technologies for data and information management in the Industrial Internet of Things. Although several articles and quotes on the two technologies have appeared on various medias in the past six months, there is still an incredible confusion on how the two technology compare and what’s their applicability.
This presentation, was motivated by the author's frustration with reading and hearing so many mis-conceptions as well as “apple-to-oranges” comparisons. Thus to contribute to clarity and help with positioning and applicability this webcast will (1) explain the key concepts behind DDS and OPC-UA and relate them with the reason why these technologies were created in the first place, (2) clarify the differences and applicability in IoT for DDS and OPC-UA, and (3) report on the ongoing standardisation activities that are looking at DDS/OPC-UA inter-working.
The OMG DDS standard has recently received an incredible level of attention and press coverage due to its relevance for Consumer and Industrial IoT applications and its adoption as part of the Industrial Internet Consortium Reference Architecture. The main reason for the excitement in DDS stems from its data-centricity, efficiency, Internet-wide scalability, high-availability and configurability.
Although DDS provides a very feature rich platform for architecting distributed systems, it focuses on doing one thing well — namely data-sharing. As such it does not provide first-class support for abstractions such as distributed mutual exclusion, distributed barriers, leader election, consensus, atomic multicast, distributed queues, etc.
As a result, many architects tend to devise by themselves – assuming the DDS primitives as a foundation – the (hopefully correct) algorithms for classical problems such as fault-detection, leader election, consensus, distributed mutual exclusion, distributed barriers, atomic multicast, distributed queues, etc.
This Webcast explores DDS-based distributed algorithms for many classical, yet fundamental, problems in distributed systems. By attending the webcast you will learn how recurring problems arising in the design of distributed systems can be addressed using algorithm that are correct and perform well.
OpenSplice DDS enables seamless, timely, scalable and dependable data sharing between distributed applications and network-connected devices. Its technical and operational benefits have propelled adoption across multiple industries, such as Defence and Aerospace, SCADA, Gaming, Cloud Computing, Automotive, etc.
If you want to learn about OpenSplice DDS or discover some of its advanced features, this webcast is for you!
In this two-parts presentation we will cover most of the aspects tied to architecting and developing OpenSplice DDS systems. We will look into Quality of Services, data selectors concurrency and scalability concerns.
We will present the brand-new, and recently finalized, C++ and Java APIs for DDS, including examples of how this can be used with C++11 features. We will show how, increasingly popular, functional languages such as Scala can be used to efficiently and elegantly exploit the massive HW parallelism provided by modern multi-core processors.
Finally we will present some OpenSplice specific extensions for dealing very high-volumes of data – meaning several millions of messages per seconds.
This presentations explains the foundations of Stream Processing and shows how elegant Stream Processing Architectures can be built by using in synergy DDS and CEP.
The Data Distribution Service (DDS) is a standard for efficient and ubiquitous data sharing built upon the concept of a, strongly typed, distributed data space. The ability to scale from resource constrained embedded systems to ultra-large scale distributed systems, has made DDS the technology of choice for applications, such as, Power Generation, Large Scale SCADA, Air Traffic Control and Management, Smart Cities, Smart Grids, Vehicles, Medical Devices, Simulation, Aerospace, Defense and Financial Trading.
This two part webcast provides an in depth introduction to DDS – the universal data sharing technology. Specifically, we will introduce (1) the DDS conceptual model and data-centric design, (2) DDS data modeling fundamentals, (3) the complete set of C++ and Java API, (4) the most important programming, data modeling and QoS Idioms, and (5) the integration between DDS and web applications.
After attending this webcast you will understand how to exploit DDS architectural features when designing your next system, how to write idiomatic DDS applications in C++ and Java and what are the fundamental patterns that you should adopt in your applications.
Connected Mobile and Web Applications with VortexAngelo Corsaro
The widespread availability of high-end mobile devices such as smart-phones, tablets and phablets, along with the availability of browser enabled devices, has imposed these platforms as one of the main target for user interfaces. As a result mobile and web applications need now to be easily “connected”to the rest of the system.
This presentations will (1) showcase how the the Vortex Data Sharing Platform can be effectively and productively used to create connected mobile and web-applications, (2) take you through the steps required to use Vortex in mobile and web applications.
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
This presentation introduces XRCE a new protocol for very efficiently distributing data in resource constrained (power, network, computation, and storage) environments. XRCE greatly improves the wire efficiency of existing protocol and in many cases provides higher level abstractions.
Micro services Architecture with Vortex -- Part IAngelo Corsaro
Microservice Architectures — which are the norm in some domains — have recently received lots of attentions in general computing and are becoming the mainstream architectural style to develop distributed systems. As suggested by the name, the main idea behind micro services is to decompose complex applications in, small, autonomous and loosely coupled processes communicating through a language and platform independent API. This architectural style facilitates a modular approach to system-building.
This webcast will (1) introduce the main principles of the Microservice Architecture, (2) showcase how the Global Data Space abstraction provided by Vortex ideally support thee microservices architectural pattern, and (3) walk you through the design and implementation of a micro service application for a real-world use case.
This presentation provides an overview of the initial submission to the OMG RFP on DDS Security. The presentation introduces the overall security model proposed for DDS and the protocols.
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXAngelo Corsaro
An increasing number of Software Architects are realising that data is the most important asset of a system and are staring to embrace the Data-Centric revolution (datacentricmanifesto.org) — setting data at the center of their architecture and modelling applications as “visitors” to the data. At the same time, architect have also realised that reactive architectures (reactivemanifesto.org) facilitates the design of scalable, fault-tolerant and high performance systems.
Yet, few architects have realised that reactive and data-centric architectures are the two sides to the same coin and should always go hand in hand.
This presentation shows how reactive data-centric systems can be designed and built taking advantage of Vortex data sharing capabilities along with its integration with reactive and data-centric processing technologies such as Apache Spark and ReactiveX.
Building Real-Time Web Applications with Vortex-WebAngelo Corsaro
The Real-Time Web is rapidly growing and as a consequence an increasing number of applications require soft-real time interactions with the server-side as well as with peer web applications. In addition, real-time web technologies are experiencing swift adoption in traditional systems as a means of providing portable and ubiquitously accessible thin client applications.
In spite of this trend, few high level communication frameworks exist that allow efficient and timely data exchange between web applications as well as with the server-side and the back-end system. Vortex Web is one of the first technologies to bring the powerful OMG Data Distribution Service (DDS) abstractions to the world of HTML5 / JavaScript applications. With Vortex Web, HTML5 / JavaScript applications can seamlessly and efficiently share data in a timely manner amongst themselves as well as with any other kind of device or system that supports the standard DDS Interoperability wire protocol (DDSI).
This presentation will (1) introduce the key abstractions provided by Vortex Web, (2) provide an overview of its architecture and explain how Vortex Web uses Web Sockets and Web Workers to provide low latency and high throughput, and (3) get you started developing real-time web applications.
Building and Scaling Internet of Things Applications with Vortex CloudAngelo Corsaro
Cloud Messaging is one of the most critical elements at the core of any Internet of Things and Industrial Internet application. The degree of efficiency and connectivity provided by the cloud messaging technology usually drives the overall efficiency and reach of the entire system.
Vortex Cloud is a Cloud Messaging implementation that targets public as well as private clouds and enables embedded, mobile, web, enterprise and cloud applications to efficiently and securely share data across the Internet. Vortex Cloud has been designed ground up to address easy of connectivity, wire-efficiency, scalability, elasticity and security.
This presentation will (1) introduce the Vortex Cloud architecture and explain how it provides elasticity and fault-tolerance, (2) explain the different deployment models supported for public-cloud, private-cloud and no-cloud (3) get you started developing a simple Internet of Things Application.
Vortex is a platform that provides seamless, ubiquitous, efficient and timely data sharing across mobile, embedded, desktop, cloud and web applications. Today Vortex is the enabling technology at the core the most innovative Internet of Things and Industrial Internet applications, such as Smart Cities, Smart Grids, and Smart Traffic.
This two parts tutorial (1) introduces the key concepts of Vortex, (2) gets you started with using Vortex to efficiently exchange data across mobile, embedded, desktop, cloud and web applications, and (3) provides a series of best practices, patterns and idiom to get the best our of Vortex.
The only prerequisite to fully exploit this tutorial is a basic understanding of Java, C++ and JavaScript. Some knowledge of Scala and CoffeScript will be a plus.
OpenSplice DDS enables seamless, timely, scalable and dependable data sharing between distributed applications and network-connected devices. Its technical and operational benefits have propelled adoption across multiple industries, such as Defence and Aerospace, SCADA, Gaming, Cloud Computing, Automotive, etc.
If you want to learn about OpenSplice DDS or discover some of its advanced features, this webcast is for you!
In this two-parts webcast we will cover all the aspects tied to architecting and developing OpenSplice DDS systems. We will look into Quality of Services, data selectors concurrency and scalability concerns.
We will present the brand-new, and recently finalized, C++ and Java APIs for DDS, including examples of how this can be used with C++11 features. We will show how, increasingly popular, functional languages such as Scala can be used to efficiently and elegantly exploit the massive HW parallelism provided by modern multi-core processors.
Finally we will present some OpenSplice specific extensions for dealing very high-volumes of data – meaning several millions of messages per seconds.
The Data Distribution Service for Real-Time Systems (DDS) is an Object Management Group (OMG) standard for publish/subscribe designed to address the needs of a large class of mission- and business-critical distributed real-time systems and system of systems. The DDS standard was formally adopted in 2004 and in less than five years from its inception has experienced swift adoption in a wide variety of application domains. These application domains are characterized by the need to distribute high volumes of data with predictable low latencies, such as, Radar Processors, Flying and Land Drones, Combat Management Systems, Air Traffic Management, High Performance Telemetry, Large Scale Supervisory Systems, and Automated Stocks and Options Trading. Along with wide commercial adoption, the DDS Standard has been recommended and mandated as the technology for real-time data distribution by key administrations worldwide such as the US Navy, the DoD Information-Technology Standards Registry (DISR), the UK MoD, and EUROCONTROL.
This two-part Tutorial will cover most of the key aspects of DDS to ensure that you can proficiently start using it for designing or developing your next system. In brief this tutorial will get you jump-started into DDS.
PrismTech's Vortex platform provides seamless, ubiquitous, efficient and timely data sharing across mobile, embedded, desktop, cloud and web applications. Today Vortex is the enabling technology at the core the most innovative Internet of Things and Industrial Internet applications, such as Smart Cities, Smart Grids, and Smart Traffic.
This two part tutorial series (1) introduces the key concepts of Vortex, (2) gets you started with using Vortex to efficiently exchange data across mobile, embedded, desktop, cloud and web applications, and (3) provides a series of best practices, patterns and idioms to get the best out of Vortex.
The only prerequisite to fully exploit this tutorial is a basic understanding of Java, C++ and JavaScript. Some knowledge of Scala and CoffeScript will be a plus.
Reactive architectures are emerging as the way to build systems that are responsive, scalable, resilient and event-driven. In other terms, systems that deliver highly responsive user experiences with a real-time feel, that are scalable, resilient, and ready to be deployed on multicore and cloud computing architectures. The Reactive Manifesto (see http://www.reactivemanifesto.org/) captures the key traits that characterize reactive architectures.
The Data Distribution Service (DDS) incarnates the principles enumerated by the reactive manifesto and provides a very good platform for building reactive systems. In this webcast I will (1) introduce the key principles of Reactive Architectures, (2) explain the DDS features that are essential to build reactive systems, and (3) introduce some programming techniques that remove inversion of control while maintaining applications even-driven.
DDS is a very powerful technology built around a few simple and orthogonal concepts. If you understand the core concepts then you can really quickly get up to speed and start exploiting all of its power. On the other hand, if you haven’t grasped the key abstractions you might not be able to exploit all the benefits that DDS can bring.
This presentation provides you with an introduction to the core DDS concepts and illustrates how to program DDS applications. The new C++ and Java API will be explained and used throughout the webcast for coding examples thus giving you a chance to learn the new API from one of the main authors!
IoT Protocols Integration with Vortex GatewayAngelo Corsaro
Not all Consumer and Industrial Internet of Things (CIoT, IIoT) applications have the luxury of starting with blank sheet of paper and design the system ground-up. Often IoT features have to be built around existing systems designed using proprietary technologies or vertical standards. As a consequence the ability to easily integrate communication standards, proprietary protocols and data stores is key in accelerating the development of IoT capabilities.
This webcast will showcase how the Vortex Gateway can be used to easily integrate different communication standards, data stores as well as quickly develop connectors for proprietary technologies.
The Object Management Group (OMG) Data Distribution Service (DDS) and the OPC Foundation OLE for Process Control Unified Architecture (OPC-UA) are commonly considered as two of the most relevant technologies for data and information management in the Industrial Internet of Things. Although several articles and quotes on the two technologies have appeared on various medias in the past six months, there is still an incredible confusion on how the two technology compare and what’s their applicability.
This presentation, was motivated by the author's frustration with reading and hearing so many mis-conceptions as well as “apple-to-oranges” comparisons. Thus to contribute to clarity and help with positioning and applicability this webcast will (1) explain the key concepts behind DDS and OPC-UA and relate them with the reason why these technologies were created in the first place, (2) clarify the differences and applicability in IoT for DDS and OPC-UA, and (3) report on the ongoing standardisation activities that are looking at DDS/OPC-UA inter-working.
The OMG DDS standard has recently received an incredible level of attention and press coverage due to its relevance for Consumer and Industrial IoT applications and its adoption as part of the Industrial Internet Consortium Reference Architecture. The main reason for the excitement in DDS stems from its data-centricity, efficiency, Internet-wide scalability, high-availability and configurability.
Although DDS provides a very feature rich platform for architecting distributed systems, it focuses on doing one thing well — namely data-sharing. As such it does not provide first-class support for abstractions such as distributed mutual exclusion, distributed barriers, leader election, consensus, atomic multicast, distributed queues, etc.
As a result, many architects tend to devise by themselves – assuming the DDS primitives as a foundation – the (hopefully correct) algorithms for classical problems such as fault-detection, leader election, consensus, distributed mutual exclusion, distributed barriers, atomic multicast, distributed queues, etc.
This Webcast explores DDS-based distributed algorithms for many classical, yet fundamental, problems in distributed systems. By attending the webcast you will learn how recurring problems arising in the design of distributed systems can be addressed using algorithm that are correct and perform well.
OpenSplice DDS enables seamless, timely, scalable and dependable data sharing between distributed applications and network-connected devices. Its technical and operational benefits have propelled adoption across multiple industries, such as Defence and Aerospace, SCADA, Gaming, Cloud Computing, Automotive, etc.
If you want to learn about OpenSplice DDS or discover some of its advanced features, this webcast is for you!
In this two-parts presentation we will cover most of the aspects tied to architecting and developing OpenSplice DDS systems. We will look into Quality of Services, data selectors concurrency and scalability concerns.
We will present the brand-new, and recently finalized, C++ and Java APIs for DDS, including examples of how this can be used with C++11 features. We will show how, increasingly popular, functional languages such as Scala can be used to efficiently and elegantly exploit the massive HW parallelism provided by modern multi-core processors.
Finally we will present some OpenSplice specific extensions for dealing very high-volumes of data – meaning several millions of messages per seconds.
This presentations explains the foundations of Stream Processing and shows how elegant Stream Processing Architectures can be built by using in synergy DDS and CEP.
The Data Distribution Service (DDS) is a standard for efficient and ubiquitous data sharing built upon the concept of a, strongly typed, distributed data space. The ability to scale from resource constrained embedded systems to ultra-large scale distributed systems, has made DDS the technology of choice for applications, such as, Power Generation, Large Scale SCADA, Air Traffic Control and Management, Smart Cities, Smart Grids, Vehicles, Medical Devices, Simulation, Aerospace, Defense and Financial Trading.
This two part webcast provides an in depth introduction to DDS – the universal data sharing technology. Specifically, we will introduce (1) the DDS conceptual model and data-centric design, (2) DDS data modeling fundamentals, (3) the complete set of C++ and Java API, (4) the most important programming, data modeling and QoS Idioms, and (5) the integration between DDS and web applications.
After attending this webcast you will understand how to exploit DDS architectural features when designing your next system, how to write idiomatic DDS applications in C++ and Java and what are the fundamental patterns that you should adopt in your applications.
Connected Mobile and Web Applications with VortexAngelo Corsaro
The widespread availability of high-end mobile devices such as smart-phones, tablets and phablets, along with the availability of browser enabled devices, has imposed these platforms as one of the main target for user interfaces. As a result mobile and web applications need now to be easily “connected”to the rest of the system.
This presentations will (1) showcase how the the Vortex Data Sharing Platform can be effectively and productively used to create connected mobile and web-applications, (2) take you through the steps required to use Vortex in mobile and web applications.
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
This presentation introduces XRCE a new protocol for very efficiently distributing data in resource constrained (power, network, computation, and storage) environments. XRCE greatly improves the wire efficiency of existing protocol and in many cases provides higher level abstractions.
Micro services Architecture with Vortex -- Part IAngelo Corsaro
Microservice Architectures — which are the norm in some domains — have recently received lots of attentions in general computing and are becoming the mainstream architectural style to develop distributed systems. As suggested by the name, the main idea behind micro services is to decompose complex applications in, small, autonomous and loosely coupled processes communicating through a language and platform independent API. This architectural style facilitates a modular approach to system-building.
This webcast will (1) introduce the main principles of the Microservice Architecture, (2) showcase how the Global Data Space abstraction provided by Vortex ideally support thee microservices architectural pattern, and (3) walk you through the design and implementation of a micro service application for a real-world use case.
This presentation provides an overview of the initial submission to the OMG RFP on DDS Security. The presentation introduces the overall security model proposed for DDS and the protocols.
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXAngelo Corsaro
An increasing number of Software Architects are realising that data is the most important asset of a system and are staring to embrace the Data-Centric revolution (datacentricmanifesto.org) — setting data at the center of their architecture and modelling applications as “visitors” to the data. At the same time, architect have also realised that reactive architectures (reactivemanifesto.org) facilitates the design of scalable, fault-tolerant and high performance systems.
Yet, few architects have realised that reactive and data-centric architectures are the two sides to the same coin and should always go hand in hand.
This presentation shows how reactive data-centric systems can be designed and built taking advantage of Vortex data sharing capabilities along with its integration with reactive and data-centric processing technologies such as Apache Spark and ReactiveX.
Building Real-Time Web Applications with Vortex-WebAngelo Corsaro
The Real-Time Web is rapidly growing and as a consequence an increasing number of applications require soft-real time interactions with the server-side as well as with peer web applications. In addition, real-time web technologies are experiencing swift adoption in traditional systems as a means of providing portable and ubiquitously accessible thin client applications.
In spite of this trend, few high level communication frameworks exist that allow efficient and timely data exchange between web applications as well as with the server-side and the back-end system. Vortex Web is one of the first technologies to bring the powerful OMG Data Distribution Service (DDS) abstractions to the world of HTML5 / JavaScript applications. With Vortex Web, HTML5 / JavaScript applications can seamlessly and efficiently share data in a timely manner amongst themselves as well as with any other kind of device or system that supports the standard DDS Interoperability wire protocol (DDSI).
This presentation will (1) introduce the key abstractions provided by Vortex Web, (2) provide an overview of its architecture and explain how Vortex Web uses Web Sockets and Web Workers to provide low latency and high throughput, and (3) get you started developing real-time web applications.
Building and Scaling Internet of Things Applications with Vortex CloudAngelo Corsaro
Cloud Messaging is one of the most critical elements at the core of any Internet of Things and Industrial Internet application. The degree of efficiency and connectivity provided by the cloud messaging technology usually drives the overall efficiency and reach of the entire system.
Vortex Cloud is a Cloud Messaging implementation that targets public as well as private clouds and enables embedded, mobile, web, enterprise and cloud applications to efficiently and securely share data across the Internet. Vortex Cloud has been designed ground up to address easy of connectivity, wire-efficiency, scalability, elasticity and security.
This presentation will (1) introduce the Vortex Cloud architecture and explain how it provides elasticity and fault-tolerance, (2) explain the different deployment models supported for public-cloud, private-cloud and no-cloud (3) get you started developing a simple Internet of Things Application.
Vortex is a platform that provides seamless, ubiquitous, efficient and timely data sharing across mobile, embedded, desktop, cloud and web applications. Today Vortex is the enabling technology at the core the most innovative Internet of Things and Industrial Internet applications, such as Smart Cities, Smart Grids, and Smart Traffic.
This two parts tutorial (1) introduces the key concepts of Vortex, (2) gets you started with using Vortex to efficiently exchange data across mobile, embedded, desktop, cloud and web applications, and (3) provides a series of best practices, patterns and idiom to get the best our of Vortex.
The only prerequisite to fully exploit this tutorial is a basic understanding of Java, C++ and JavaScript. Some knowledge of Scala and CoffeScript will be a plus.
OpenSplice DDS enables seamless, timely, scalable and dependable data sharing between distributed applications and network-connected devices. Its technical and operational benefits have propelled adoption across multiple industries, such as Defence and Aerospace, SCADA, Gaming, Cloud Computing, Automotive, etc.
If you want to learn about OpenSplice DDS or discover some of its advanced features, this webcast is for you!
In this two-parts webcast we will cover all the aspects tied to architecting and developing OpenSplice DDS systems. We will look into Quality of Services, data selectors concurrency and scalability concerns.
We will present the brand-new, and recently finalized, C++ and Java APIs for DDS, including examples of how this can be used with C++11 features. We will show how, increasingly popular, functional languages such as Scala can be used to efficiently and elegantly exploit the massive HW parallelism provided by modern multi-core processors.
Finally we will present some OpenSplice specific extensions for dealing very high-volumes of data – meaning several millions of messages per seconds.
OpenSplice DDS v6 is a major leap forward with respect to the state of the art of DDS implementations; v6 is the first DDS implementation on the market to introduce (1) multiple deployment options, namely daemon-based and library-based, and (2) multiple programming paradigms, such as Pub/Sub, Distributed Object Caches and Client/Server, (3) universal connectivity to over 80 communication technologies via the new OpenSplice Gateway. All of this combined with an Open Source model, an active community and a strong technology ecosystem.
The Data Distribution Service (DDS) is a standard for efficient and ubiquitous data sharing built upon the concept of a, strongly typed, distributed data space. The ability to scale from resource constrained embedded systems to ultra-large scale distributed systems, has made DDS the technology of choice for applications, such as, Power Generation, Large Scale SCADA, Air Traffic Control and Management, Smart Cities, Smart Grids, Vehicles, Medical Devices, Simulation, Aerospace, Defense and Financial Trading.
This two part webcast provides an in depth introduction to DDS – the universal data sharing technology. Specifically, we will introduce (1) the DDS conceptual model and data-centric design, (2) DDS data modeling fundamentals, (3) the complete set of C++ and Java API, (4) the most important programming, data modeling and QoS Idioms, and (5) the integration between DDS and web applications.
After attending this webcast you will understand how to exploit DDS architectural features when designing your next system, how to write idiomatic DDS applications in C++ and Java and what are the fundamental patterns that you should adopt in your applications.
This paper provides a short introduction to the Open Source Model. It explains the most important aspects of Open Source Licensing as well as the Innovation Model at the foundation of Open Source.
OpenSplice.org is the forge hosting the OpenSplice DDS Open Source Project. This presentation goes into the details of how the community is managed, what are the processes behind release management as well as roadmap planning and technology incubators.
An increasing number of Consumer and Internet Internet of Things applications require some form of edge computing characterised by low latency, peer-to-peer communication, and mobility. Fog computing has recently emerged as the paradigm to address the needs of edge computing in IoT applications. Fog computing complements Cloud computing to allow the design and implementation of IoT systems that scale better, are more reactive and in which local communication and decision is enabled whenever possible.
This presentation introduces the key concepts behind Fog Computing, compare and contrast it with Cloud Computing and explain how the VORTEX platform enables Fog computing architectures.
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...Nati Shalom
Twitter is a good example for next generation real-time web applications, but building such an application imposes challenges such as handling an every growing volume of tweets and responses, as well as a large number of concurrent users, who continually *listen* for tweets from users (or topics) they follow. During this session we will review some of the key design principles addressing these challenges, including alternatives *NoSQL* alternatives and blackboard patterns. We will be using Twitter as a use case, while learning how to apply these to any real-time we application
Mobile platforms such as Android/iOS based smart phones, phablets , and tablets are swiftly establishing as the target client platform for a large class of consumer as well as enterprise and mission/business critical applications. OpenSplice Mobile is a pure Java DDS implementation optimized for Android and the JVM that provides effective and efficient DDS connectivity to Android based devices – as well as any JVM enabled device.
OpenSplice Mobile is the first peer-to-peer middleware infrastructure designed for Android that allow seamless interoperability with existing DDS systems and provides a powerful infrastructure for next generation peer-to-peer Android applications.
This presentation introduces OpenSplice Mobile, provides and overview of its architecture and performances and gets you started writing DDS applications for Android!
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingJaime Martin Losa
An extended, in-depth tutorial explaining how to fully exploit the standard's unique communication capabilities.Presented at the OMG June 2013 Berlin Meeting.
Users upgrading to DDS from a homegrown solution or a legacy-messaging infrastructure often limit themselves to using its most basic publish-subscribe features. This allows applications to take advantage of reliable multicast and other performance and scalability features of the DDS wire protocol, as well as the enhanced robustness of the DDS peer-to-peer architecture. However, applications that do not use DDS's data-centricity do not take advantage of many of its QoS-related, scalability and availability features, such as the KeepLast History Cache, Instance Ownership and Deadline Monitoring. As a consequence some developers duplicate these features in custom application code, resulting in increased costs, lower performance, and compromised portability and interoperability.
This tutorial will formally define the data-centric publish-subscribe model as specified in the OMG DDS specification and define a set of best-practice guidelines and patterns for the design and implementation of systems based on DDS.
Cloud Messaging is a key building block at the foundation of any Internet Scale native and web application. PrismTech’s Vortex Cloud provides an innovative solution to address the problems of efficiently and securely distributing data and raising events on an Internet Scale.
This presentation will (1) position Vortex Cloud with respect to some of the mainstream Cloud Messaging implementations, such as those found as part of the Microsoft Azure Platform, Amazon EC2, and the Google Cloud Platform (2) explain the unique features provided by Vortex Cloud, and (3) teach you how to get started writing native or web applications that leverage Vortex Cloud.
Why Dart?
Language features
JIT vs AOT
Dart on Docker
Functions Framework for Dart
Profiling and performance management
Other places you can learn more
Call to action - try out the Functions Framework Examples
Reactive Data Centric Architectures with DDSAngelo Corsaro
An increasing number of Software Architects realise that data is the most important asset of a system and start embracing the Data-Centric revolution (datacentricmanifesto.org) - setting data at the centre of their architecture and modelling applications as "visitors" to the data. At the same time, architects have also realised how reactive architectures (reactivemanifesto.org) facilitate the design of scalable, fault-tolerant and high performance systems. Few architects have yet realised how reactive and data-centric architectures are two sides of the same coin and as such should always go together. This presentation explains why reactive data-centric architecture is the future and how the OMG DDS Standard is uniquely positioned to support this paradigm shift. A series of case studies will highlight how the data-centric revolution is being applied in practice and what measurable benefits it is providing.
In early March, Harbour IT hosted a breakfast session in conjunction with VMware – “vForum Wrap – All the best bits from VMware’s vForum 2010”.
Held in both the Norwest and Sydney offices, local customers were given a VMware update from guest speaker, Bo Leksono. The presentation covered the latest VMware technology and the steps to follow on your journey to the cloud
The Windows Azure Platform (MSDN Events Series)Dave Bost
This presentation was delivered as part of the MSDN Events series of technical seminars and provides a deep dive into cloud computing and the Windows Azure Platform. It starts with a developer-focused overview of the Windows Azure Platform and the cloud computing services that can be used either together or independently to build highly scalable applications. From there, the discussion explores data storage, SQL Azure, and the basics of deployment with Windows Azure.
What is expected from Chief Cloud Officers?Bernard Paques
The new CxO is taking care of cloud computing for his company. Among his responsabilities: brand experience, go-to-market and business agility. What do these mean in terms of capabilities?
Presentation to the Robotics Task Force of the Object Management Group (OMG) introducing the members to the Data Distribution Service (DDS), another OMG-standard technology.
This was the opening presentation of the Zenoh Summit in June 2022. The presentation goes through the motivations that lead to the design of the zenoh protocol and provides an introduction of its core concepts. This is the place to start to understand why you should care about zenoh and the way in which is disrupts existing technologies.
The recording for this presentation is available at https://bit.ly/3QOuC6i
Zenoh is rapidly growing Eclipse project that unifies data in motion, data at rest and computations. It elegantly blends traditional pub/sub with geo distributed storage, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks. This presentation will provide an introduction to Eclipse Zenoh along with a crisp explanation of the challenges that motivated the creation of this project. We will go through a series of real-world use cases that demonstrate the advantages brought by Zenoh in enabling and optimising typical edge scenarios and in simplifying the development of any scale distributed applications.
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
A presentation give at the European H-Cloud Conference to motivate decentralisation as a mean to improve energy efficiency, privacy, and opportunity for monetisation for your digital footprint.
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
Unifies data in motion, data in-use, data at rest and computations.
It carefully blends traditional pub/sub with distributed queries, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
It provides built-in support for geo-distributed storages and distributed computations
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
This presentation introduces the key ideas behind zenoh -- an Internet scale data-centric protocol that unifies data-sharing between any kind of device including those constrained with respect to the node resources, such as computational resources and power, as well as the network.
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
This presentation introduces the key ideas behind zenoh -- an Internet scale data-centric protocol that unifies data-sharing between any kind of device including those constrained with respect to the node resources, such as computational resources and power, as well as the network.
Fog computing aims at providing horizontal, system-level, abstractions to distribute computing, storage, control and networking functions closer to the user along a cloud-to-thing continuum. Whilst fog computing is increasingly recognised as the key paradigm at the foundation of Consumer and Industrial Internet of Things (IoT), most of the initiatives on fog computing focus on extending cloud infrastructure. As a consequence, these infrastructure fall short in addressing heterogeneity and resource constraints characteristics of fog computing environments.
fog⌀5 (read as fog O-five or fog OS) is an Eclipse IoT Project that is building a fog computing infrastructure from first principle. In other terms, fog⌀5 has been designed to address the challenges induced by fog computing in terms of heterogeneity, decentralisation, resource constraints, geographical scale and security.
This webcast will introduce fog⌀5, motivate its architecture and building blocks as well as provide a demonstration of fog⌀5 provisioning applications that span from the cloud to the things.
The video recording for this presentation is available at https://www.youtube.com/watch?v=Osl3O5DxHF8
Making the right data available at the right time, at the right place, securely, efficiently, whilst promoting interoperability, is a key need for virtually any IoT application. After all, IoT is about leveraging access data – that used to be unavailable – in order to improve the ability to react, manage, predict and preserve a cyber-physical system.
The Data Distribution Service (DDS) is a standard for interoperable, secure, and efficient data sharing, used at the foundation of some of the most challenging Consumer and Industrial IoT applications, such as Smart Cities, Autonomous Vehicles, Smart Grids, Smart Farming, Home Automation and Connected Medical Devices.
In this presentation we will (1) introduce the Eclipse Cyclone DDS project, (2) provide a quick intro that will get you started with Cyclone DDS, (3) present a few Cyclone DDS use cases, and (4) share the Cyclone DDS development road-map.
Fog Computing is a paradigm that complements and extends cloud computing by providing an end-to-end virtualisation of computing, storage and communication resources. As such, fog computing allow applications to be transparently provisioned and managed end-to-end. This presentation first motivates the need for fog computing, then introduced fog05 the first and only Open Source fog computing platform!
RUSTing is not a tutorial on the Rust programming language.
I decided to create the RUSTing series as a way to document and share programming idioms and techniques.
From time to time I’ll draw parallels with Haskell and Scala, having some familiarity with one of them is useful but not indispensable.
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
The large majority of commercial IoT platforms target consumer applications and fall short in addressing the requirements characteristic of Industrial IoT. Vortex has always focused on addressing the challenges characteristic of Industrial IoT systems and with 2.4 release sets a the a new standard!
This presentation will (1) introduce the new features introduced in with Vortex 2.4, (2) explain how Vortex 2.4 addresses the requirements of Industrial Internet of Things application better than any other existing platform, and (3)showcase how innovative companies are using Vortex for building leading edge Industrial Internet of Things applications.
Fog computing has emerged as a new paradigm for architecting IoT applications that require greater scalability, performance and security. This talk will motivate the need to Fog Computing and explain what it is and how it differs from other initiatives in Telco such as Mobile/Multiple-Access Edge Computing.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
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.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
4. CopyrightPrismTech,2014
One Standard, One set of Tools, One Goal — Ubiquitous Data Sharing
The Vortex Platform
VORTEX
Web
VORTEX
Lite
VORTEX
Gateway
VORTEX
Cloud
Private
Clouds
VORTEX
Tools
• Insight
• Record/Replay
• Tuner
• Tester
• Configurator
OpenSplice
Enterprise
VORTEX
Café
6. CopyrightPrismTech,2014
Pure Java version of Vortex targeting JVM
and embedded JVMs
DDSI Protocol Stack optimised for mobility
and Android OS
Only DDS on the market designed and
Engineered for Android
Vortex Café
J2SE
DDSI$$
(Optimised*for*Mobility)*
DDS$API Java Scala JavaScript
7. CopyrightPrismTech,2014
Vortex Café has a Staged Event Driven Architecture (SEDA) that allows it to be
easily configured to trade off between throughput and latency
A Staged Event Driven Architecture
8. CopyrightPrismTech,2014
Decomposes a complex, event-driven application into a set of stages connected by
queues
Avoids the high overhead associated with thread-based concurrency models, and
decouples event and thread scheduling from application logic.
Through admission control on each event queue, SEDAs can be well-conditioned to
load, preventing resources from being overcommitted when demand exceeds service
capacity
SEDA
[Matt Welsh, David Culler, and Eric Brewer, SEDA:An Architecture for Well-Conditioned, Scalable Internet Services]
9. CopyrightPrismTech,2014
The Vortex Café architecture is organized
around three stages
Packet Processing
Message Processing
Data Processing
The channel that connect each stage can
be configured to be active or passive
Vortex Café Architecture
Packet
Processor
Message
Processor
Data
Processor
Network Packet
DDSI Messages
Cache Changes
10. CopyrightPrismTech,2014
Channels can be active or passive (and zero-copy).
That means that channels can be configured with
threading resources, or not
Messages posted in a passive channel are executed
in the context of the posting thread
This allows to configure Vortex Café to optimize the
use case at hand
Configurability
Processor
Channel
11. CopyrightPrismTech,2014
Single Thread per Message
Sample Configurations
Packet
Processor
Message
Processor
Data
Processor
Network Packet
DDSI Messages
Cache Changes
Fully Asynchronous
Packet
Processor
Message
Processor
Data
Processor
Network Packet
DDSI Messages
Cache Changes
12. CopyrightPrismTech,2014
Vortex Café is SEDA architecture as well as all the protocol parameters can be configured
through configuration file or via command line properties , i.e. providing -D options to the JVM
Configuration parameters are listed on the user manual
Example:
Configuration in Practice
java
-‐server
-‐cp
.:./target/vortex-‐cafe-‐demo-‐assembly-‐2.0.jar
-‐Ddds.listeners.useTransportThread=true
-‐Dddsi.writers.heartbeatPeriod=0.001
-‐Dddsi.writers.nackResponseDelay=0
-‐Dddsi.readers.heartbeatResponseDelay=0
-‐Dddsi.timer.threadPool.size=1
-‐Dddsi.receiver.threadPool.size=0
-‐Dddsi.dataProcessor.threadPool.size=0
-‐Dddsi.acknackProcessor.threadPool.size=0
-‐Dddsi.writers.reliabilityQueue.size=128
com.prismtech.cafe.demo.perf.RoundTripDemoReader
$*
14. CopyrightPrismTech,2014
• DomainParticipant: Provides access to a data cloud -- called a domain in DDS
• Topic: Domain-wide definition of a kind of Information
• Publisher/Subscriber: Provide scope to data sharing through the concept of partitions
• DataReader/DataWriter: Allow to read/write data for a given topic in the partitions their Subscriber/Publisher are
associated with.
DDS Entities
15. CopyrightPrismTech,2014
Brewing Vortex-Cafe
int
domain_id
=
18;
DomainParticipantFactory
dpf
=
DomainParticipantFactory.getInstance(env)
!
DomainParticipant
dp
=
dpf.createParticipant(domainId);
Topic<Post>
topic
=
dp.createTopic(“Post”,
Post.class);
struct
Post
{
string
name;
string
msg;
};
#pragma
keylist
Post
name
Publisher
pub
=
dp.createPublisher();
DataWriter<Post>
dw
=
pub.createDataWriter<Post>(topic);
dw.write(new
Post(“Barman”,
“Would
you
like
an
espresso?”);
Subscriber
sub
=
dp.createSubscriber();
DataReader<Post>
dr
=
sub.createDataReader<Post>(topic);
LoanedSamples<Post>
samples
=
dw.read();
16. CopyrightPrismTech,2014
Escalating Vortex-Cafe
val
topic
=
Topic[Post](“Post”) struct
Post
{
string
name;
string
msg;
};
#pragma
keylist
Post
name
val
dw
=
DataWriter[Post](topic)
dw
write(new
Post(“Barman”,
“Would
you
like
an
espresso?”)
val
dr
=
DataReader[Post](topic)
dr.listen
{
case
DataAvailable(_)
=>
dr.read.foreach(println(_.getData())
}
18. CopyrightPrismTech,2014
Android applications are written in the Java programming language
Support for native code is available, but this often leads to worse performance
(due to the JNI layer) and worse battery utilisation
Thus unless you have very good reasons not to, you are strongly encouraged to
write android applications in Java and to leverage on Java libraries!
Android Fundamentals
19. CopyrightPrismTech,2014
An Android application runs in its own JVM and (by default) on its own linux process
An application may be composed of the following elements:
- Activities: a single screen with a user interface
- Services: a component that runs in the background to perform long-running operations or to
perform work for remote processes.
- Content Providers: a component that manages shared data for a set of applications
- Broadcast Receivers: a component that responds to system-wide broadcast
announcements
Android allows any applications to start any other application component and potentially
consume the data it produces
Android Application in a Nutshell
20. CopyrightPrismTech,2014
Activities, Services and Broadcast Receivers are activated through an asynchronous
message, called Intent
For Activities and Services the intent specifies the action to perform
For Broadcast Receivers it specifies the event being broadcasted, e.g. battery-low
Component Activation
21. CopyrightPrismTech,2014
The manifest is an XML file containing several important information about the
application
Among, other things, the manifest includes the authorization necessary for your
application -- for instance, it is in this file that you have to mention that your
application requires access to the network, etc.
Application Manifest
24. CopyrightPrismTech,2014
Considering the Android application lifecycle, we should ask ourselves a few
questions:
When should we create DDS entities and who should hold a reference to them?
What happens when an application is no more visible?
Can I control when my application exits?
How do I deal with multi-threading?
DDS Considerations for Android
26. CopyrightPrismTech,2014
To learn how to write an Android
Application that uses Vortex Café
we’ll develop a very simple Chat
To keep things simple this chat will
have a single “chat room”
DDS Chat for Android
27. CopyrightPrismTech,2014
Our Chat application will have a very simple architecture with simply one
Activity that will take care of:
- Sending Posts into the ChatRoom
- Displaying Posts in the room since when we joined
In terms of information modelling, we’ll have a single topic representing the user
post
Step 1: Architecture
struct
Post
{
string
name;
string
msg;
};
#pragma
keylist
Post
name
28. CopyrightPrismTech,2014
Creating DDS entities, such as
DomainParticipants, DataReaders and
DataWriters involves network communication,
such as discovery information
In addition when an a DDS entity is destroyed it
looses its state
As such, tying the life-cycle of DDS entities to
activities should be done with great care
Step 2: Lifecycle Management[1/2]
29. CopyrightPrismTech,2014
In general, it is a better idea to tie the life-cycle of
DDS entities to the Application as opposed to
Activities
In some cases, it may make sense to tie the life-
cycle of DataReaders/DataWriters to that of the
activity that relies on them -- Usually this makes
sense for activities that are “one-off”
Step 2: Lifecycle Management[2/2]
30. CopyrightPrismTech,2014
Application
public class ChatApplication extends Application {!
!
DataReader<Post> dr;!
DataWriter <Post> dw;!
DomainParticipant dp;!
!
@Override!
public void onCreate() {!
super.onCreate();!
// This should be defined via a resource -- but for a small!
// demo that’s OK.!
System.setProperty(ServiceEnvironment.IMPLEMENTATION_CLASS_NAME_PROPERTY,!
"com.prismtech.cafe.core.ServiceEnvironmentImpl");!
ServiceEnvironment env = ServiceEnvironment.createInstance(!
ChatApplication.class.getClassLoader());!
DomainParticipantFactory dpf =!
DomainParticipantFactory.getInstance(env);!
!
dp = dpf.createParticipant(0);!
Topic<Post> topic = dp.createTopic("Post",Post.class);!
Publisher pub = dp.createPublisher();!
Subscriber sub = dp.createSubscriber();!
!
dw = pub.createDataWriter(topic);!
dr = sub.createDataReader(topic);!
}!
!
33. CopyrightPrismTech,2014
When using Vortex Café you need to grant the proper permissions for
networking:
More Manifest...
<uses-permission android:name="android.permission.INTERNET"/>!
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>!
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>!
36. CopyrightPrismTech,2014
Activity
1 !
2 public class MainActivity extends Activity {!
3 !
4 private static final String TAG = "ChatMainActivity";!
5 private final Handler handler = new Handler();!
6 private ArrayAdapter<String> chatMessages;!
7 !
8 public class ChatMessageListener extends ChatMessageDataListener { !
9 // ...!
10 }!
11 !
12 @Override!
13 protected void onCreate(Bundle savedInstanceState) {!
14 super.onCreate(savedInstanceState);!
15 setContentView(R.layout.activity_main);!
16 chatMessages = new ArrayAdapter<String>(this, R.layout.messages);!
17 chatMessages.add("Welcome to the DDS Chat Room");!
18 ListView mview = (ListView) findViewById(R.id.messageList);!
19 mview.setAdapter(chatMessages);!
20 ChatApplication app = (ChatApplication) getApplication();!
21 !
22 app.reader().setListener(new ChatMessageListener());!
23 !
24 }!
25
37. CopyrightPrismTech,2014
Activity
!
25 !
26 @Override!
27 public boolean onCreateOptionsMenu(Menu menu) {!
28 // Inflate the menu; this adds items to the action bar if it is present.!
29 getMenuInflater().inflate(R.menu.main, menu);!
30 return true;!
31 }!
39. CopyrightPrismTech,2014
Receiving data is a bit trickier since in Android only the thread that runs an
activity has the right to change the UI
This means, that from a DDS listener it is not possible to change an the UI
directly!
The solution is to use an Android Handler
to which we can post Runnable to
be executed by the activity thread
Let’s see how this works...
Receiving Data
40. CopyrightPrismTech,2014
DDS Listener & Android Handler
1 public class ChatMessageListener extends ChatMessageDataListener {!
2 !
3 private DataReader<Post> dr;!
4 !
5 public ChatMessageListener() {!
6 ChatApplication app = (ChatApplication) getApplication();!
7 dr = app.reader();!
8 }!
9 !
41. CopyrightPrismTech,2014
DDS Listener & Android Handler
10 @Override!
11 public void onDataAvailable(DataAvailableEvent<Post> dae) {!
12 final Iterator<Post> i = dr.read();!
13 !
14 Log.i(TAG, ">>> DataReaderListener.onDataAvailable");!
15 if (i.hasNext()) {!
16 Runnable dispatcher = new Runnable() {!
17 public void run() {!
18 while (i.hasNext()) {!
19 Sample<Post> s = i.next();!
20 !
21 if (s.getSampleState() == SampleState.NOT_READ) {!
22 Post cm = s.getData();!
23 chatMessages.add(cm.name + " > " + cm.msg);!
24 }!
25 }!
26 }!
27 };!
28 handler.post(dispatcher);!
29 }!
30 }!
31 }!
43. CopyrightPrismTech,2014
The Raspberry Pi is a low cost, credit-card
sized computer that plugs into a computer
monitor or TV, and uses a standard keyboard
and mouse
Raspberry Pi can interact with the outside
world, and is used in a wide array of digital
maker projects, from music machines and
parent detectors to weather stations and
tweeting birdhouses with infra-red cameras,
etc.
Raspberry Pi
44. CopyrightPrismTech,2014
Several Images are available nowadays, I tend to use Raspbian
To get started get the image from: http://www.raspberrypi.org/downloads/
Then copy the image on an SD card following instruct ructions available at http://
www.raspberrypi.org/documentation/installation/installing-images/
For MacOS X:
-‐ diskutil
list
[to
check
the
SD
card
/dev/diskN]
-‐ diskutil
unmontDisk
/dev/diskN
-‐ sudo
dd
bs=1m
if=2014-‐01-‐07-‐wheezy-‐raspbian.img
of=/dev/diskN
-‐ sudo
diskutil
eject
/dev/diskN
Raspberry Pi Image
45. CopyrightPrismTech,2014
Getting the Java JDK on raspberry is as easy as executing the following
command:
- sudo apt-get update
- sudo apt-get install oracle-java7-jdk [jdk8 is also available]
Getting Java on Raspberry
46. CopyrightPrismTech,2014
You can get Scala and SBT using curl:
- curl -O http://downloads.typesafe.com/scala/2.11.1/scala-2.11.1.tgz
- http://dl.bintray.com/sbt/native-packages/sbt/0.13.5/sbt-0.13.5.tgz
Then simply extract and properly set the PATH environment variable
Getting Scala and SBT
50. CopyrightPrismTech,2014
Vortex enable seamless, ubiquitous, efficient and timely data sharing across
mobile, embedded, desktop, cloud and web applications
It is the first platform to address the data-sharing needs of Business Critical IoT,
and Industrial Internet Systems
Vortex is fully interoperable with DDS compliant implementations
Concluding Remarks
51. CopyrightPrismTech,2014
Vortex v1.0 will be available in June 2014
Starting from May will be providing a series of webcasts to get you
started in building IoT and I2 applications with Vortex
What’s Next?