Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Enabling high-level application development for the Internet of Things

Published: 01 May 2015 Publication History

Abstract

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: (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.

References

[1]
G.R. Andrews, Paradigms for process interaction in distributed programs, ACM Comput. Surv. (CSUR), 23 (1991) 49-90.
[2]
L. Atzori, A. Iera, G. Morabito, The internet of things: a survey, Comput. Netw., 54 (2010) 2787-2805.
[3]
A. Berson, Client/Server Architecture, McGraw-Hill, 1996.
[4]
B. Bertran, J. Bruneau, D. Cassou, N. Loriant, E. Balland, C. Consel, DiaSuite: a tool suite to develop sense/compute/control applications, Science of Computer Programming (2012).
[5]
C. Bettini, O. Brdiczka, K. Henricksen, J. Indulska, D. Nicklas, A. Ranganathan, D. Riboni, A survey of context modelling and reasoning techniques, Pervasive Mobile Comput., 6 (2010) 161-180.
[6]
U. Bischoff, G. Kortuem, Rulecaster: A macroprogramming system for sensor networks, 2006.
[7]
U. Bischoff, G. Kortuem, Life cycle support for sensor network applications, ACM, 2007.
[8]
M. Blackstock, R. Lea, WoTKit: a lightweight toolkit for the web of things, ACM, 2012.
[9]
Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielsen, H.F., Thatte, S., Winer, D., 2000. Simple object access protocol (SOAP) 1.1.
[10]
CASAGRAS, 2008. RFID and inclusive Model for the Internet of Things: Technical Report. EU Framework 7 Project. Available from http://www.grifs-project.eu/data/File/CASAGRAS%20FinalReport%20(2).pdf.
[11]
D. Cassou, B. Bertran, N. Loriant, C. Consel, A generative programming approach to developing pervasive computing systems, 2009.
[12]
D. Cassou, J. Bruneau, C. Consel, E. Balland, Towards a tool-based development methodology for pervasive computing applications, IEEE Trans. Softw. Eng., 38 (2011).
[13]
A.P. Castellani, M. Dissegna, N. Bui, M. Zorzi, WebIoT: a web application framework for the internet of things, IEEE, 2012.
[14]
C. Chen, S. Helal, S. de Deugd, A. Smith, C.K. Chang, Toward a collaboration model for smart spaces, 2012.
[15]
Chinnici, R., Moreau, J.J., Ryman, A., Weerawarana, S., 2007. Web services description language (WSDL) version 2.0 part 1: Core language. W3C Recommendation.
[16]
P. Costa, L. Mottola, A. Murphy, G. Picco, Programming wireless sensor networks with the teeny lime middleware, Middleware, 2007 (2007) 429-449.
[17]
de Saint-Exupery, A., 2009. Internet of things, strategic research roadmap.
[18]
A. Dey, G. Abowd, D. Salber, A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications, Hum.-Comput. Interact., 16 (2001) 97-166.
[19]
K. Doddapaneni, E. Ever, O. Gemikonakli, I. Malavolta, L. Mostarda, H. Muccini, A model-driven engineering framework for architecting and analysing wireless sensor networks, IEEE, 2012.
[20]
Z. Drey, J. Mercadal, C. Consel, A taxonomy-driven approach to visually prototyping pervasive computing applications, Springer, 2009.
[21]
S. Duquennoy, G. Grimaud, J.J. Vandewalle, The Web of Things: interconnecting devices with high usability and performance, 2009.
[22]
P. Eugster, P. Felber, R. Guerraoui, A. Kermarrec, The many faces of publish/subscribe, ACM Comput. Surv. (CSUR), 35 (2003) 114-131.
[23]
R.T. Fielding, University of California, 2000.
[24]
M. Fowler, Addison-Wesley Longman, Amsterdam, 1996.
[25]
R. France, B. Rumpe, Model-driven development of complex software: A research roadmap, IEEE Computer Society, 2007.
[26]
E. Gamma, R. Helm, R. Johnson, J. Vlissides, Addison-Wesley Longman Publishing Co., Inc., 1995.
[27]
G. Ghidini, S.K. Das, V. Gupta, Fuseviz: A framework for web-based data fusion and visualization in smart environments, IEEE, 2012.
[28]
P.B. Gibbons, B. Karp, Y. Ke, S. Nath, S. Seshan, Irisnet: an architecture for a worldwide sensor web, IEEE Pervasive Comput., 2 (2003) 22-33.
[29]
D. Guinard, V. Trifa, E. Wilde, A resource oriented architecture for the web of things, IEEE, 2010.
[30]
R. Gummadi, O. Gnawali, R. Govindan, Macro-programming wireless sensor networks using kairos, Distrib. Comput. Sens. Syst. (2005) 466.
[31]
V. Gupta, P. Udupi, A. Poursohi, Early lessons from building sensor. network: an open data exchange for the web of things, 2010.
[32]
S. Haller, The things in the internet of things, 2010.
[33]
K. Henricksen, J. Indulska, Developing context-aware pervasive computing applications: models and approach, Pervasive Mobile Comput., 2 (2006) 37-64.
[34]
K. Henricksen, R. Robinson, A survey of middleware for sensor networks: state-of-the-art and future directions, ACM, 2006.
[35]
T.W. Hnat, T.I. Sookoor, P. Hooimeijer, W. Weimer, K. Whitehouse, Macrolab: a vector-based macroprogramming framework for cyber-physical systems, ACM, 2008.
[36]
C. Jaikaeo, C. Srisathapornphat, C.C. Shen, Querying and tasking in sensor networks, International Society for Optics and Photonics, 2000.
[37]
P. Kruchten, The 4+1 view model of architecture, IEEE Softw., 12 (1995) 42-50.
[38]
V. Kulkarni, S. Reddy, Separation of concerns in model-driven development, IEEE Softw., 20 (2003) 64-69.
[39]
T. Luckenbach, P. Gober, S. Arbanowski, A. Kotsopoulos, K. Kim, TinyREST-a protocol for integrating sensor networks into the internet, Citeseer, 2005.
[40]
S. Madden, M. Franklin, J. Hellerstein, W. Hong, TinyDB: an acquisitional query processing system for sensor networks, ACM Trans. Database Syst. (TODS), 30 (2005) 122-173.
[41]
S.J. Mellor, T. Clark, T. Futagami, Model-driven development: guest editors' introduction., IEEE Softw., 20 (2003) 14-18.
[42]
N. Mohamed, J. Al-Jaroodi, A survey on service-oriented middleware for wireless sensor networks, Serv. Oriented Comput. Appl., 5 (2011) 71-85.
[43]
L. Mottola, A. Pathak, A. Bakshi, V. Prasanna, G. Picco, Enabling scope-based interactions in sensor network macroprogramming, IEEE, 2007.
[44]
L. Mottola, G. Picco, Programming wireless sensor networks: fundamental concepts and state of the art, ACM Comput. Surv. (CSUR), 43 (2011) 19.
[45]
R. Newton, G. Morrisett, M. Welsh, The regiment macroprogramming system, ACM, 2007.
[46]
P. Patel, Université Pierre et Marie Curie - Paris VI, 2013.
[47]
P. Patel, B. Morin, S. Chaudhary, A model-driven development framework for developing sense-compute-control applications, ACM, New York, NY, USA, 2014.
[48]
P. Patel, A. Pathak, D. Cassou, V. Issarny, Enabling High-Level Application Development in the Internet of Things, 2013.
[49]
P. Patel, A. Pathak, T. Teixeira, V. Issarny, Towards application development for the Internet of Things, ACM, 2011.
[50]
A. Pathak, L. Mottola, A. Bakshi, V. Prasanna, G. Picco, A compilation framework for macroprogramming networked sensors, Distrib. Comput. Sensor Syst. (2007) 189-204.
[51]
A. Pathak, V. Prasanna, High-level application development for sensor networks: data-driven approach, Springer, 2011.
[52]
G. Picco, Software engineering and wireless sensor networks: happy marriage or consensual divorce?, ACM, 2010.
[53]
N.B. Priyantha, A. Kansal, M. Goraczko, F. Zhao, Tiny web services: design and implementation of interoperable and evolvable sensor networks, ACM, New York, NY, USA, 2008.
[54]
A. Ranganathan, S. Chetan, J. Al-Muhtadi, R. Campbell, M. Mickunas, Olympus: a high-level programming model for pervasive computing environments, 2005.
[55]
M. Román, C. Hess, R. Cerqueira, A. Ranganathan, R.H. Campbell, K. Nahrstedt, Gaia: a middleware platform for active spaces, ACM SIGMOBILE Mobile Comput. Commun. Rev., 6 (2002) 65-67.
[56]
D. Salber, A.K. Dey, G.D. Abowd, The context toolkit: aiding the development of context-enabled applications, ACM, New York, NY, USA, 1999.
[57]
D.C. Schmidt, Guest editor's introduction: model-driven engineering, IEEE Comput. Soc., 39 (2006) 25-31.
[58]
E. Serral, P. Valderas, V. Pelechano, Towards the model driven development of context-aware pervasive systems, Pervasive Mobile Comput., 6 (2010) 254-280.
[59]
C. Shen, C. Srisathapornphat, C. Jaikaeo, Sensor information networking architecture and applications, IEEE Personal Commun., 8 (2001) 52-59.
[60]
I. Sommerville, Software Engineering, Addison-Wesley, Harlow, England, 2010.
[61]
D. Soukaras, P. Patel, H. Song, S. Chaudhary, IoTSuite: a ToolSuite for prototyping internet of things applications, 2015.
[62]
R. Sugihara, R. Gupta, Programming models for sensor networks: a survey, ACM Trans. Sensor Netw. (TOSN), 4 (2008) 8.
[63]
R. Taylor, N. Medvidovic, E. Dashofy, Wiley Publishing, 2009.
[64]
M. Tubaishat, S. Madria, Sensor networks: an overview, IEEE Potentials, 22 (2003) 20-23.
[65]
J.P. Vasseur, A. Dunkels, Morgan Kaufmann, San Francisco, CA, USA, 2010.
[66]
K. Whitehouse, C. Sharp, E. Brewer, D. Culler, Hood: a neighborhood abstraction for sensor networks, ACM, 2004.
[67]
K. Whitehouse, F. Zhao, J. Liu, Semantic streams: a framework for composable semantic interpretation of sensor data, Springer-Verlag, Berlin/Heidelberg, 2006.
[68]
Y. Yao, J. Gehrke, The cougar approach to in-network query processing in sensor networks, SIGMOD Rec., 31 (2002) 9-18.

Cited By

View all
  • (2024)Opening a new horizon in digitalization for e-learning in Malaysia: Empirical evidence of Covid-19Education and Information Technologies10.1007/s10639-023-12176-829:8(9387-9416)Online publication date: 1-Jun-2024
  • (2023)Taming Internet of Things Application Development with the IoTvar MiddlewareACM Transactions on Internet Technology10.1145/358601023:2(1-21)Online publication date: 19-May-2023
  • (2023)An approach towards Zero Defect Manufacturing by combining IIoT data with Industrial Social NetworkingProcedia Computer Science10.1016/j.procs.2022.12.236217:C(403-412)Online publication date: 1-Jan-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Journal of Systems and Software
Journal of Systems and Software  Volume 103, Issue C
May 2015
467 pages

Publisher

Elsevier Science Inc.

United States

Publication History

Published: 01 May 2015

Author Tags

  1. Development life-cycle
  2. Domain-specific languages
  3. Internet of Things

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Opening a new horizon in digitalization for e-learning in Malaysia: Empirical evidence of Covid-19Education and Information Technologies10.1007/s10639-023-12176-829:8(9387-9416)Online publication date: 1-Jun-2024
  • (2023)Taming Internet of Things Application Development with the IoTvar MiddlewareACM Transactions on Internet Technology10.1145/358601023:2(1-21)Online publication date: 19-May-2023
  • (2023)An approach towards Zero Defect Manufacturing by combining IIoT data with Industrial Social NetworkingProcedia Computer Science10.1016/j.procs.2022.12.236217:C(403-412)Online publication date: 1-Jan-2023
  • (2023)An evidence-based roadmap for IoT software systems engineeringJournal of Systems and Software10.1016/j.jss.2023.111680201:COnline publication date: 1-Jul-2023
  • (2023)X-IoT: a model-driven approach to support IoT application portability across IoT platformsComputing10.1007/s00607-023-01155-z105:9(1981-2005)Online publication date: 27-Jan-2023
  • (2023)A model-based infrastructure for the specification and runtime execution of self-adaptive IoT architecturesComputing10.1007/s00607-022-01145-7105:9(1883-1906)Online publication date: 9-Feb-2023
  • (2022)Teaching software processes from different application domainsProceedings of the XXI Brazilian Symposium on Software Quality10.1145/3571473.3571488(1-10)Online publication date: 7-Nov-2022
  • (2022)Sense, Transform & Send for the Internet of Things (STS4IoT)Data & Knowledge Engineering10.1016/j.datak.2021.101971139:COnline publication date: 1-May-2022
  • (2022)On the Popularity of Internet of Things Projects in Online CommunitiesInformation Systems Frontiers10.1007/s10796-021-10157-124:5(1601-1634)Online publication date: 1-Oct-2022
  • (2022)FloWare: a model-driven approach fostering reuse and customisation in IoT applications modelling and developmentSoftware and Systems Modeling (SoSyM)10.1007/s10270-022-01026-922:1(131-158)Online publication date: 6-Aug-2022
  • Show More Cited By

View Options

View options

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media