Abstract
One of the major challenges when designing software for complex systems relates to a lack of a specific and comprehensive set of rules and methodologies. Even more so, adaptation to field conditions is difficult to model and implement on systems composed of a larger number of devices/components, such as distributed systems or systems of systems. On state-of-the-art technology such as wireless sensor/actuator networks and cyber-physical systems, addressing the lack of a compressive set of rules for their design and realization offers considerable benefits. If successfully realized, it can accelerate and simplify their design and implementation. The main contribution of this chapter is a clear set of rules that are specific for the design of adaptive networked embedded systems. To be more specific, we discuss design-time vs. runtime trade-offs, introduce design patterns for reconfigurable real-time monitoring and control, propose techniques for runtime design space exploration (managing runtime reconfiguration) and a systems engineering process for runtime reconfigurable systems. We provide guidelines for all stages of the architectural process and help system and software designers in choosing wisely specific algorithms and techniques. In conclusion, this chapter introduces a set of rules (methodologies) that are specific for designing adaptive networked embedded systems.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
Decomposing the design space exploration and the associated search/optimization into distributed configuration, that is a “divide and conquer” approach. Such sub-problems are significantly less complex than the whole, but interaction constraints should also be concerned and they are a challenge by themselves. See more details in the next section.
- 2.
In this chapter, we do not consider learning systems. Learning systems are a subset of adaptive systems, which are capable of improving their knowledge during operation based on experience or user feedback. For example they can introduce new design rules based on frequently occurring cases or modify design rules if their application creates unwanted behavior. In the design scheme introduced the learning would be manifested by changes in the “static knowledge” part, i.e. strictly speaking it could not be considered static anymore. Still, the mechanism, which would introduce changes is outside of the reconfiguration mechanism considered here, i.e. from this viewpoint the knowledge is read-only and conceptually static.
- 3.
Due to the non-learning scenario this knowledge remains constant, i.e. the extra knowledge a human designer may acquire via experience is not stored.
- 4.
Due to its complexity and far fetched consequences the requirement analysis and specification are thoroughly studied processes by themselves and long list of underlying processes, methodologies and tools (both commercial and research) have been proposed. Even a overview of the approaches would go beyond the scope of this book. Interested readers are referred to [45] for overview of frequently used approaches.
- 5.
In this section we focus on design refinement, i.e. when the designer further details the model to capture design and implementation decisions. Automatic code generation related concerns are covered elsewhere (see Sect. 3.2).
- 6.
For more details about model building methodology readers are referred to section refsec:1.6:methodology.
- 7.
In practice this is a very natural process: as the design is progresses so does the requirement specification detailing. The model driven development facilitates this aspect, too: when completing a design iterations the results of the validation and verification can be communicated with the end-user, who can react with providing more detailed requirements or adjusting the existing ones. This is why working on the “complete system level” is important: this is the safest way to involving the end-users in the design cycles.
- 8.
This sensing infrastructure may (and typically does) consists of dedicated physical sensors (e.g. temperature sensor for ambient temperature, current measuring probe for power consumption estimation, etc.) and “virtual sensors”, which are interfaces to internal system properties, which are available but are not considered on the primary data path (e.g. input signal level of the wireless receiver, CPU utilization, etc.).
References
M. Palesi, T. Givargis, in Proceedings of the Tenth International Symposium on Hardware/Software Codesign, 2002. CODES 2002 (IEEE, 2002), pp. 67–72
D.E. Goldberg, (Addison-Wesley Professional, 1989)
Q. Liu, S. Dulman, M. Warnier, Area: an automatic runtime evolutionary adaptation mechanism for creating self-adaptation algorithms in wireless networks (2013). Under submission
J.C. Georgas, A. van der Hoek, R.N. Taylor, Computer 42(10), 52 (2009)
J. Teich, M. Köster, in Proceedings of the Conference on Design, Automation and Test in Europe (IEEE Computer Society, 2002), p. 559
S.Y. Kuo, W.K. Fuchs, in Proceedings of the 25th ACM/IEEE Design Automation Conference (IEEE Computer Society Press, 1988), pp. 609–612
H.W. Kuhn, Nav. Res. Logist. Q. 2(1–2), 83 (1955)
S. Kogekar, S. Neema, B. Eames, X. Koutsoukos, A. Ledeczi, M. Maroti, in Proceedings of the 3rd international symposium on Information processing in sensor networks (ACM, 2004), pp. 379–387
B. Eames, in 2006 IEEE Mountain Workshop on Adaptive and Learning Systems (IEEE, 2006), pp. 127–132
T. Syrjänen, A rule-based formal model for software configuration, Technical Report (Helsinki University of Technology, 1999)
P. Simons, I. Niemelä, T. Soininen, Artif. Intell. 138(1), 181 (2002)
K.R. Apt, R.N. Bol, J. Log. Program. 19, 9 (1994)
M. Ben-Ari, First-Order Logic: Logic Programming (Springer, London, 2012), pp. 205–222
R.F. Stärk, A Direct Proof for the Completeness of SLD-resolution (Springer, Berlin, 1990), pp. 382–383
B. Gutmann, I. Thon, A. Kimmig, M. Bruynooghe, L. De Raedt, Theory Pract. Log. Program. 11(4–5), 663 (2011)
C. van Leeuwen, Z. Papp, J. Sijs, in 16th International Conference on Information Fusion (2013)
R. Isermann, IEEE Trans. Syst. Man Cybern. Part A Syst. Hum. 28(2), 221 (1998)
C. Aubrun, D. Sauter, H. Noura, M. Robert, Int. J. Syst. Sci. 24(10), 1945 (1993)
F. Bobillo, U. Straccia, in IEEE International Conference on Fuzzy Systems, 2008. FUZZ-IEEE 2008 (IEEE World Congress on Computational Intelligence) (IEEE, 2008), pp. 923–930
F. Bobillo, M. Delgado, J. Gómez-Romero, Expert Syst. Appl. 39(1), 258 (2012)
L.A. Zadeh, Inf. Control 8(3), 338 (1965)
L. Zadeh, IEEE Comput. 21(4), 83 (1988)
H.J. Zimmermann, Fuzzy Sets theory and its Applications, 3rd edn. (Kluwer, Boston, 1996)
W.A. Kwong, K.M. Passino, E.G. Laukonen, S. Yurkovch, Proc. IEEE 83(3), 466 (1995)
P.U. Lima, G.N. Saridis, IEEE Trans. Syst. Man Cybern. Part B: Cybern. 29(2), 151 (1999)
J.M. Bernardo, A.F. Smith, Bayesian Theory, vol. 405 (Wiley, 2009)
C. Jung, K. Kwon, Control Cybern. 27, 545 (1998)
R. Tong, The Construction and Evaluation of Fuzzy Models (North-Holland, Amsterdam, 1979)
S. Kim, E. Kim, M. Park, Fuzzy Sets Syst. 81(2), 205 (1996)
F. Matia, A. Jimenez, Int. J. Intell. Control Syst. 1(3), 407 (1996)
T. Tobi, T. Hanafusa, Int. J. Approx. Reason. 5(3), 331 (1991)
Y.K. Kwok, I. Ahmad, J. Parallel Distrib. Comput. 59(3), 381 (1999)
D. Grosu, A.T. Chronopoulos, M.Y. Leung, in Parallel and Distributed Processing Symposium., Proceedings International, IPDPS 2002, Abstracts and CD-ROM (IEEE, 2002), pp. 52–61
A. Aminifar, S. Samii, P. Eles, Z. Peng, in 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), vol. 1 (IEEE, 2011), pp. 133–142
Y. Yi, W. Han, X. Zhao, A.T. Erdogan, T. Arslan, in Design, Automation & Test in Europe Conference & Exhibition, 2009. DATE’09 (IEEE, 2009), pp. 33–38
J. Sijs, Z. Papp, in 2012 15th International Conference on Information Fusion (FUSION) (IEEE, 2012), pp. 1012–1019
T. Streichert, D. Koch, C. Haubelt, J. Teich, EURASIP J. Embed. Syst. 2006(1), 9 (2006)
G. Cybenko, J. Parallel Distrib. Comput. 7(2), 279 (1989)
P. Neelakantan, Int. J. Comput. Appl. 39(4), 7 (2012)
ISO/IEC 107463 (1996)
G. Karsai, J. Sztipanovits, Intelligent Systems and their Applications, IEEE 14(3), 46 (1999). doi:10.1109/5254.769884
T. Saxena, A. Dubey, D. Balasubramanian, G. Karsai, in 2010 Seventh IEEE International Conference and Workshops on Engineering of Autonomic and Autonomous Systems (EASe) (2010), pp. 137–144. doi:10.1109/EASe.2010.22
B. Berenbach, D.J. Paulish, J. Kazmeier, A. Rudorfer, Software and Systems Requirements Engineering: In Practice Education (McGraw-Hill, 2009)
J. Whittle, J. Hutchinson, M. Rouncefield, Software, IEEE PP(99), 1 (2013). doi:10.1109/MS.2013.65
A. Bahill, B. Gissing, IEEE Trans. Syst. Man Cybern. Part C: Appl. Rev. 28(4), 516 (1998). doi:10.1109/5326.725338
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer Science+Business Media Singapore
About this chapter
Cite this chapter
Papp, Z., del Toro Matamoros, R., van Leeuwen, C., de Oliveira Filho, J., Pruteanu, A., Šůcha, P. (2016). Designing Reconfigurable Systems: Methodology and Guidelines. In: Papp, Z., Exarchakos, G. (eds) Runtime Reconfiguration in Networked Embedded Systems. Internet of Things. Springer, Singapore. https://doi.org/10.1007/978-981-10-0715-6_2
Download citation
DOI: https://doi.org/10.1007/978-981-10-0715-6_2
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-10-0714-9
Online ISBN: 978-981-10-0715-6
eBook Packages: EngineeringEngineering (R0)