Towards application development for the internet of thingsPankesh Patel
Application development in the Internet of Things (IoT) is challenging because it involves dealing with a wide range of related issues such as lack of separation of concerns, and lack of high-level of abstractions to address both the large scale and heterogeneity. Moreover, stakeholders involved in the application development have to address issues that can be attributed to different life-cycles phases. when developing applications. First, the application logic has to be analyzed and then separated into a set of distributed tasks for an underlying network. Then, the tasks have to be implemented for the specific hardware. Apart from handling these issues, they have
to deal with other aspects of life-cycle such as changes in application requirements and deployed devices.
Several approaches have been proposed in the closely related fields of wireless sensor network, ubiquitous and pervasive
computing, and software engineering in general to address the above challenges. However, existing approaches only cover limited subsets of the above mentioned challenges when applied to the IoT. This work proposes an integrated approach for addressing the above mentioned challenges. The main contributions of this work are: (1) a development methodology that separates IoT application development into different concerns and provides a conceptual framework to develop an application, (2) a development framework that implements the development methodology to support actions of stakeholders. The development framework provides a set of modeling languages to specify each development concern and abstracts
the scale and heterogeneity related complexity. It integrates code generation, task-mapping, and linking techniques
to provide automation. Code generation supports the application development phase by producing a programming
framework that allows stakeholders to focus on the application logic, while our mapping and linking techniques together support the deployment phase by producing device-specific code to result in a distributed system collaboratively hosted by individual devices. Our evaluation based on two realistic scenarios shows that the use of our approach improves the productivity of stakeholders involved in the application development.
This is user manual for IoTSuite. This contains description about how to setup IoTSuite on your PC for programming, how to use development environment provided by IoTSuite.
A step-by-step video guide is available at URL: https://www.youtube.com/watch?v=nS_Je7IzPvM
Enabling high level application development for internet of thingsPankesh Patel
Application development in the Internet of Things (IoT) is challenging because it involves dealing with
a wide range of related issues such as lack of separation of concerns, and lack of high-level of abstractions
to address both the large scale and heterogeneity. Moreover, stakeholders involved in the application development have to address issues that can be attributed to different life-cycles phases when developing applications.
First, the application logic has to be analyzed and then separated into a set of distributed tasks for an underlying network. Then, the tasks have to be implemented for the specific hardware. Apart from handling these issues, they have to deal with other aspects of life-cycle such as changes in application requirements and deployed devices.
Several approaches have been proposed in the closely related fields of wireless sensor network, ubiquitous and pervasive computing, and software engineering in general to address the above challenges. However, existing approaches only cover limited subsets of the above mentioned challenges when applied to the IoT. This paper proposes an integrated approach for addressing the above
mentioned challenges. The main contributions of this paper are$\colon$ (1) a development methodology that separates
IoT application development into different concerns and provides a conceptual framework to develop an application,
(2) a development framework that implements the development methodology to support actions of stakeholders. The development framework provides a set of modeling languages to specify each development concern and abstracts the scale and heterogeneity related complexity. It integrates code generation, task-mapping, and linking techniques to provide automation. Code generation supports the application development phase by producing a programming framework that allows stakeholders to focus on the application logic, while our mapping and linking techniques together support the deployment phase by producing device-specific code to result in a distributed system collaboratively hosted by individual devices. Our evaluation based on two realistic scenarios shows that the use of our approach improves the productivity of stakeholders involved in the application development.
How to evaluate open-source projects security can reduce the risks
In the last year, we have seen at least two important supply-chain attacks, on Solarwind and Codecov products, and a new technique, named Dependency Confusion, to hack software dependencies. Protecting software from supply-chain attacks has become a priority both for companies and open-source projects. So, how can developers and engineers evaluate the security health of an open-source project? The answer is evaluating the right metrics for every dependency.
A real-time IoT system for monitoring crops remotely
droneONtrap DIVA project applies Precision Farming (PF) techniques in order to create a demonstration system based on IoT smart traps and UAV scans for real-time and remote monitoring of crop diseases. This talk focuses on the traps section of the project, presenting the results of the IoT system based on smart trap nodes installed on fields and a centralized server for collecting, processing and visualizing data in real time.
Towards application development for the internet of thingsPankesh Patel
Application development in the Internet of Things (IoT) is challenging because it involves dealing with a wide range of related issues such as lack of separation of concerns, and lack of high-level of abstractions to address both the large scale and heterogeneity. Moreover, stakeholders involved in the application development have to address issues that can be attributed to different life-cycles phases. when developing applications. First, the application logic has to be analyzed and then separated into a set of distributed tasks for an underlying network. Then, the tasks have to be implemented for the specific hardware. Apart from handling these issues, they have
to deal with other aspects of life-cycle such as changes in application requirements and deployed devices.
Several approaches have been proposed in the closely related fields of wireless sensor network, ubiquitous and pervasive
computing, and software engineering in general to address the above challenges. However, existing approaches only cover limited subsets of the above mentioned challenges when applied to the IoT. This work proposes an integrated approach for addressing the above mentioned challenges. The main contributions of this work are: (1) a development methodology that separates IoT application development into different concerns and provides a conceptual framework to develop an application, (2) a development framework that implements the development methodology to support actions of stakeholders. The development framework provides a set of modeling languages to specify each development concern and abstracts
the scale and heterogeneity related complexity. It integrates code generation, task-mapping, and linking techniques
to provide automation. Code generation supports the application development phase by producing a programming
framework that allows stakeholders to focus on the application logic, while our mapping and linking techniques together support the deployment phase by producing device-specific code to result in a distributed system collaboratively hosted by individual devices. Our evaluation based on two realistic scenarios shows that the use of our approach improves the productivity of stakeholders involved in the application development.
This is user manual for IoTSuite. This contains description about how to setup IoTSuite on your PC for programming, how to use development environment provided by IoTSuite.
A step-by-step video guide is available at URL: https://www.youtube.com/watch?v=nS_Je7IzPvM
Enabling high level application development for internet of thingsPankesh Patel
Application development in the Internet of Things (IoT) is challenging because it involves dealing with
a wide range of related issues such as lack of separation of concerns, and lack of high-level of abstractions
to address both the large scale and heterogeneity. Moreover, stakeholders involved in the application development have to address issues that can be attributed to different life-cycles phases when developing applications.
First, the application logic has to be analyzed and then separated into a set of distributed tasks for an underlying network. Then, the tasks have to be implemented for the specific hardware. Apart from handling these issues, they have to deal with other aspects of life-cycle such as changes in application requirements and deployed devices.
Several approaches have been proposed in the closely related fields of wireless sensor network, ubiquitous and pervasive computing, and software engineering in general to address the above challenges. However, existing approaches only cover limited subsets of the above mentioned challenges when applied to the IoT. This paper proposes an integrated approach for addressing the above
mentioned challenges. The main contributions of this paper are$\colon$ (1) a development methodology that separates
IoT application development into different concerns and provides a conceptual framework to develop an application,
(2) a development framework that implements the development methodology to support actions of stakeholders. The development framework provides a set of modeling languages to specify each development concern and abstracts the scale and heterogeneity related complexity. It integrates code generation, task-mapping, and linking techniques to provide automation. Code generation supports the application development phase by producing a programming framework that allows stakeholders to focus on the application logic, while our mapping and linking techniques together support the deployment phase by producing device-specific code to result in a distributed system collaboratively hosted by individual devices. Our evaluation based on two realistic scenarios shows that the use of our approach improves the productivity of stakeholders involved in the application development.
How to evaluate open-source projects security can reduce the risks
In the last year, we have seen at least two important supply-chain attacks, on Solarwind and Codecov products, and a new technique, named Dependency Confusion, to hack software dependencies. Protecting software from supply-chain attacks has become a priority both for companies and open-source projects. So, how can developers and engineers evaluate the security health of an open-source project? The answer is evaluating the right metrics for every dependency.
A real-time IoT system for monitoring crops remotely
droneONtrap DIVA project applies Precision Farming (PF) techniques in order to create a demonstration system based on IoT smart traps and UAV scans for real-time and remote monitoring of crop diseases. This talk focuses on the traps section of the project, presenting the results of the IoT system based on smart trap nodes installed on fields and a centralized server for collecting, processing and visualizing data in real time.
The “BLUESLEMON” project aims to develop a low-cost automatic system for monitoring landslide surface displacement using beacons, provided by Beacon Südtirol-Alto Adige project, and drones. This talk focuses on how FOS spa exploits short-range wireless networks, in particulary Bluetooth, in order to recognize beacons positions from a drone reconnaissance flight.
ISSI 2011, Tokyo, Japan
February 16, 2012
Transdisciplinary Research Integration Center
National Institute of Informatics, Japan
Research Organization for Information and Systems, Japan
Nowadays Internet of Things (IoT) is part of the internet that all objects around us. IoT has a very wide and includes variety of objects like electronics product appliances and sensors [4] This research paper aims to design a smart home system by utilizing
In this slide, we will learn about how easy we manage IoT device with Cloud IoT Core. We use Qwiklabs for a basic understanding of how to use Cloud IoT Core. As a bonus, we improve our device that will be controlled using google assistant and dialogflow.
AI and Machine Learning for the Connected Home with Stephen GalsworthyDatabricks
Quby is the creator and provider of Toon, a leading European smart home platform. We enable Toon users to control and monitor their homes using both an in-home display and app. As a data driven company, we use AI and machine learning to generate actionable insights for our end users. Using the data we collect via our IoT devices we have introduced multiple data driven services, including an energy waste checker and a boiler monitoring service. In this talk, Stephen will describe how AI and machine learning are implemented on the Toon platform, and will show multiple AI use cases relating to the connected home. We’ll take a look at how Deep Learning algorithms are used to detect inefficient appliances from electricity meter data and how streaming algorithms allow users to be alerted to anomalies with their heating systems in near real-time. Stephen will share the experiences from the Data Science and Data Engineering teams at Quby with bringing data science algorithms from R&D to production and the lessons learned in offering multiple data driven services to hundreds of thousands of users on a daily basis.
Applications of various latest coprocessorsSejal Anand
A coprocessor is a chip that works side-by-side with the computer's main processor (the chip called the central processing unit, or CPU).
Math processor can perform high-level mathematical operations such as logarithms, roots, trigonometry functions much faster than the main processor. It also performs floating point math. The instruction set of the math processor is different from the instruction set of the main processor.
Network processor handles incoming and outgoing network traffic in high-end systems. It is optimized to process a large number of incoming and outgoing network packets.
Crypto-processor is a special processor that supports cryptography. It performs message encryption and decryption for secure data transmission.
Graphics Processing Unit handles high-resolution graphics processing. It consists of multiple cores with small instruction sets.
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
In the last few years the advancement technologies were improved in many ways using internet of things. It gives efficient and accurate results. Now we proposed a novel technique, which is used to operate any electrical component or components in home, office or any other place and control all these components like electrical bulbs, fans, refrigerators, etc. Through privacy based and customized way using electronic mail (e-mail). The experimental results conducted on Home Automation using Raspberry Pi.
The idea is to create a social network of sensors in which various sensors integrated to intel Galileo will send the data to the user.
Nowadays using various social networking sites like Facebook, twitter, google+ has become too main stream.
Now the idea is to integrate our home status to these social networking sites that is, creating a “Galileo link”.
Home status will be comprised of various readings taken by the sensors like IR sensor, LDR, temperature sensor.
Sensors send data to intel Galileo then Galileo acts as a client and sends that data to the social networking site.
For example in Facebook an account is created and that account is registered on Facebook developer. As soon as the account is registered on Facebook developer it creates an access token.
Access token is then included in python script running in the Galileo device.
Hence our data can be seen in our news feed and we just have to add the registered account as our friend
The “BLUESLEMON” project aims to develop a low-cost automatic system for monitoring landslide surface displacement using beacons, provided by Beacon Südtirol-Alto Adige project, and drones. This talk focuses on how FOS spa exploits short-range wireless networks, in particulary Bluetooth, in order to recognize beacons positions from a drone reconnaissance flight.
ISSI 2011, Tokyo, Japan
February 16, 2012
Transdisciplinary Research Integration Center
National Institute of Informatics, Japan
Research Organization for Information and Systems, Japan
Nowadays Internet of Things (IoT) is part of the internet that all objects around us. IoT has a very wide and includes variety of objects like electronics product appliances and sensors [4] This research paper aims to design a smart home system by utilizing
In this slide, we will learn about how easy we manage IoT device with Cloud IoT Core. We use Qwiklabs for a basic understanding of how to use Cloud IoT Core. As a bonus, we improve our device that will be controlled using google assistant and dialogflow.
AI and Machine Learning for the Connected Home with Stephen GalsworthyDatabricks
Quby is the creator and provider of Toon, a leading European smart home platform. We enable Toon users to control and monitor their homes using both an in-home display and app. As a data driven company, we use AI and machine learning to generate actionable insights for our end users. Using the data we collect via our IoT devices we have introduced multiple data driven services, including an energy waste checker and a boiler monitoring service. In this talk, Stephen will describe how AI and machine learning are implemented on the Toon platform, and will show multiple AI use cases relating to the connected home. We’ll take a look at how Deep Learning algorithms are used to detect inefficient appliances from electricity meter data and how streaming algorithms allow users to be alerted to anomalies with their heating systems in near real-time. Stephen will share the experiences from the Data Science and Data Engineering teams at Quby with bringing data science algorithms from R&D to production and the lessons learned in offering multiple data driven services to hundreds of thousands of users on a daily basis.
Applications of various latest coprocessorsSejal Anand
A coprocessor is a chip that works side-by-side with the computer's main processor (the chip called the central processing unit, or CPU).
Math processor can perform high-level mathematical operations such as logarithms, roots, trigonometry functions much faster than the main processor. It also performs floating point math. The instruction set of the math processor is different from the instruction set of the main processor.
Network processor handles incoming and outgoing network traffic in high-end systems. It is optimized to process a large number of incoming and outgoing network packets.
Crypto-processor is a special processor that supports cryptography. It performs message encryption and decryption for secure data transmission.
Graphics Processing Unit handles high-resolution graphics processing. It consists of multiple cores with small instruction sets.
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
In the last few years the advancement technologies were improved in many ways using internet of things. It gives efficient and accurate results. Now we proposed a novel technique, which is used to operate any electrical component or components in home, office or any other place and control all these components like electrical bulbs, fans, refrigerators, etc. Through privacy based and customized way using electronic mail (e-mail). The experimental results conducted on Home Automation using Raspberry Pi.
The idea is to create a social network of sensors in which various sensors integrated to intel Galileo will send the data to the user.
Nowadays using various social networking sites like Facebook, twitter, google+ has become too main stream.
Now the idea is to integrate our home status to these social networking sites that is, creating a “Galileo link”.
Home status will be comprised of various readings taken by the sensors like IR sensor, LDR, temperature sensor.
Sensors send data to intel Galileo then Galileo acts as a client and sends that data to the social networking site.
For example in Facebook an account is created and that account is registered on Facebook developer. As soon as the account is registered on Facebook developer it creates an access token.
Access token is then included in python script running in the Galileo device.
Hence our data can be seen in our news feed and we just have to add the registered account as our friend
List and describe various features of electronic systems.List and .pdfinfo824691
List and describe various features of electronic systems.
List and discuss the steps in designing an embedded system.
Solution
Electronic system level (ESL) design and verification is an emerging electronic design
methodology that focuses primarily on the higher abstraction level concerns. The termElectronic
System Level or ESL Design was first defined by Gartner Dataquest, an EDA-industry-analysis
firm, on February 1, 2001. It is defined in the ESL Design and Verification book as: \"the
utilization of appropriate abstractions in order to increase comprehension about a system, and to
enhance the probability of a successful implementation of functionality in a cost-effective
manner.\" The basic premise is to model the behavior of the entire system using a high-level
language such as C, C++, LabVIEW, or MATLAB or using graphical \"model-based\" design
tools like SystemVue, VisualSim Architect or Simulink. Newer languages are emerging that
enable the creation of a model at a higher level of abstraction including general purpose system
design languages like SysML as well as those that are specific to embedded system design like
SMDL and SSDL supported by emerging system design automation products like Teraptor.
Rapid and correct-by-construction implementation of the system can be automated using EDA
tools such as high-level synthesis and embedded softwaretools, although much of it is performed
manually today. ESL can also be accomplished through the use of SystemC as an abstract
modeling language.
Electronic System Level is now an established approach at most of the world’s leading System-
on-a-chip (SoC) design companies, and is being used increasingly in system design.[citation
needed] From its genesis as an algorithm modeling methodology with ‘no links to
implementation’, ESL is evolving into a set of complementary methodologies that enable
embedded system design, verification, and debugging through to the hardware and software
implementation of custom SoC, system-on-FPGA, system-on board, and entire multi-board
systems.
Second Part
An embedded system is one with computing hardware that has software “embedded” in it as one
of its core components. We are surrounded by embedded systems that add luxury to our lives
like mobile handsets, washing machines, microwaves, ATM machines, and air conditioners, to
name just a few. Because of certain application requirements, engineers have to approach
embedded design in a different way than other types of designs.
The following offers a brief step-by-step approach to follow while designing an embedded
system
1. Proposal: - An innovative idea or system that makes life easier and/or reduces the amount of
human effort required to complete a task.
2. Definition: - Next, the whole system needs to be designed, including what it will do under all
possible sets of input conditions. This definition is perhaps the most critical part, as any error
here will affect the working of whole system.
I. I/O Considerations: -.
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.
Presentation given at the Mobile March conference in Minneapolis, MN on March 20, 2014. Included a demo of an mobile app running on Mac, iOS and Android.
LiveCode Cross-Platform Development-Joel GerdeenMobile March
From Mobile March 2014. LiveCode has its heritage in the Apple HyperCard system back in the late 80″s. It allows developed applications to run on Mac, Windows, Linux, iOS and Android plus related servers. LiveCode is available in an open source Community version (free) and a Commercial version for publishing through the Apple AppStore and Google Play stores. The development system on the Mac will be demonstrated with simulations on both iPhone and Android devices.
What you’ll take away: Links back to HyperCard hypermedia technology. Graphical cross-platform development for Mac, Windows, Linux, iOS, Android and servers. English-like. message driven language. Demo of development system with testing on iOS and Android simulators.
The Raspberry Pi is a series of credit card–sized single-board computers developed in the UK by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools.
The original Raspberry Pi and Raspberry Pi 2 are manufactured in several board configurations through licensed manufacturing agreements with Newark element14 (Premier Farnell), RS Components and Egoman. These companies sell the Raspberry Pi online. Egoman produces a version for distribution solely in China and Taiwan, which can be distinguished from other Pis by their red colouring and lack of FCC/CE marks. The hardware is the same across all manufacturers.
The original Raspberry Pi is based on the Broadcom BCM2835 system on a chip (SoC), which includes an ARM1176JZF-S 700 MHz processor, VideoCore IV GPU, and was originally shipped with 256 megabytes of RAM, later upgraded (models B and B+) to 512 MB. The system has Secure Digital (SD) (models A and B) or MicroSD (models A+ and B+) sockets for boot media and persistent storage.
Cloud computing that provides cheap and pay-as-you-go computing resources is rapidly gaining momentum as an alternative to traditional IT Infrastructure. As more and more consumers delegate their tasks to cloud providers, Service Level Agreements(SLA) between consumers and providers emerge as a key aspect. Due to the dynamic nature of the cloud, continuous monitoring on Quality of Service (QoS)
attributes is necessary to enforce SLAs. Also numerous other factors such as trust (on the cloud provider) come into consideration, particularly for enterprise customers that may outsource its critical data. This complex nature of the cloud landscape warrants a sophisticated means of managing SLAs. This paper proposes a mechanism for managing SLAs in a cloud computing environment using the Web Service Level Agreement(WSLA) framework, developed for SLA monitoring and SLA enforcement
in a Service Oriented Architecture (SOA). We use the third
party support feature of WSLA to delegate monitoring and enforcement tasks to other entities in order to solve the trust issues. We also present a real world use case to validate our proposal.
Enabling High Level Application Development In The Internet Of ThingsPankesh Patel
The Internet of Things (IoT) combines Wireless Sensor and Actuation Networks (WSANs), Pervasive
computing, and the elements of the \\traditional" Internet such as Web and database servers. This leads to
the dual challenges of scale and heterogeneity in these systems, which comprise a large number of devices of
dierent characteristics. In view of the above, developing IoT applications is challenging because it involves
dealing with a wide range of related issues, such as lack of separation of concerns, need for domain experts to
write low level code, and lack of specialized domain specic languages (DSLs). Existing software engineering
approaches only cover a limited subset of the above-mentioned challenges.
In this work, we propose an application development process for the IoT that aims to comprehensively
address the above challenges. We rst present the semantic model of the IoT, based on which we identify
the roles of the various stakeholders in the development process, viz., domain expert, software designer,
application developer, device developer, and network manager, along with their skills and responsibilities.
To aid them in their tasks, we propose a model-driven development approach which uses customized lan-
guages for each stage of the development process: Srijan Vocabulary Language (SVL) for specifying the
domain vocabulary, Srijan Architecture Language (SAL) for specifying the architecture of the application,
and Srijan Network Language (SNL) for expressing the properties of the network on which the application
will execute; each customized to the skill level and area of expertise of the relevant stakeholder. For the
application developer specifying the internal details of each software component, we propose the use of a
customized generated framework using a language such as Java. Our DSL-based approach is supported by
code generation and task-mapping techniques in an application development tool developed by us. Our
initial evaluation based on two realistic scenarios shows that the use of our techniques/framework succeeds
in improving productivity while developing IoT applications.
Towards application development for the internet of things updatedPankesh Patel
The Internet of Things (IoT) integrates the physical world with the existing Internet, and is rapidly gaining popularity, thanks to the increased adoption of smart phones and sensing devices. One of the important challenges in this domain is to enable domain experts to easily specify applications for the IoT. As a
first step towards developing a suitable programming
abstraction, in this paper we present a domain
model for applications in the Internet of Things, based on a
survey of recently proposed IoT applications from the real
world that represent a wide class of behaviors found in IoT
use cases.
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.
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/
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.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
A tool suite for prototyping internet of things applications
1. A ToolSuite for Prototyping
Sense-Compute-Control (SCC) Applications
Dimitris Soukaras, Pankesh Patel
(Tool Demo)
2. Illustrative example: building system
2
Smoke
detector
User interfaces
(e.g., display,
mobile phones)
Fire
alarm
Badge
reader
User with
badge
Data
storage
Light
Temperature
sensor
Heater
• Heterogeneous
• Large number
• Development life cycle
3. Goal
3
“Enable development** of SCC applications with
minimal effort by various stakeholders* involved in
development process”
**Development -- “a set of related activities that leads to a production of a software product.’’ [Ian Sommerville,
Software Engineering (9th edition) , 2010]
*Stakeholders in software engineering to mean – people, who are involved in the application development.
Examples of stakeholders defined in [Taylor et al., Software Architecture, 2009] are software designer,
developer, domain expert, technologist, etc.
4. Commonality
at various levels
4
Functionality
(e.g., home
fire detection
Domain
(e.g., building
HVAC)
(e.g., Inria
Office)
(e.g., Google
Office)
Deployment
Room
temperature
(e.g. building
automation)
“Entities of Interest (EoI) is an object, including the
attributes that describes it, and its state that is
relevant from a user or an application perspective.”
[Stephan Haller, Internet ofThings, 2010]
Building fire
state
“Reusability
across concerns”
13. 13
RoomAvgTemp
consume tempMeasurement from hops:0:Room;
generate roomAvgTemp:TempStruct;
in-region:Room; Compiler
generates
private String partitionAttribute = "Room";
public void subscribeTempMeasurement() {
PubSubMiddleware.subscribe(this, “tempMeasurement",
subscriptionCondition);
}
public void notifiedReceived (String event Name, Object arg,
Device deviceInfo) {
if (eventName.equals(“tempMeasurement”) {
onNewTempMeasurement((TempStruct) arg) ;
}
}
public abstract void onNewTempMeasurement(TempStruct arg);
Implementing
application logic
Concrete
method for
Subscription
request
Concrete
method for
Receiving
notifications
14. 14
public abstract void onNewTempMeasurement(TempStruct arg);
Implementing
application logic
public void onNewtempMeasurement(TempStruct arg) {
// Write here Application Logic of Calculating
Average Temperature
}
Application
developer
Implement abstract method
to write application logic