The document discusses engineering pervasive computing applications and aggregate computing. It provides an overview of relevant technologies for pervasive computing like message brokers, streaming platforms, databases and cluster managers. It then discusses aggregate computing as a way to program collective behavior of device aggregates. Key aspects of aggregate computing include compositional programming with reusable abstractions, adaptivity, resilience and flexibility. The document analyzes requirements for an aggregate computing platform to support application specification, execution at scale and reliability even with unreliable devices and infrastructure.
Aggregate Computing Platforms: Bridging the GapsRoberto Casadei
This presentation, held in the context of the CS & Eng M.D. course "Pervasive Computing" (Unibo, Cesena), drafts some analysis for an Aggregate Computing platform and suggests areas of investigation.
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...Roberto Casadei
The engineering of large-scale cyber-physical systems (CPS) increasingly relies on principles from self-organisation and collective computing, enabling these systems to cooperate and adapt in dynamic environments. CPS engineering also often leverages digital twins that provide synchronised logical counterparts of physical entities. In contrast, sensor networks rely on the different but related concept of virtual device that provides an abstraction of a group of sensors. In this work, we study how such concepts can contribute to the engineering of self-organising CPSs. To that end, we analyse the concepts and devise modelling constructs, distinguishing between identity correspondence and execution relationships. Based on this analysis, we then contribute to the novel concept of “collective digital twin” (CDT) that captures the logical counterpart of a collection of physical devices. A CDT can also be “augmented” with purely virtual devices, which may be exploited to steer the self-organisation process of the CDT and its physical counterpart. We underpin the novel concept with experiments in the context of the pulverisation framework of aggregate computing, showing how augmented CDTs provide a holistic, modular, and cyber-physically integrated system view that can foster the engineering of self-organising CPSs.
A Programming Framework for Collective Adaptive EcosystemsRoberto Casadei
On the thrust of recent technological trends, we can
envision a future where dense ecosystems of digitally empowered devices
continuously adapt and operate in our environments to provide services
both to humans and other systems. To achieve that, we arguably need to
move beyond what an individual device can provide and rather focus on
what collectives of devices can offer as a system. Aggregate Computing
is a recent, promising framework generalising over spatial computing
approaches that supports the development of collective adaptive systems
by global specifications. It builds on the framework of the field
calculus to bridge the local and global perspectives, express
collective computations in a compositional way, and formally analyse
them to derive guarantees.
In this presentation, we describe the key concepts and results, take a
look at the practical support for Aggregate Computing on the JVM
provided by scafi, and consider the main research directions on the topic.
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoTRoberto Casadei
On the way to the materialisation of the pervasive computing vision, the technological progress swelling from mobile computing and the Internet of Things (IoT) domain is already rich of missed opportunities. Firstly, coordinating large numbers of heterogeneous situated entities to achieve system-level goals in a resilient and self-adaptive way is complex and requires novel approaches to be seamlessly injected into mainstream distributed computing models. Secondly, achieving effective exploitation of computer resources is difficult, due to operational constraints resulting from current paradigms and uncomprehensive software infrastructures which hinder flexibility, adaptation, and smooth coordination of computational tasks execution. Indeed, building dynamic, context-oriented applications in small- or large-scale IoT with traditional abstractions is hard: even harder is to achieve opportunistic, QoS- and QoE-driven application task management across available hardware and networking infras- tructure. In this insight paper, we analyse by the collective adap- tation perspective the key directions of the impelling paradigm shift urged by forthcoming large-scale IoT scenarios. Specifically, we consider how collective abstractions and platforms can syner- gistically assist in such a transformation, by better capturing and enacting a notion of “collective service” as well as the dynamic, opportunistic, and context-driven traits of space-time-situated computations.
Tuple-Based Coordination in Large-Scale Situated SystemsRoberto Casadei
Space and time are key elements for many computer-based systems and often elevated to first-class abstractions. In tuple-based coordination, Linda primitives have been independently extended with space (with tuples and queries spanning spatial regions) or time information (mostly for tuple scoping). However, recent works in collective adaptive systems and aggregate computing show that space and time can naturally be considered as two intertwined facets of a common coordination abstraction for situated distributed systems. Accordingly, we introduce the Spatiotemporal Tuples model, a natural adaptation of Linda model for physically deployed large-scale networks. Unlike prior research, spatiotemporal properties – expressing where and when a tuple should range and has to be deposited/retrieved – naturally turn into specifications of collective adaptive processes, to be carried on in cooperation by the devices filling the computational environment, and sustaining tuple operations in a resilient way, possibly even in mobile and faulty environments. Additionally, the model promotes decentralised implementations where tuples actually reside where they are issued, which is good for supporting peer-to-peer and mobile ad-hoc networks as well as privacy. In this paper, we (i) present and formalise the Spatiotemporal Tuples model, based on the unifying notion of computational space-time structure, (ii) provide an implementation in the ScaFi aggregate computing framework, turning tuple operations into aggregate processes, and finally (iii) provide evaluation through simulation and a rescue case study.
A New Technique to Digital Image Watermarking Using DWT for Real Time Applica...IJERA Editor
Digital watermarking is an essential technique to add hidden copyright notices or secret messages to digital audio, image, or image forms. In this paper we introduce a new approach for digital image watermarking for real time applications. We have successfully implemented the digital watermarking technique on digital images based on 2-level Discrete Wavelet Transform and compared the performance of the proposed method with Level-1 and Level-2 and Level-3 Discrete Wavelet Transform using the parameter peak signal to noise ratio. To make the watermark robust and to preserve visual significant information a 2-Level Discrete wavelet transform used as transformation domain for both secret image and original image. The watermark is embedded in the original image using Alpha blending technique and implemented using Matlab Simulink.
Aggregate Computing Platforms: Bridging the GapsRoberto Casadei
This presentation, held in the context of the CS & Eng M.D. course "Pervasive Computing" (Unibo, Cesena), drafts some analysis for an Aggregate Computing platform and suggests areas of investigation.
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...Roberto Casadei
The engineering of large-scale cyber-physical systems (CPS) increasingly relies on principles from self-organisation and collective computing, enabling these systems to cooperate and adapt in dynamic environments. CPS engineering also often leverages digital twins that provide synchronised logical counterparts of physical entities. In contrast, sensor networks rely on the different but related concept of virtual device that provides an abstraction of a group of sensors. In this work, we study how such concepts can contribute to the engineering of self-organising CPSs. To that end, we analyse the concepts and devise modelling constructs, distinguishing between identity correspondence and execution relationships. Based on this analysis, we then contribute to the novel concept of “collective digital twin” (CDT) that captures the logical counterpart of a collection of physical devices. A CDT can also be “augmented” with purely virtual devices, which may be exploited to steer the self-organisation process of the CDT and its physical counterpart. We underpin the novel concept with experiments in the context of the pulverisation framework of aggregate computing, showing how augmented CDTs provide a holistic, modular, and cyber-physically integrated system view that can foster the engineering of self-organising CPSs.
A Programming Framework for Collective Adaptive EcosystemsRoberto Casadei
On the thrust of recent technological trends, we can
envision a future where dense ecosystems of digitally empowered devices
continuously adapt and operate in our environments to provide services
both to humans and other systems. To achieve that, we arguably need to
move beyond what an individual device can provide and rather focus on
what collectives of devices can offer as a system. Aggregate Computing
is a recent, promising framework generalising over spatial computing
approaches that supports the development of collective adaptive systems
by global specifications. It builds on the framework of the field
calculus to bridge the local and global perspectives, express
collective computations in a compositional way, and formally analyse
them to derive guarantees.
In this presentation, we describe the key concepts and results, take a
look at the practical support for Aggregate Computing on the JVM
provided by scafi, and consider the main research directions on the topic.
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoTRoberto Casadei
On the way to the materialisation of the pervasive computing vision, the technological progress swelling from mobile computing and the Internet of Things (IoT) domain is already rich of missed opportunities. Firstly, coordinating large numbers of heterogeneous situated entities to achieve system-level goals in a resilient and self-adaptive way is complex and requires novel approaches to be seamlessly injected into mainstream distributed computing models. Secondly, achieving effective exploitation of computer resources is difficult, due to operational constraints resulting from current paradigms and uncomprehensive software infrastructures which hinder flexibility, adaptation, and smooth coordination of computational tasks execution. Indeed, building dynamic, context-oriented applications in small- or large-scale IoT with traditional abstractions is hard: even harder is to achieve opportunistic, QoS- and QoE-driven application task management across available hardware and networking infras- tructure. In this insight paper, we analyse by the collective adap- tation perspective the key directions of the impelling paradigm shift urged by forthcoming large-scale IoT scenarios. Specifically, we consider how collective abstractions and platforms can syner- gistically assist in such a transformation, by better capturing and enacting a notion of “collective service” as well as the dynamic, opportunistic, and context-driven traits of space-time-situated computations.
Tuple-Based Coordination in Large-Scale Situated SystemsRoberto Casadei
Space and time are key elements for many computer-based systems and often elevated to first-class abstractions. In tuple-based coordination, Linda primitives have been independently extended with space (with tuples and queries spanning spatial regions) or time information (mostly for tuple scoping). However, recent works in collective adaptive systems and aggregate computing show that space and time can naturally be considered as two intertwined facets of a common coordination abstraction for situated distributed systems. Accordingly, we introduce the Spatiotemporal Tuples model, a natural adaptation of Linda model for physically deployed large-scale networks. Unlike prior research, spatiotemporal properties – expressing where and when a tuple should range and has to be deposited/retrieved – naturally turn into specifications of collective adaptive processes, to be carried on in cooperation by the devices filling the computational environment, and sustaining tuple operations in a resilient way, possibly even in mobile and faulty environments. Additionally, the model promotes decentralised implementations where tuples actually reside where they are issued, which is good for supporting peer-to-peer and mobile ad-hoc networks as well as privacy. In this paper, we (i) present and formalise the Spatiotemporal Tuples model, based on the unifying notion of computational space-time structure, (ii) provide an implementation in the ScaFi aggregate computing framework, turning tuple operations into aggregate processes, and finally (iii) provide evaluation through simulation and a rescue case study.
A New Technique to Digital Image Watermarking Using DWT for Real Time Applica...IJERA Editor
Digital watermarking is an essential technique to add hidden copyright notices or secret messages to digital audio, image, or image forms. In this paper we introduce a new approach for digital image watermarking for real time applications. We have successfully implemented the digital watermarking technique on digital images based on 2-level Discrete Wavelet Transform and compared the performance of the proposed method with Level-1 and Level-2 and Level-3 Discrete Wavelet Transform using the parameter peak signal to noise ratio. To make the watermark robust and to preserve visual significant information a 2-Level Discrete wavelet transform used as transformation domain for both secret image and original image. The watermark is embedded in the original image using Alpha blending technique and implemented using Matlab Simulink.
Recent developments in HPX and Octo-TigerPatrick Diehl
In this talk, we will briefly introduce the astrophysics application Octo-Tiger, which simulates the evolution of star systems based on the fast multipole method on adaptive Octrees. This application is the most advanced HPX application with CUDA and AMD acceleration card support. In the remaining talk, we will talk about the pure CUDA integration and the recently added Kokkos integration to support portability for heterogeneous acceleration cards, especially AMD GPUs. Here, we showcase some scaling results on ORNL's Summit and SCSC's PiZ Daint. Another aspect is performance profiling in asynchronous applications. Here, we recently added CUDA profiling to HPX's performance framework, APEX. Thus, we can collect distributed combined CPU and GPU profiling to analyze the performance of HPX and Octo-Tiger. Here, we show runs on Summit and Piz Daint to compare the performance on different architectures and GPUs. The final aspect is the overhead introduced by the performance framework. Here, we study the overhead introduced by the CPU only profiling and the much more expensive overhead added by the CUDA profiling.
FScaFi: A Core Calculus for Collective Adaptive Systems ProgrammingRoberto Casadei
A recently proposed approach to the rigorous engineering of collective adaptive systems is the aggregate computing paradigm, which operationalises the idea of expressing collective adaptive behaviour by a global perspective as a functional composition of dynamic computational fields (i.e., structures mapping a collection of individual devices of a collective to computational values over time). In this paper, we present FScaFi, a core language that captures the essence of exploiting field computations in mainstream functional languages, and which is based on a semantic model for field computations leveraging the novel notion of “computation against a neighbour”. Such a construct models expressions whose evaluation depends on the same evaluation that occurred on a neighbour, thus abstracting communication actions and, crucially, enabling deep and straightforward integration in the Scala programming language, by the ScaFi incarnation. We cover syntax and informal semantics of FScaFi, provide examples of collective adaptive behaviour development in ScaFi, and delineate future work.
Towards a Lightweight Multi-Cloud DSL for Elastic and Transferable Cloud-nati...Nane Kratzke
Cloud-native applications are intentionally designed for the cloud in order to leverage cloud platform features like horizontal scaling and elasticity – benefits coming along with cloud platforms. In addition to classical (and very often static) multi-tier deployment scenarios, cloud-native applications are typically operated on much more complex but elastic infrastructures. Furthermore, there is a trend to use elastic container platforms like Kubernetes, Docker Swarm or Apache Mesos. However, especially multi-cloud use cases are astonishingly complex to handle. In consequence, cloud-native applications are prone to vendor lock-in. Very often TOSCA-based approaches are used to tackle this aspect. But, these application topology defining approaches are limited in supporting multi-cloud adaption of a cloud-native application at runtime. In this paper, we analyzed several approaches to define cloud-native applications being multi-cloud transferable at runtime. We have not found an approach that fully satisfies all of our requirements. Therefore we introduce a solution proposal that separates elastic platform definition from cloud application definition. We present first considerations for a domain specific language for application definition and demonstrate evaluation results on the platform level showing that a cloud-native application can be transfered between different cloud service providers like Azure and Google within minutes and without downtime. The evaluation covers public and private cloud service infrastructures provided by Amazon Web Services, Microsoft Azure, Google Compute Engine and OpenStack.
Recognition and Detection of Real-Time Objects Using Unified Network of Faste...dbpublications
Region based proposals regularly depend on the features which are economical prudent derivation schemes. The proposed network includesa Region Proposal Network (RPN) which accepts a picture of any size as input and yields an arrangement of rectangular object recommendations, which includes an objectness score. The RPN is prepared end-to-end to produce great quality object recommendations, which are then utilized by Faster R-CNN for object recognition. Further the trained RPN is additionally converged with Faster R-CNN into a solitary system by sharing their convolutional highlights utilizing the as of late famous wording of neural systems with "attention" techniques and the RPN segment advises the brought together system where to look for the object in input. This strategy empowers a unified, profound learning region based proposals for object detection system. The scholarly RPN additionally enhances area proposition quality and accordingly increases the accuracy in object recognition.
These slides summarize the main trends in deep neural networks for video encoding. Including single frame models, spatiotemporal convolutionals, long term sequence modeling with RNNs and their combinaction with optical flow.
Recent studies on robustness of Convolutional Neural Networks (CNN) shows that CNNs are highly vulnerable towards adversarial attacks. Meanwhile, smaller sized CNN models with no signicant accuracy loss are being introduced to mobile devices. However, only the accuracy on standard datasets is reported along with such research. The wide deployment of smaller models on millions of mobile devices stresses importance of their robustness. In this research, we study how robust such models are with respect to state-of-the-art compression techniques such as quantization.
https://telecombcn-dl.github.io/2018-dlcv/
Deep learning technologies are at the core of the current revolution in artificial intelligence for multimedia data analysis. The convergence of large-scale annotated datasets and affordable GPU hardware has allowed the training of neural networks for data analysis tasks which were previously addressed with hand-crafted features. Architectures such as convolutional neural networks, recurrent neural networks and Q-nets for reinforcement learning have shaped a brand new scenario in signal processing. This course will cover the basic principles and applications of deep learning to computer vision problems, such as image classification, object detection or image captioning.
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
Constructing Operating Systems and E-CommerceIJARIIT
Information retrieval systems and the partition table, while essential in theory, have not until recently been considered important [15]. In fact, few theorists would disagree with the deployment of massive multiplayer online role-playing games, which embodies the robust principles of complexity theory. In this work we investigate how Smalltalk can be applied to the synthesis of lambda calculus.
In recent years, we are witnessing a growing interest in large-scale situated systems, such as those falling under the umbrella of pervasive computing, cyber-physical systems, and the Internet of Things. The actor model is a natural choice for designing and implementing such systems, thanks to the ability of actors to address distribution, autonomy of control, and asynchronous communication: namely, it is convenient to view the pervasive cyberspace as an environment densely inhabited by mobile embedded actors. But how can an actor-centric development approach be fruitfully used to engineer a complex coordination strategy, where a myriad of devices/actors performs adaptive distributed sensing/processing/acting?
Aggregate computing has been proposed as an emerging paradigm that faces this general problem by adopting a global, system-level stance, allowing to specify and functionally compose collective behaviours by operating on diffused data structures, known as “computational fields”. In this paper, we develop on the idea of integrating the actor model and aggregate computing, presenting a software framework where declarative global-level system specifications are automatically turned into an underlying system of Scala/Akka actors carrying on computation over the pervasive computing system.
Modeling and Simulation of Parallel and Distributed Computing Systems with Si...Rafael Ferreira da Silva
In this talk, I present an overview of three open source tools for enabling research and development of scientific workflow systems and applications:
- SimGrid: https://simgrid.org
- WRENCH: https://wrench-project.org
- WfCommons: https://wfcommons.org
Recent developments in HPX and Octo-TigerPatrick Diehl
In this talk, we will briefly introduce the astrophysics application Octo-Tiger, which simulates the evolution of star systems based on the fast multipole method on adaptive Octrees. This application is the most advanced HPX application with CUDA and AMD acceleration card support. In the remaining talk, we will talk about the pure CUDA integration and the recently added Kokkos integration to support portability for heterogeneous acceleration cards, especially AMD GPUs. Here, we showcase some scaling results on ORNL's Summit and SCSC's PiZ Daint. Another aspect is performance profiling in asynchronous applications. Here, we recently added CUDA profiling to HPX's performance framework, APEX. Thus, we can collect distributed combined CPU and GPU profiling to analyze the performance of HPX and Octo-Tiger. Here, we show runs on Summit and Piz Daint to compare the performance on different architectures and GPUs. The final aspect is the overhead introduced by the performance framework. Here, we study the overhead introduced by the CPU only profiling and the much more expensive overhead added by the CUDA profiling.
FScaFi: A Core Calculus for Collective Adaptive Systems ProgrammingRoberto Casadei
A recently proposed approach to the rigorous engineering of collective adaptive systems is the aggregate computing paradigm, which operationalises the idea of expressing collective adaptive behaviour by a global perspective as a functional composition of dynamic computational fields (i.e., structures mapping a collection of individual devices of a collective to computational values over time). In this paper, we present FScaFi, a core language that captures the essence of exploiting field computations in mainstream functional languages, and which is based on a semantic model for field computations leveraging the novel notion of “computation against a neighbour”. Such a construct models expressions whose evaluation depends on the same evaluation that occurred on a neighbour, thus abstracting communication actions and, crucially, enabling deep and straightforward integration in the Scala programming language, by the ScaFi incarnation. We cover syntax and informal semantics of FScaFi, provide examples of collective adaptive behaviour development in ScaFi, and delineate future work.
Towards a Lightweight Multi-Cloud DSL for Elastic and Transferable Cloud-nati...Nane Kratzke
Cloud-native applications are intentionally designed for the cloud in order to leverage cloud platform features like horizontal scaling and elasticity – benefits coming along with cloud platforms. In addition to classical (and very often static) multi-tier deployment scenarios, cloud-native applications are typically operated on much more complex but elastic infrastructures. Furthermore, there is a trend to use elastic container platforms like Kubernetes, Docker Swarm or Apache Mesos. However, especially multi-cloud use cases are astonishingly complex to handle. In consequence, cloud-native applications are prone to vendor lock-in. Very often TOSCA-based approaches are used to tackle this aspect. But, these application topology defining approaches are limited in supporting multi-cloud adaption of a cloud-native application at runtime. In this paper, we analyzed several approaches to define cloud-native applications being multi-cloud transferable at runtime. We have not found an approach that fully satisfies all of our requirements. Therefore we introduce a solution proposal that separates elastic platform definition from cloud application definition. We present first considerations for a domain specific language for application definition and demonstrate evaluation results on the platform level showing that a cloud-native application can be transfered between different cloud service providers like Azure and Google within minutes and without downtime. The evaluation covers public and private cloud service infrastructures provided by Amazon Web Services, Microsoft Azure, Google Compute Engine and OpenStack.
Recognition and Detection of Real-Time Objects Using Unified Network of Faste...dbpublications
Region based proposals regularly depend on the features which are economical prudent derivation schemes. The proposed network includesa Region Proposal Network (RPN) which accepts a picture of any size as input and yields an arrangement of rectangular object recommendations, which includes an objectness score. The RPN is prepared end-to-end to produce great quality object recommendations, which are then utilized by Faster R-CNN for object recognition. Further the trained RPN is additionally converged with Faster R-CNN into a solitary system by sharing their convolutional highlights utilizing the as of late famous wording of neural systems with "attention" techniques and the RPN segment advises the brought together system where to look for the object in input. This strategy empowers a unified, profound learning region based proposals for object detection system. The scholarly RPN additionally enhances area proposition quality and accordingly increases the accuracy in object recognition.
These slides summarize the main trends in deep neural networks for video encoding. Including single frame models, spatiotemporal convolutionals, long term sequence modeling with RNNs and their combinaction with optical flow.
Recent studies on robustness of Convolutional Neural Networks (CNN) shows that CNNs are highly vulnerable towards adversarial attacks. Meanwhile, smaller sized CNN models with no signicant accuracy loss are being introduced to mobile devices. However, only the accuracy on standard datasets is reported along with such research. The wide deployment of smaller models on millions of mobile devices stresses importance of their robustness. In this research, we study how robust such models are with respect to state-of-the-art compression techniques such as quantization.
https://telecombcn-dl.github.io/2018-dlcv/
Deep learning technologies are at the core of the current revolution in artificial intelligence for multimedia data analysis. The convergence of large-scale annotated datasets and affordable GPU hardware has allowed the training of neural networks for data analysis tasks which were previously addressed with hand-crafted features. Architectures such as convolutional neural networks, recurrent neural networks and Q-nets for reinforcement learning have shaped a brand new scenario in signal processing. This course will cover the basic principles and applications of deep learning to computer vision problems, such as image classification, object detection or image captioning.
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
Constructing Operating Systems and E-CommerceIJARIIT
Information retrieval systems and the partition table, while essential in theory, have not until recently been considered important [15]. In fact, few theorists would disagree with the deployment of massive multiplayer online role-playing games, which embodies the robust principles of complexity theory. In this work we investigate how Smalltalk can be applied to the synthesis of lambda calculus.
In recent years, we are witnessing a growing interest in large-scale situated systems, such as those falling under the umbrella of pervasive computing, cyber-physical systems, and the Internet of Things. The actor model is a natural choice for designing and implementing such systems, thanks to the ability of actors to address distribution, autonomy of control, and asynchronous communication: namely, it is convenient to view the pervasive cyberspace as an environment densely inhabited by mobile embedded actors. But how can an actor-centric development approach be fruitfully used to engineer a complex coordination strategy, where a myriad of devices/actors performs adaptive distributed sensing/processing/acting?
Aggregate computing has been proposed as an emerging paradigm that faces this general problem by adopting a global, system-level stance, allowing to specify and functionally compose collective behaviours by operating on diffused data structures, known as “computational fields”. In this paper, we develop on the idea of integrating the actor model and aggregate computing, presenting a software framework where declarative global-level system specifications are automatically turned into an underlying system of Scala/Akka actors carrying on computation over the pervasive computing system.
Modeling and Simulation of Parallel and Distributed Computing Systems with Si...Rafael Ferreira da Silva
In this talk, I present an overview of three open source tools for enabling research and development of scientific workflow systems and applications:
- SimGrid: https://simgrid.org
- WRENCH: https://wrench-project.org
- WfCommons: https://wfcommons.org
Presentation from Angular Sofia Meetup event focuses on integration between state-of-the-art Angular, component libraries and supporting technologies, necessary to build a scalable and performant single-page apps. Topics include:
- Composing NGRX Reducers, Selectors and Middleware;
- Computing derived data using Reselect-style memoization with RxJS;
- NGRX Router integration;
- Normalization/denormalization and keeping data locally in IndexedDB;
- Processing Observable (hot) streams of async actions, and isolating the side effects using @Effect decorator with NGRX/RxJS reactive transforms;
- Integration of Material Design with third party component libraries like PrimeNG;
- more: lazy loading, AOT...
Reactive Microservices with Spring 5: WebFlux Trayan Iliev
On November 27 Trayan Iliev from IPT presented “Reactive microservices with Spring 5: WebFlux” @Dev.bg in Betahaus Sofia. IPT – Intellectual Products & Technologies has been organizing Java & JavaScript trainings since 2003.
Spring 5 introduces a new model for end-to-end functional and reactive web service programming with Spring 5 WebFlow, Spring Data & Spring Boot. The main topics include:
– Introduction to reactive programming, Reactive Streams specification, and project Reactor (as WebFlux infrastructure)
– REST services with WebFlux – comparison between annotation-based and functional reactive programming approaches for building.
– Router, handler and filter functions
– Using reactive repositories and reactive database access with Spring Data. Building end-to-end non-blocking reactive web services using Netty-based web runtime
– Reactive WebClients and integration testing. Reactive WebSocket support
– Realtime event streaming to WebClients using JSON Streams, and to JS client using SSE.
A collision prevention warning system is an automobile safety system which enables vehicles to identify the chances of collision and give visual and audio warning to the driver so that the driver can take necessary action to avoid `a collision.
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...Roberto Casadei
Presentation of a paper accepted at the 4th Internetional Conference on Fog and Mobile Edge Computing (FMEC).
It discusses a decentralised, self-organising, spatial, collective approach to the development of edge-clouds/edge computing ecosystems.
On Context-Orientation in Aggregate ProgrammingRoberto Casadei
Context-awareness plays a central role in self-
adaptive software. By a programming perspective, context is
often used implicitly, and context-aware code is fragmented
in the codebase. In Context-Oriented Programming, instead,
context is considered a first-class citizen and is explicitly used
to modularise context-sensitive functionality and behavioural
variability. In this paper, we reflect on the role of context in
collective adaptive systems, by a discussion from the special
perspective of a macro paradigm, Aggregate Programming,
which supports the specification of collective behaviour by a
global perspective through functional compositions of field com-
putations. In particular, we consider the abstractions exposed in
Context-Oriented and Aggregate Programming, suggest potential
synergies in both directions, and accordingly take the first steps
towards a combined design.
Similar to Bridging the Pervasive Computing Gap: An Aggregate Perspective (20)
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Roberto Casadei
Large-scale and fully distributed cyber-physical sys-
tems (CPS), such as swarm robotics or IoT systems, pose
significant challenges for programming and design. These chal-
lenges include promoting the desired (emergent) collective and
self-organising behaviour, dealing with failures, enacting decen-
tralised coordination, and deploying efficient executions. Aggre-
gate computing is a promising approach that aims to simplify
the design of such systems by providing a high-level abstraction
for describing collective and self-organising behaviours. In this
tutorial, we introduce a toolchain that supports the development
of aggregate computing applications, based on ScaFi (a Scala-
based language and toolkit for aggregate computing) and Al-
chemist (a simulator for CPS scenarios). We will showcase the
toolchain by means of a series of examples, ranging from simple
collective behaviours to more complex self-adaptive and self-
organising ones. Finally, we provide several pointers to research
opportunities (e.g., related to learning collective behaviours
and adaptive large-scale deployments) and applications (e.g., in
swarm robotics, edge-cloud ecosystems, and more).
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...Roberto Casadei
Engineering self-organising systems – e.g., robot
swarms, collectives of wearables, or distributed infrastructures
– has been investigated and addressed through various kinds
of approaches: devising algorithms by taking inspiration from
nature, relying on design patterns, using learning to synthesise
behaviour from expectations of emergent behaviour, and exposing
key mechanisms and abstractions at the level of a programming
language. Focussing on the latter approach, most of the state-
of-the-art languages for self-organisation leverage a round-based
execution model, where devices repeatedly evaluate their context
and control program fully: this model is simple to reason about
but limited in terms of flexibility and fine-grained management
of sub-activities. By inspiration from the so-called functional
reactive paradigm, in this paper we propose a reactive self-
organisation programming approach that enables to fully decouple
the program logic from the scheduling of its sub-activities.
Specifically, we implement the idea through a functional reactive
implementation of aggregate programming in Scala, based on
the functional reactive library Sodium. The result is a functional
reactive self-organisation programming model, called FRASP,
that maintains the same expressiveness and benefits of aggregate
programming, while enabling significant improvements in terms
of scheduling controllability, flexibility in the sensing/actuation
model, and execution efficiency.
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...Roberto Casadei
Recent trends like the Internet of Things (IoT) suggest a vi-
sion of dense and multi-scale deployments of computing devices in nearly
all kinds of environments. A prominent engineering challenge revolves
around programming the collective adaptive behaviour of such compu-
tational ecosystems. This requires abstractions able to capture concepts
like ensembles (dynamic groups of cooperating devices) and collective
tasks (joint activities carried out by ensembles). In this work, we con-
sider collections of devices interacting with neighbours and that execute
in nearly-synchronised sense–compute–interact rounds, where the com-
putation is given by a single control program. To support programming
whole computational collectives, we propose the abstraction of a dis-
tributed collective process (DCP), which can be used to define at once
the ensemble formation logic and its collective task. We implement the
abstraction in the eXchange Calculus (XC), a core language based on
neighbouring values (maps from neighbours to values) where state man-
agement and interaction is handled through a single primitive, exchange.
Then, we discuss the features of the abstraction, its suitability for differ-
ent kinds of distributed computing applications, and provide a proof-of-
concept implementation of a wave-like process propagation.
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Roberto Casadei
The opportunities and challenges of recent and
forthcoming distributed computing scenarios have been promot-
ing research on languages and paradigms aimed at modelling the
macro/collective behaviour of systems as well as mechanisms to
endow them with self-* capabilities. One example is the aggregate
computing paradigm, which supports the development of self-
organising systems (e.g., robot swarms, computational ecosys-
tems, and crowd-based services) through various formalisms and
tools developed over a decade. However, very limited work has
been done by a methodological and automation perspective. In
this paper, we explore the issue of organising the development
process of aggregate computing systems. Accordingly, we outline
novel research directions that arise from careful analysis of
the peculiar issues in collective and self-organising systems, the
cornerstones of effective software engineering practices, and
recent scientific trends and insights.
Aggregate computing is a research topic that is addressed by multiple perspectives: computational models, programming languages, distributed adaptive algorithms, middleware architectures, formal analysis, tools.
Introduction to the 1st DISCOLI workshop on distributed collective intelligenceRoberto Casadei
The 1st DISCOLI workshop on DIStributed COLlective Intelligence is co-located with the 42nd IEEE International Conference on Distributed Computing Systems (ICDCS 2022) that will take place in Bologna, Italy, 10-13 July 2022.
Recent technological and scientific trends are promoting a vision where intelligence is more and more distributed and collective. Indeed, as computing and communication technologies are becoming increasingly pervasive, and complexity of systems is growing in terms of scale, heterogeneity, and interaction, hence the focus tends to shift from the intelligence of individual devices or agents to the collective intelligence (CI) emerging from a dynamic collection of diverse devices. Such intelligence would allow systems to address complex problems through proper coordination (e.g., cooperation or competition), to self-organise to promote functionality under changing environments, and to improve decision-making capabilities.
The workshop aims to provide a forum where researchers and practitioners can share and discuss fundamental concepts, models, and techniques for studying and implementing collectively intelligent distributed systems. Accordingly, it welcomes original research work providing ideas and technical contributions for promoting scientific discussion and practical adoption of CI mechanisms in engineered systems. As such, the workshop also welcomes cross-disciplinary contributions (e.g., extracting computational mechanisms from natural systems exhibiting forms of CI) and contributions from related research areas like coordination (the study of interaction), multi-agent systems (MAS), socio-technical systems, organisational paradigms, Wireless Sensor and Actuator Networks (WSANs), the Internet of Things (IoT), crowd computing, and swarm robotics.
The topics of interest include (but are not limited to) the following:
Algorithms for self-adaptive/self-organizing system behaviour
Algorithms of artificial collective intelligence (e.g., multi-agent reinforcement learning)
Techniques for task-specific collective intelligence
Extraction of collective knowledge in Internet of Things systems
Collaborations of humans and artificial agents in socio-technical systems
Formal models for computational collective intelligence
Design and verification of emergent properties in distributed systems
Coordination models and languages
Programming languages for distributed CI systems
Languages for multi-tier programming or macro-programming
CI for distributed wearable computing systems
Techniques for crowd computing systems and applications
Applications of distributed CI for smart environments (e.g., smart cities, smart buildings)
Tools for programming and simulation of multi-agent systems
6th eCAS workshop on Engineering Collective Adaptive SystemsRoberto Casadei
This is the presentation introducing the 6th eCAS workshop on Engineering Collective Adaptive Systems. It recaps its scope, provides data regarding this edition, provides an overview of the program and related initiatives.
Augmented Collective Digital Twins for Self-Organising Cyber-Physical SystemsRoberto Casadei
Context. Self-organising and collective computing
approaches are increasingly applied to large-scale cyber-physical
systems (CPS), enabling them to adapt and cooperate in dynamic
environments. Also, in CPS engineering, digital twins are often
leveraged to provide synchronised logical counterparts of physical
entities, whereas in sensor networks the different-but-related
concept of virtual device is used e.g. to abstract groups of sensors.
Vision. We envision the design concept of “augmented collective
digital twin” that captures digital twins at a collective level
extended with purely virtual devices. We argue that this concept
can foster the engineering of self-organising CPS by providing a
holistic, declarative, and integrated system view.
Method. From a review and proposed taxonomy of logical
devices comprehending both digital twins and virtual devices,
we reinterpret a meta-model for self-organising CPSs and discuss
how it can support augmented collective digital twins. We illus-
trate the approach in a crowd-aware navigation scenario, where
virtual devices are opportunistically integrated into the system
to enhance spatial coverage, improving navigation capabilities.
Conclusion. By integrating physical and virtual devices, the
novel notion of augmented collective digital twin paves the way
to self-improving system functionality and intelligent use of
resources in self-organising CPSs.
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...Roberto Casadei
Coordination is a fundamental problem in the
engineering of collective adaptive systems (CAS). Prominent
approaches in this context promote adaptivity and collective
behaviour by founding coordination on local, decentralised in-
teraction. This is usually enabled through abstractions such as
collective interfaces, neighbour-based interaction, and attribute-
based communication. Application designers, then, use such
coordination mechanisms to enact collective adaptive behaviour
in order to solve specific problems or provide specific services
while coping with dynamic environments. In this paper, we
consider the other way round: we argue that a CAS model can
be used to provide support for high-level coordination models,
simplifying their implementation and transferring to them the
self-* properties it emergently fosters. As a motivating example,
we consider the idea of supporting tuple-based coordination by
Linda primitives such that tuples and operations have a position
and extension in space and time. Then, we adopt an aggregate
perspective, by which space-time is logically represented by a
mobile ad-hoc network of devices, and show that coordination
primitives can be implemented as true collective adaptive pro-
cesses. We describe this model and a prototype implementation
in the ScaFi aggregate programming framework, which is rooted
in the so-called computational field paradigm.
Testing: an Introduction and Panorama
- what testing is
- perspectives on testing
- xUnit, TDD, acceptance testing
- pointers to more stuff about testing
Novel scenarios like IoT and smart cities promote
a vision of computational ecosystems whereby heterogeneous
collectives of humans, devices and computing infrastructure
interact to provide various services. There, autonomous agents
with different capabilities are expected to cooperate towards
global goals in dependable ways. This is challenging, as deployments are within unknown, changing and loosely connected environments characterized by lack of centralized control, where
components may come and go, or disruption may be caused by
failures. Key issues include (i) how to leverage, functionally and
non-functionally, forms of opportunistic computing and locality
that often underlie IoT scenarios; (ii) how to design and operate
large-scale, resilient ecosystems through suitable assumptions,
decentralized control, and adaptive mechanisms; and (iii) how
to capture and enact “global” behaviors and properties, when
the system consists of heterogeneous, autonomous entities. In
this paper, we propose a model for resilient, collaborative edge-
enabled IoT that leverages spatial locality, opportunistic agents,
and coordinator nodes at the edge. The engineering approach
is declarative and configurable, and works by dynamically
dividing the environment into collaboration areas coordinated
by edge devices. We provide an implementation as a collective, self-organizing workflow based on Aggregate Computing,
provide evaluation by means of simulation, and finally discuss
properties and general applicability of the approach.
Engineering distributed applications and services in emerg-
ing and open computing scenarios like the Internet of Things, cyber-physical systems and pervasive computing, calls for identifying proper abstractions to smoothly capture collective behaviour, adaptivity, and dynamic injection and execution of concurrent distributed activities. Accordingly, we introduce a notion of “aggregate process” as a concurrent
field computation whose execution and interactions are sustained by a dynamic team of devices, and whose spatial region can opportunistically vary over time. We formalise this notion by extending the Field Calculus with a new primitive construct, spawn, used to instantiate a set of field
computations and regulate key aspects of their life-cycle. By virtue of an open-source implementation in the ScaFi framework, we show basic programming examples and benefits via two case studies of mobile ad-hoc networks and drone swarm scenarios, evaluated by simulation.
Brief overview of the Rust system programming language. Provides a concise introduction of its basic features, with an emphasis on its memory safety features (ownership, moves, borrowing) and programming style with generic functions, structures, and traits.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
About
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Technical Specifications
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
Key Features
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface
• Compatible with MAFI CCR system
• Copatiable with IDM8000 CCR
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
Application
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxR&R Consult
CFD analysis is incredibly effective at solving mysteries and improving the performance of complex systems!
Here's a great example: At a large natural gas-fired power plant, where they use waste heat to generate steam and energy, they were puzzled that their boiler wasn't producing as much steam as expected.
R&R and Tetra Engineering Group Inc. were asked to solve the issue with reduced steam production.
An inspection had shown that a significant amount of hot flue gas was bypassing the boiler tubes, where the heat was supposed to be transferred.
R&R Consult conducted a CFD analysis, which revealed that 6.3% of the flue gas was bypassing the boiler tubes without transferring heat. The analysis also showed that the flue gas was instead being directed along the sides of the boiler and between the modules that were supposed to capture the heat. This was the cause of the reduced performance.
Based on our results, Tetra Engineering installed covering plates to reduce the bypass flow. This improved the boiler's performance and increased electricity production.
It is always satisfying when we can help solve complex challenges like this. Do your systems also need a check-up or optimization? Give us a call!
Work done in cooperation with James Malloy and David Moelling from Tetra Engineering.
More examples of our work https://www.r-r-consult.dk/en/cases-en/
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfKamal Acharya
The College Bus Management system is completely developed by Visual Basic .NET Version. The application is connect with most secured database language MS SQL Server. The application is develop by using best combination of front-end and back-end languages. The application is totally design like flat user interface. This flat user interface is more attractive user interface in 2017. The application is gives more important to the system functionality. The application is to manage the student’s details, driver’s details, bus details, bus route details, bus fees details and more. The application has only one unit for admin. The admin can manage the entire application. The admin can login into the application by using username and password of the admin. The application is develop for big and small colleges. It is more user friendly for non-computer person. Even they can easily learn how to manage the application within hours. The application is more secure by the admin. The system will give an effective output for the VB.Net and SQL Server given as input to the system. The compiled java program given as input to the system, after scanning the program will generate different reports. The application generates the report for users. The admin can view and download the report of the data. The application deliver the excel format reports. Because, excel formatted reports is very easy to understand the income and expense of the college bus. This application is mainly develop for windows operating system users. In 2017, 73% of people enterprises are using windows operating system. So the application will easily install for all the windows operating system users. The application-developed size is very low. The application consumes very low space in disk. Therefore, the user can allocate very minimum local disk space for this application.
Student information management system project report ii.pdfKamal Acharya
Our project explains about the student management. This project mainly explains the various actions related to student details. This project shows some ease in adding, editing and deleting the student details. It also provides a less time consuming process for viewing, adding, editing and deleting the marks of the students.
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Bridging the Pervasive Computing Gap: An Aggregate Perspective
1. Bridging the Pervasive Computing Gap
An Aggregate Perspective
Roberto Casadei
PhD Student in CS&Eng
roby.casadei@unibo.it
Department of Computer Science and Engineering (DISI)
Alma Mater Studiorum – Università of Bologna
Pervasive Computing 2018/19 MEng Course
R. Casadei Intro Technology: quick survey AC Wrap-up 1/52
3. Engineering apps
Outline
1 Intro
Engineering pervasive computing applications
2 Technology: quick survey
3 Aggregate Computing
AC: recap
Analysis for an Aggregate Computing Platform (ACP)
4 Wrap-up
R. Casadei Intro Technology: quick survey AC Wrap-up 3/52
4. Engineering apps
The starting point of any engineering process
A vision that must be made concrete / top-down or bottom-up
R. Casadei Intro Technology: quick survey AC Wrap-up 4/52
5. Engineering apps
Applications as the interface to the needs
Abstractly defined until some concrete underlying technology is identified
R. Casadei Intro Technology: quick survey AC Wrap-up 5/52
6. Engineering apps
End-to-end development of IoT Systems
Three key issues:
1) Applications—i.e., the business logic
2) Middleware—i.e., reducing the abstraction gap
3) Operations—i.e., configuration and deployment
R. Casadei Intro Technology: quick survey AC Wrap-up 6/52
7. Engineering apps
PC Middlewares [RCKZ13] I
Pervasive Computing (PvC) aims to create a smart environment with embedded
and networked computing devices providing users with seamless service access
Key point: seamless service access
Key point: human-centricity
Middleware: SW and tools that can help hide the complexity and heterogeneity
of the underlying HW and network platforms, can ease the management of
system resources, and can increase the predictability of application executions.
Goal of PvC middleware: match application-needs with available resources,
while ensuring quality and efficiency
R. Casadei Intro Technology: quick survey AC Wrap-up 7/52
9. Engineering apps
IoT Patterns for Edge [QPR+
16] » Edge Provisioning
Problem: how to ensure all edge devices are started with a reliable baseline
environment, as needed?
R. Casadei Intro Technology: quick survey AC Wrap-up 9/52
10. Engineering apps
IoT Patterns for Edge [QPR+
16] » Edge Code Deployment
Problem: how to deploy code to many IoT devices automatically, quickly, safely, and
configure them without a long process of build/deployment/test/release?
R. Casadei Intro Technology: quick survey AC Wrap-up 10/52
11. Engineering apps
IoT Patterns for Edge [QPR+
16] » Edge Orchestration
Problem: How can we orchestrate IoT devices in accordance with their tightly
scripted configurations as node of a cluster remotely?
R. Casadei Intro Technology: quick survey AC Wrap-up 11/52
13. Technologies
Message-Oriented Middlewares
Why: decoupling consumers from producers (in both space and time)
Examples: RabbitMQ, Kafka
Streaming
Why: need for continuous processing, as long as data is being produced
Types of datasets: un/bounded — processing: batch vs. streaming
Examples: Kafka, Apache Flink, Apache Storm (+ Trident)
NoSQL and spatial data stores
Why: dealing with situated mobile objects, neighbourhoods, locality..
Examples: Redis (geospatial indexes), Neo4J (graph DB + Spatial plugin),
PostGIS (spatial/geographical objects for PostgreSQL)
Automated cluster management
Why: abstract resources & support distributed/fault-tolerant/elastic deployments
Examples: Apache Mesos (+ Marathon), Docker (+ Swarm), Kubernetes
R. Casadei Intro Technology: quick survey AC Wrap-up 13/52
20. Lightbend Fast Data Platform
R. Casadei Intro Technology: quick survey AC Wrap-up 20/52
21. Choosing the set of technologies
Recipe
Start from the problem
Structure–Interaction–Behaviour
Distinguish logical vs. physical
What non-functional requirements?
Identify an architecture
Identify the abstractions you need
Use imagination: “how may I express X assuming to already have an API/platform?”
Study the tools—what abstractions do they provide?
Meet in the middle from top-down and bottom-up
R. Casadei Intro Technology: quick survey AC Wrap-up 21/52
22. Recap ACP Analysis
Outline
1 Intro
2 Technology: quick survey
3 Aggregate Computing
AC: recap
Analysis for an Aggregate Computing Platform (ACP)
4 Wrap-up
R. Casadei Intro Technology: quick survey AC Wrap-up 22/52
23. Recap ACP Analysis
Aggregate Computing: bridging the gap to SASO systems
Supports the development and execution of Aggregate Computing applications
R. Casadei Intro Technology: quick survey AC Wrap-up 23/52
24. Recap ACP Analysis
Outline
1 Intro
Engineering pervasive computing applications
2 Technology: quick survey
3 Aggregate Computing
AC: recap
Analysis for an Aggregate Computing Platform (ACP)
4 Wrap-up
R. Casadei Intro Technology: quick survey AC Wrap-up 24/52
25. Recap ACP Analysis
Aggregate Computing (AC) » what
Goal: programming the collective behaviour of aggregates of devices
Main ideas
Macro-level programming with automatic macro-micro bridging
Declarativity
Support for “engineered emergence”
Composition of aggregate behaviour with predictable dynamics
Layers of reusable abstractions
Abstraction from interaction-level and platform-level issues
Inherent adaptivity
Inherent resiliency
Operational flexibility
R. Casadei Intro Technology: quick survey AC Wrap-up 25/52
26. Recap ACP Analysis
Compositionality in AC: example
trait DistributedSum extends AggregateProgram {
def distribMean(size:Double, metric: =>Double, v:Double): Double = {
???
}
}
trait Broadcast extends BlockG with ... { s: AggregateProgram =>
def broadcast[V: Bounded](src: Boolean, value: V): V =
G(src, value)(x => x, nbrRange)
}
trait SumCollect extends BlockC with ... { s: AggregateProgram =>
def sumCollect(target: Boolean, value: Double): Double =
C(value)(distanceTo(target,nbrRange))(_+_,0)
}
:
Distributed sum
Split the space into regions with grain size
Calculate the mean of field v in each region
Collect the values and the number of nodes in the region
Compute the average
Propagate the computed value
R. Casadei Intro Technology: quick survey AC Wrap-up 26/52
27. Recap ACP Analysis
Compositionality in AC: example
trait DistributedSensing extends AggregateProgram
with BlockG with BlockC with BlockS
with Broadcast with SumCollect with Utilities
{
def distribMean(size:Double, metric: =>Double, v:Double): Double = {
val leaders = S(size, metric)
???
}
}
:
R. Casadei Intro Technology: quick survey AC Wrap-up 26/52
28. Recap ACP Analysis
Compositionality in AC: example
trait DistributedSensing extends AggregateProgram
with BlockG with BlockC with BlockS
with Broadcast with SumCollect with Utilities
{
def distribMean(size:Double, metric: =>Double, v:Double): Double = {
val leaders = S(size, metric)
val potential = distanceTo(leaders, metric)
???
}
}
:
R. Casadei Intro Technology: quick survey AC Wrap-up 26/52
29. Recap ACP Analysis
Compositionality in AC: example
trait DistributedSensing extends AggregateProgram ... with SumCollect {
def distribMean(size:Double, metric: =>Double, v:Double): Double = {
val leaders = S(size, metric)
val potential = distanceTo(leaders, metric)
val collection = sumCollect(leaders, v)
val count = sumCollect(leaders, 1.0)
val avg = collection / count
}
}
:
R. Casadei Intro Technology: quick survey AC Wrap-up 26/52
30. Recap ACP Analysis
Compositionality in AC: example
trait DistributedSensing extends AggregateProgram ... with Broadcast {
def distribMean(size:Double, metric: =>Double, v:Double): Double = {
val leaders = S(size, metric)
val potential = distanceTo(leaders, metric)
val collection = sumCollect(leaders, v)
val count = sumCollect(leaders, 1.0)
val avg = collection / count
broadcast(leaders, avg)
}
}
:
R. Casadei Intro Technology: quick survey AC Wrap-up 26/52
31. Recap ACP Analysis
Aggregate Computing (AC) » how
Repeated execution
Provides reactivity and incremental adaptivity
Broadcast + aligned interaction
Allows the construction of a “local” context for computation
R. Casadei Intro Technology: quick survey AC Wrap-up 27/52
32. Recap ACP Analysis
Outline
1 Intro
Engineering pervasive computing applications
2 Technology: quick survey
3 Aggregate Computing
AC: recap
Analysis for an Aggregate Computing Platform (ACP)
4 Wrap-up
R. Casadei Intro Technology: quick survey AC Wrap-up 28/52
33. Recap ACP Analysis
Requirements for an Aggregate Computing platform
High-level, Functional
FR1 Support the specification and configuration of AGGREGATE-SYSTEMs
FR2 Support the runtime execution of AGGREGATE-APPLICATIONs
High-level, Non-functional
NR1 Scalability to a large number of NODEs
NR2 Reliability
An AGGREGATE-SYSTEM made of unreliable INFRASTRUCTURAL-COMPONENTs and
unreliable NODEs should be able to continue operation even in face of faults.
R. Casadei Intro Technology: quick survey AC Wrap-up 29/52
34. Recap ACP Analysis
Requirements analysis
Approach: informal but systematic (Cartesian)
Give names to things
Refine meaning and relationships
Explore in (mentally simulated) use, adopt perspectives and visualize
(Then, formalize early, when enough committed)
AGGREGATE-LOGIC: the representation-independent view of some
aggregate-level behaviour in space/time
AGGREGATE-PROGRAM: an AGGREGATE-LOGIC expressed in some executable
representation
AGGREGATE-APPLICATION: AGGREGATE-LOGIC + APP-CONFIGURATION
AGGREGATE-SYSTEM: a set of networked NODEs supporting the collective
execution of AGGREGATE-APPLICATIONs
R. Casadei Intro Technology: quick survey AC Wrap-up 30/52
35. Recap ACP Analysis
High-level, logical, informal model
Starting point for a systematic characterisation of our (fuzzy) class of systems
We think of no specific application/system, but a range of applications/systems
to support/drive analysis and be concrete
R. Casadei Intro Technology: quick survey AC Wrap-up 31/52
36. Recap ACP Analysis
Structure / Interaction / Behaviour decomposition
(Logical) Structure
DEVICEs (aka NODEs, AGENTs)
Have an identity (UID)
Have SENSORs and ACTUATORs
(Logical) Behaviour/Interaction
A DEVICE can only directly communicate with the DEVICEs of its
NEIGHBOURHOOD
A DEVICE computes its part of AGGREGATE-LOGIC on a round-by-round basis
Steps of a round of execution
1) Retrieve the device’s CONTEXT (SENSOR-DATA, NBR-DATA)
2) Execute LOCAL-AGGREGATE-LOGIC to produce OUTPUT + EXPORT
3) Broadcast EXPORT to NEIGHBOURHOOD
4) Feed ACTUATORS with OUTPUT
This characterization is mainly logical and “standard”
Many questions arise: who? what? where? when? how?
R. Casadei Intro Technology: quick survey AC Wrap-up 32/52
37. Recap ACP Analysis
Analysis » execution rounds I
SCHEDULING-POLICY: who decides when a round has to be executed?
A SCHEDULER (owned by a device or external)
Construction of the CONTEXT using up-to-date SENSOR-DATA and NBR-DATA
Ideally, we’d like to separate the time/frequency in which these information are
collected from the time in which they are received
Retrieval of SENSOR-DATA: request/response to device’s SENSOR or sampling of
an incoming SENSOR-DATA-STREAM
Note: location data (e.g., GPS coords) may need to be sent to the
TOPOLOGY-MANAGER
Retrieval of NBR-DATA: request/response to a FIELD-MANAGER or sampling of an
incoming NBR-DATA-STREAM
Who actually executes the AGGREGATE-LOGIC for a given DEVICE?
An AGGREGATE-LOGIC-EXECUTOR (owned by a device or external)
R. Casadei Intro Technology: quick survey AC Wrap-up 33/52
38. Recap ACP Analysis
Analysis » execution rounds II
Broadcast of EXPORT to NEIGHBOURHOOD
By the DEVICE itself (if it knows how to reach its NEIGHBOURHOOD)
But the DEVICE’s awareness of communication is questionable
“No matter who you are! I know where you are” [ZM04]
The DEVICE may simply send its computation descriptors (EXPORTs) to the
FIELD-MANAGER
The FIELD-MANAGER in turn may delegate the task to an EXPORT-PROPAGATOR
which must then know the NEIGHBOURHOODs and how to reach them
Invocation of ACTUATORs
In general, we may have ACTUATION-DATA-STREAMs directed to ACTUATORs
which may be controlled by (but still decoupled from) rounds.
R. Casadei Intro Technology: quick survey AC Wrap-up 34/52
39. Recap ACP Analysis
Analysis » neighbourhood
NBR-POLICY: how is NEIGHBOURHOOD determined?
May be communication-determined (i.e., my neighbours are those I can reach)
May be spatially-determined (i.e., derived from the devices’ position in space)
May be ad-hoc (i.e., application-specific)
Who owns the knowledge of a device’s NEIGHBOURHOOD?
A TOPOLOGY-MANAGER (owned by a device or external)
Who uses the knowledge of a device’s NEIGHBOURHOOD?
The EXPORT-PROPAGATOR
Properties of NEIGHBOURHOOD
It is usually dynamic
Can be asymmetric
R. Casadei Intro Technology: quick survey AC Wrap-up 35/52
40. Recap ACP Analysis
Analysis » configuration
How do components locate (the address of) other components?
DEVICEs should be addressable to support e.g. peer-to-peer interaction or the
the delivery of ACTUATION-DATA
The mappings between DEVICEs’ UIDs and their ADDRESS may be kept in a
REGISTRY
Devices should also be given some CONFIGURATION data – so that they know the
ADDRESS of required services
How do AGGREGATE-LOGIC-EXECUTOR obtain the AGGREGATE-LOGIC to execute?
Can be provided at deployment or configuration time
R. Casadei Intro Technology: quick survey AC Wrap-up 36/52
41. Recap ACP Analysis
Logical components emerging from analysis (dev-centric)
It comes natural to assign many responsibilities to the DEVICEs (cf., p2p setup)..
R. Casadei Intro Technology: quick survey AC Wrap-up 37/52
42. Recap ACP Analysis
Logical components emerging from analysis (sys-centric)
It comes natural to consider DEVICEs only as situated contexts..
R. Casadei Intro Technology: quick survey AC Wrap-up 38/52
43. Recap ACP Analysis
Many kinds of deployments
Such flexibility demands for fluid responsibilities
R. Casadei Intro Technology: quick survey AC Wrap-up 39/52
44. Recap ACP Analysis
The data perspective
Data payloads
SENSOR-DATA: map from sensor UIDs to sensor values
ACTUATION-DATA: map from actuator UIDs to actuation values
NBR-DATA (i.e., EXPORTS): map from neighbour UIDs to exports
CONTEXT-DATA = SENSOR-DATA + NBR-DATA
Control data
SCHEDULE-DATA (i.e., TICKs)
...
Configuration data
Deployment data, addresses, ...
...
Analysis from a data (flow) perspective
» On an app-specific basis, analysis of Volume-Velocity-Variety-Veracity
» Further analysis: persistent vs. transient data
» Further analysis: replication, partitioning, ...
» Analysis of data flow can help architectural design (cf., reactive architectures)
R. Casadei Intro Technology: quick survey AC Wrap-up 40/52
46. Summary: key ideas
Pervasive Computing Platforms
PervComp needs platforms/middlewares to reduce the abstraction gap!
Aggregate Computing
• A macro-programming approach to CASs, formally grounded in Field Calculus
• Allows composition of (self-stabilizing) SASO patterns
• Is a fully operational approach that requires proper tooling
=⇒ SCAFI: a Scala framework for Aggregate Programming
• Provides an internal DSL for field-based computations
• Provides simulation facilities
• Provides an actor-based platform for building aggregate systems
• The abstract model is decoupled from the execution strategy
• Developing a flexible platform for AC is not easy
R. Casadei Intro Technology: quick survey AC Wrap-up 42/52
47. Aggregate Computing » Food for thought
1 Spatial Computing interpretation—Aggregate Systems as approximation of
space/environment; programs can be used to analyse or manipulate such space.
2 Programming ecosystems—expressing global laws to regulate the dynamics of
large-scale, situated, heterogeneous systems.
3 Context-oriented perspective—Devices can be seen as “contextual probes”;
programs can be used to reify contexts at different levels (from local to global).
4 Aggregate applications and system details—aggregate programs “assume” a
certain execution model and neighbouring relationship; how much can we stretch
such notions still preserving our properties of interest? how much can/should we
hide them?
5 Human-Robot systems—how may we use aggregate specifications to also
integrate humans in collective activities?
Conciliate autonomy and prescription
Handling unpredictability
6 Non-situated systems—can Aggregate Computing be still useful for
non-situated/spatial systems?
R. Casadei Intro Technology: quick survey AC Wrap-up 43/52
48. Perspectives, projects, future works I
Aggregate Computing is a huge effort that deals with several aspects & challenges!
Note: you have multiple choices
You have multiple choice on the style of the activity and level of engagement:
Course ←→ Thesis
Engineering ←→ Research
General ←→ Specific
Novelty, investigation ←→ Well-known challenges
Your activity may touch one or more of the following fields:
Mathematics
Complex Systems
Distributed algorithms
Programming languages/paradigms
Software engineering
Simulation
Devops
Computer security
Read carefully these slides and contact us for any doubt.
Feel free to ask or propose the kind of activity you prefer.
R. Casadei Intro Technology: quick survey AC Wrap-up 44/52
49. Perspectives, projects, future works II
Past projects
Actor-based SCAFI platform bootstrap
Support for a CI process in SCAFI
Improved support for distribution in SCAFI platform
SCAFI-Alchemist integration
Addition of mobility actuators in the SCAFI simulator to support e.g. flocking
Anticipative Gradient algorithm
SCAFI on Android
R. Casadei Intro Technology: quick survey AC Wrap-up 45/52
50. Perspectives, projects, future works III
Algorithms and SCAFI library
Testing of algorithms through simulations
Design of novel algorithms or implementation of “better” variants
E.g., flocking
SW engineering (AC as a case study)
Analysis/design and impl/refactoring of an AC Platform (Scala)
Scafi Simulator
Extensions to the ScaFi simulator
Extension of simulator GUI to support 3D simulations
Distributed simulations in a cluster
Analysis of a complete, flexible middleware solution for AC systems
Devops: IoT/Edge deployment of aggregate applications (containers)
R. Casadei Intro Technology: quick survey AC Wrap-up 46/52
51. Perspectives, projects, future works IV
Integration and applications
Web/RESTful interfaces to AC systems (à la WoT)
AC and IoT/Edge/Cloud Computing
AC and IoT platforms
Development of a custom PaaS for AC
Comparative study of IoT/PervComp middlewares and platforms
Prototyping a scalable AC cluster with open-source solutions
Reactive AC architecture
Fields like Big Data and NoSQL solutions
R. Casadei Intro Technology: quick survey AC Wrap-up 47/52
52. Perspectives, projects, future works V
Innovative themes and experiments
AC and computer security, trust, privacy
Aggregate processes
AC and context-oriented programming
AC and service choreographies (cf., Jolie, Chor)
AC and social networks
AC and complex networks
AC and topological methods (math-oriented)
Miscellaneous
Comparing AC to BSP-based graph processing systems (Pregel/Giraph)
Missing something? Provide your own ideas!
R. Casadei Intro Technology: quick survey AC Wrap-up 48/52
53. Application scenarios
Crowd engineering
Distributed sensing
Contextual services
Smart city (e.g., intelligent lighting)
Smart building
Industry 4.0
WSNs
Swarm intelligence (robots, drones)
Rescue scenarios
R. Casadei Intro Technology: quick survey AC Wrap-up 49/52
54. Project examples
1 Middleware—Analyse the problem of providing flexible cloud/flog/edge
middleware support for Aggregate Computing applications. Identify the key
general concerns, abstractions, non-functional requirements that might arise in
some application scenarios.
2 3DSim—Develop a prototype of a 3D Simulator for Aggregate Systems on the
JVM.
3 Edge—Study how Aggregate Computing techniques can be used to orchestrate
task scheduling in Edge Computing scenarios.
4 Flocks—Extend the ScaFi standard library with high-level flocking capabilities,
and provide nice demos.
5 Processes—Experiment with the process-oriented API of Scafi, and contribute
with additions and demos.
R. Casadei Intro Technology: quick survey AC Wrap-up 50/52
55. References
References I
[QPR+
16] Soheil Qanbari, Samim Pezeshki, Rozita Raisi, Samira Mahdizadeh,
Rabee Rahimzadeh, Negar Behinaein, Fada Mahmoudi, Shiva
Ayoubzadeh, Parham Fazlali, Keyvan Roshani, et al.
Iot design patterns: computational constructs to design, build and
engineer edge applications.
In Internet-of-Things Design and Implementation (IoTDI), 2016 IEEE First
International Conference on, pages 277–282. IEEE, 2016.
[RCKZ13] Vaskar Raychoudhury, Jiannong Cao, Mohan Kumar, and Daqiang Zhang.
Middleware for pervasive computing: A survey.
Pervasive and Mobile Computing, 9(2):177–200, 2013.
[ZM04] Franco Zambonelli and Marco Mamei.
Spatial computing: An emerging paradigm for autonomic computing and
communication.
In Workshop on Autonomic Communication, pages 44–57. Springer, 2004.
R. Casadei Appendix 51/52