Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Continuous and Proactive Software Architecture Evaluation: An IoT Case

Published: 15 March 2022 Publication History

Abstract

Design-time evaluation is essential to build the initial software architecture to be deployed. However, experts’ assumptions made at design-time are unlikely to remain true indefinitely in systems that are characterized by scale, hyperconnectivity, dynamism, and uncertainty in operations (e.g. IoT). Therefore, experts’ design-time decisions can be challenged at run-time. A continuous architecture evaluation that systematically assesses and intertwines design-time and run-time decisions is thus necessary. This paper proposes the first proactive approach to continuous architecture evaluation of the system leveraging the support of simulation. The approach evaluates software architectures by not only tracking their performance over time, but also forecasting their likely future performance through machine learning of simulated instances of the architecture. This enables architects to make cost-effective informed decisions on potential changes to the architecture. We perform an IoT case study to show how machine learning on simulated instances of architecture can fundamentally guide the continuous evaluation process and influence the outcome of architecture decisions. A series of experiments is conducted to demonstrate the applicability and effectiveness of the approach. We also provide the architect with recommendations on how to best benefit from the approach through choice of learners and input parameters, grounded on experimentation and evidence.

References

[1]
2016. Fog Computing and the Internet of Things: Extend the Cloud to Where the Things Are. Technical Report. Cisco Systems.
[2]
2018. Application Performance Monitoring and Management | AppDynamics.
[3]
2018. New Relic.
[4]
Tariq Al-Naeem, Ian Gorton, Muhammed Ali Babar, Fethi Rabhi, and Boualem Benatallah. 2005. A quality-driven systematic approach for architecting distributed software applications. In Proceedings of the 27th International Conference on Software Engineering. ACM, 244–253.
[5]
P. Alcoy, S. Bjarnason, P. Bowen, C. F. Chui, K. Kasavchenko, and G. Sockrider. 2018. 13th Annual Worldwide Infrastructure Security Report. NETSCOUT Arbor (2018).
[6]
Aldeida Aleti, Stefan Bjornander, Lars Grunske, and Indika Meedeniya. 2009. ArcheOpterix: An extendable tool for architecture optimization of AADL models. In Model-Based Methodologies for Pervasive and Embedded Software, 2009. MOMPES’09. ICSE Workshop on. IEEE, 61–71.
[7]
Aldeida Aleti, Barbora Buhnova, Lars Grunske, Anne Koziolek, and Indika Meedeniya. 2013. Software architecture optimization methods: A systematic literature review. IEEE Transactions on Software Engineering 39, 5 (2013), 658–683.
[8]
Andrea Arcuri and Lionel Briand. 2011. A practical guide for using statistical tests to assess randomized algorithms in software engineering. In Software Engineering (ICSE), 2011 33rd International Conference on. IEEE, 1–10.
[9]
Algirdas Avizienis and John P. J. Kelly. 1984. Fault tolerance by design diversity: Concepts and experiments. Computer8 (1984), 67–80.
[10]
Algirdas Avižienis, Jean-Claude Laprie, Brian Randell, and Carl Landwehr. 2004. Basic concepts and taxonomy of dependable and secure computing. Dependable and Secure Computing, IEEE Transactions on 1, 1 (2004), 11–33.
[11]
AWS. 2018. Deploy an End-to-End IoT Application. https://aws.amazon.com/getting-started/projects/deploy-iot-application/services-costs/.
[12]
Amazon AWS. 2018. Cloud Watch.
[13]
Ezio Bartocci, Yliès Falcone, Adrian Francalanza, and Giles Reger. 2018. Introduction to runtime verification. In Lectures on Runtime Verification. Springer, 1–33.
[14]
Len Bass, Ingo Weber, and Liming Zhu. 2015. DevOps: A Software Architect’s Perspective. Addison-Wesley Professional.
[15]
Benoit Baudry, Martin Monperrus, Cendrine Mony, Franck Chauvel, Franck Fleurey, and Steven Clarke. 2014. DIVERSIFY: Ecology-inspired software evolution for diversity emergence. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week-IEEE Conference on. IEEE, 395–398.
[16]
Steffen Becker, Heiko Koziolek, and Ralf Reussner. 2009. The Palladio component model for model-driven performance prediction. Journal of Systems and Software 82, 1 (2009), 3–22.
[17]
PerOlof Bengtsson and Jan Bosch. 1998. Scenario-based software architecture reengineering. In Software Reuse, 1998. Proceedings. Fifth International Conference on. IEEE, 308–317.
[18]
P. Bengtsson and Jan Bosch. 1999. Architecture level prediction of software maintenance. In Software Maintenance and Reengineering, 1999. Proceedings of the Third European Conference on. IEEE, 139–147.
[19]
PerOlof Bengtsson, Nico Lassing, Jan Bosch, and Hans van Vliet. 2004. Architecture-level modifiability analysis (ALMA). Journal of Systems and Software 69, 1 (2004), 129–147.
[20]
Marcello M. Bersani, Francesco Marconi, Damian A. Tamburri, Pooyan Jamshidi, and Andrea Nodari. 2016. Continuous architecting of stream-based systems. In Software Architecture (WICSA), 2016 13th Working IEEE/IFIP Conference on. IEEE, 146–151.
[21]
Elisa Bertino and Nayeem Islam. 2017. Botnets and Internet of Things security. Computer 50, 2 (2017), 76–79.
[22]
Albert Bifet, Geoff Holmes, Richard Kirkby, and Bernhard Pfahringer. 2010. MOA: Massive online analysis. Journal of Machine Learning Research 11 (2010), 1601–1604. http://portal.acm.org/citation.cfm?id=1859903.
[23]
Benjamin Billet and Valérie Issarny. 2014. Dioptase: A distributed data streaming middleware for the future Web of Things. Journal of Internet Services and Applications 5, 1 (2014), 13.
[24]
Luiz F. Bittencourt, Javier Diaz-Montes, Rajkumar Buyya, Omer F. Rana, and Manish Parashar. 2017. Mobility-aware application scheduling in fog computing. IEEE Cloud Computing 4, 2 (2017), 26–35.
[25]
Gordon Blair, Nelly Bencomo, and Robert B. France. 2009. Models@ run. time. Computer 42, 10 (2009).
[26]
Barry W. Boehm and Kevin J. Sullivan. 2000. Software economics: A roadmap. In Proceedings of the Conference on The Future of Software Engineering. ACM, 319–343.
[27]
Jan Bosch. 2004. Software architecture: The next step. In European Workshop on Software Architecture. Springer, 194–199.
[28]
Léon Bottou and Olivier Bousquet. 2008. The tradeoffs of large scale learning. In Advances in Neural Information Processing Systems. 161–168.
[29]
Jürgen Branke, Kalyanmoy Deb, Henning Dierolf, and Matthias Osswald. 2004. Finding knees in multi-objective optimization. In International Conference on Parallel Problem Solving from Nature. Springer, 722–731.
[30]
Franz Brosch, Barbora Buhnova, Heiko Koziolek, and Ralf Reussner. 2011. Reliability prediction for fault-tolerant software architectures. In Proceedings of the Joint ACM SIGSOFT Conference–QoSA and ACM SIGSOFT Symposium–ISARCS on Quality of Software Architectures–QoSA and Architecting Critical Systems–ISARCS. 75–84.
[31]
Saheed A. Busari and Emmanuel Letier. 2017. Radar: A lightweight tool for requirements and architecture decision analysis. In Proceedings of the 39th International Conference on Software Engineering. IEEE Press, 552–562.
[32]
Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov, César A. F. De Rose, and Rajkumar Buyya. 2011. CloudSim: A toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Software: Practice and Experience 41, 1 (2011), 23–50.
[33]
Radu Calinescu. 2013. Emerging techniques for the engineering of self-adaptive high-integrity software. In Assurances for Self-Adaptive Systems. Springer, 297–310.
[34]
Humberto Cervantes and Rick Kazman. 2016. Designing Software Architectures: A Practical Approach. Addison-Wesley Professional.
[35]
Franck Chauvel, Nicolas Ferry, Brice Morin, Alessandro Rossini, and Arnor Solberg. 2013. Models@ runtime to support the iterative and continuous design of autonomic reasoners. In MoDELS@ Run. time. 26–38.
[36]
Yuang Chen and Thomas Kunz. 2016. Performance evaluation of IoT protocols under a constrained wireless access network. In Selected Topics in Mobile and Wireless Networking (MoWNeT), 2016 International Conference on. IEEE, 1–7.
[37]
Shang-Wen Cheng. 2008. Rainbow: Cost-effective Software Architecture-based Self-adaptation. Ph.D. Dissertation. Pittsburgh, PA, USA. Advisor(s) Garlan, David. AAI3305807.
[38]
Michael Cooney. 2019. Reports: As the IoT grows, so do its threats to DNS. https://www.networkworld.com/article/3411437/reports-as-the-iot-grows-so-do-its-threats-to-dns.html.
[39]
Deshan Cooray, Ehsan Kouroshfar, Sam Malek, and Roshanak Roshandel. 2013. Proactive self-adaptation for improving the reliability of mission-critical, embedded, and mobile software. IEEE Transactions on Software Engineering 39, 12 (2013), 1714–1735.
[40]
Iván Corredor, José F. Martínez, Miguel S. Familiar, and Lourdes López. 2012. Knowledge-aware and service-oriented middleware for deploying pervasive services. Journal of Network and Computer Applications 35, 2 (2012), 562–576.
[41]
Li Da Xu, Wu He, and Shancang Li. 2014. Internet of Things in industries: A survey. Industrial Informatics, IEEE Transactions on 10, 4 (2014), 2233–2243.
[42]
Rogério De Lemos, Holger Giese, Hausi A. Müller, Mary Shaw, Jesper Andersson, Marin Litoiu, Bradley Schmerl, Gabriel Tamura, Norha M. Villegas, Thomas Vogel, et al. 2013. Software engineering for self-adaptive systems: A second research roadmap. In Software Engineering for Self-Adaptive Systems II. Springer, 1–32.
[43]
Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, and TAMT Meyarivan. 2002. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6, 2 (2002), 182–197.
[44]
Janez Demšar. 2006. Statistical comparisons of classifiers over multiple data sets. Journal of Machine Learning Research 7, Jan (2006), 1–30.
[45]
Gregory Ditzler, Manuel Roveri, Cesare Alippi, and Robi Polikar. 2015. Learning in nonstationary environments: A survey. IEEE Computational Intelligence Magazine 10, 4 (2015), 12–25.
[46]
Liliana Dobrica and Eila Niemela. 2002. A survey on software architecture analysis methods. IEEE Transactions on Software Engineering 28, 7 (2002), 638–653.
[47]
Ahmed Elkhodary, Naeem Esfahani, and Sam Malek. 2010. FUSION: A framework for engineering self-tuning self-adaptive software systems. In Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 7–16.
[48]
Faezeh Ensan, Ebrahim Bagheri, and Dragan Gašević. 2012. Evolutionary search-based test generation for software product line feature models. In International Conference on Advanced Information Systems Engineering. Springer, 613–628.
[49]
Ilenia Epifani, Carlo Ghezzi, Raffaela Mirandola, and Giordano Tamburrelli. 2009. Model evolution by run-time parameter adaptation. In Proceedings of the 31st International Conference on Software Engineering. IEEE Computer Society, 111–121.
[50]
Naeem Esfahani, Ahmed Elkhodary, and Sam Malek. 2013. A learning-based framework for engineering feature-oriented self-adaptive software systems. IEEE Transactions on Software Engineering 39, 11 (2013), 1467–1493.
[51]
Naeem Esfahani, Sam Malek, and Kaveh Razavi. 2013. GuideArch: Guiding the exploration of architectural solution space under uncertainty. In Software Engineering (ICSE), 2013 35th International Conference on. IEEE, 43–52.
[52]
Thiago N. Ferreira, Jackson A. Prado Lima, Andrei Strickler, Josiel N. Kuk, Silvia R. Vergilio, and Aurora Pozo. 2017. Hyper-heuristic based product selection for software product line testing. IEEE Computational Intelligence Magazine 12, 2 (2017), 34–45.
[53]
Joao Gama, Pedro Medas, Gladys Castillo, and Pedro Rodrigues. 2004. Learning with drift detection. In Advances in Artificial Intelligence–SBIA 2004. Springer, 286–295.
[54]
João Gama, Indrė Žliobaitė, Albert Bifet, Mykola Pechenizkiy, and Abdelhamid Bouchachia. 2014. A survey on concept drift adaptation. ACM Computing Surveys (CSUR) 46, 4 (2014), 44.
[55]
David Garlan, Shang-Wen Cheng, An-Cheng Huang, Bradley Schmerl, and Peter Steenkiste. 2004. Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37, 10 (2004), 46–54.
[56]
Swapna S. Gokhale. 2007. Architecture-based software reliability analysis: Overview and limitations. IEEE Transactions on Dependable and Secure Computing 4, 1 (2007).
[57]
Jayavardhana Gubbi, Rajkumar Buyya, Slaven Marusic, and Marimuthu Palaniswami. 2013. Internet of Things (IoT): A vision, architectural elements, and future directions. Future Generation Computer Systems 29, 7 (2013), 1645–1660.
[58]
Tom Guérout, Thierry Monteil, Georges Da Costa, Rodrigo Neves Calheiros, Rajkumar Buyya, and Mihai Alexandru. 2013. Energy-aware simulation with DVFS. Simulation Modelling Practice and Theory 39 (2013), 76–91.
[59]
Harshit Gupta, Amir Vahid Dastjerdi, Soumya K. Ghosh, and Rajkumar Buyya. 2017. iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments. Software: Practice and Experience 47, 9 (2017), 1275–1296.
[60]
Kevin Gurney. 2014. An Introduction to Neural Networks. CRC press.
[61]
Matthew J. Hawthorne and Dewayne E. Perry. 2004. Applying design diversity to aspects of system architectures and deployment configurations to enhance system dependability. In DSN 2004 Workshop on Architecting Dependable Systems, (DSN-WADS’04).
[62]
John C. Hull. 2006. Options, Futures, and Other Derivatives. Pearson Education India.
[63]
Jez Humble and David Farley. 2010. Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation. Pearson Education.
[64]
Elena Ikonomovska, João Gama, and Sašo Džeroski. 2011. Learning model trees from evolving data streams. Data Mining and Knowledge Discovery 23, 1 (2011), 128–168.
[65]
Valérie Issarny, Georgios Bouloukakis, Nikolaos Georgantas, and Benjamin Billet. 2016. Revisiting service-oriented architecture for the IoT: A middleware perspective. In International Conference on Service-Oriented Computing. Springer, 3–17.
[66]
Pooyan Jamshidi, Miguel Velez, Christian Kästner, Norbert Siegmund, and Prasad Kawthekar. 2017. Transfer learning for improving model predictions in highly configurable software. In Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE Press, 31–41.
[67]
Anton Jansen and Jan Bosch. 2005. Software architecture as a set of architectural design decisions. In Software Architecture, 2005. WICSA 2005. 5th Working IEEE/IFIP Conference on. IEEE, 109–120.
[68]
Jessica Jones, Jason D. Hiser, Jack W. Davidson, and Stephanie Forrest. 2019. Defeating denial-of-service attacks in a self-managing N-variant system. In 2019 IEEE/ACM 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS). IEEE, 126–138.
[69]
Magne Jorgensen and Martin Shepperd. 2007. A systematic review of software development cost estimation studies. IEEE Transactions on Software Engineering 33, 1 (2007), 33–53.
[70]
Rick Kazman, Jai Asundi, and Mark Klein. 2001. Quantifying the costs and benefits of architectural decisions. In Proceedings of the 23rd International Conference on Software Engineering. IEEE Computer Society, 297–306.
[71]
Rick Kazman, Serge Haziyev, Andriy Yakuba, and Damian A. Tamburri. 2018. Managing energy consumption as an architectural quality attribute. IEEE Software 35, 5 (2018), 102–107.
[72]
Rick Kazman, Mark Klein, and Paul Clements. 2000. ATAM: Method for Architecture Evaluation. Technical Report. DTIC Document.
[73]
Dongsun Kim and Sooyong Park. 2009. Reinforcement learning-based dynamic adaptation planning method for architecture-based self-managed software. In 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems. IEEE, 76–85.
[74]
Jeremy Z. Kolter and Marcus A. Maloof. 2005. Using additive expert ensembles to cope with concept drift. In Proceedings of the 22nd International Conference on Machine Learning. ACM, 449–456.
[75]
Heiko Koziolek. 2011. Sustainability evaluation of software architectures: A systematic review. In Proceedings of the Joint ACM SIGSOFT Conference–QoSA and ACM SIGSOFT Symposium–ISARCS on Quality of Software Architectures–QoSA and Architecting Critical Systems–ISARCS. ACM, 3–12.
[76]
Christian Krupitzer, Felix Maximilian Roth, Sebastian VanSyckel, Gregor Schiele, and Christian Becker. 2015. A survey on engineering approaches for self-adaptive systems. Pervasive and Mobile Computing 17 (2015), 184–206.
[77]
John Langford, Lihong Li, and Tong Zhang. 2009. Sparse online learning via truncated gradient. Journal of Machine Learning Research 10, Mar (2009), 777–801.
[78]
Martin Leucker and Christian Schallhart. 2009. A brief account of runtime verification. The Journal of Logic and Algebraic Programming 78, 5 (2009), 293–303.
[79]
Redowan Mahmud, Ramamohanarao Kotagiri, and Rajkumar Buyya. 2018. Fog computing: A taxonomy, survey and future directions. In Internet of Everything. Springer, 103–130.
[80]
Indika Meedeniya, Irene Moser, Aldeida Aleti, and Lars Grunske. 2011. Architecture-based reliability evaluation under uncertainty. In Proceedings of the Joint ACM SIGSOFT Conference–QoSA and ACM SIGSOFT Symposium–ISARCS on Quality of Software Architectures–QoSA and Architecting Critical Systems–ISARCS. ACM, 85–94.
[81]
Gabriel A. Moreno, Javier Cámara, David Garlan, and Bradley Schmerl. 2016. Efficient decision-making under uncertainty for proactive self-adaptation. In Autonomic Computing (ICAC), 2016 IEEE International Conference on. IEEE, 147–156.
[82]
Gabriel A. Moreno, Alessandro Vittorio Papadopoulos, Konstantinos Angelopoulos, Javier Cámara, and Bradley Schmerl. 2017. Comparing model-based predictive approaches to self-adaptation: CobRA and PLA. In Software Engineering for Adaptive and Self-Managing Systems (SEAMS), 2017 IEEE/ACM 12th International Symposium on. IEEE, 42–53.
[83]
Brice Morin, Olivier Barais, Jean-Marc Jezequel, Franck Fleurey, and Arnor Solberg. 2009. Models@ run. time to support dynamic adaptation. Computer 42, 10 (2009).
[84]
Klara Nahrstedt, Hongyang Li, Phuong Nguyen, Siting Chang, and Long Vu. 2016. Internet of Mobile Things: Mobility-driven challenges, designs and implementations. In Internet-of-Things Design and Implementation (IoTDI), 2016 IEEE First International Conference on. IEEE, 25–36.
[85]
Robert L. Nord, Mario R. Barbacci, Paul Clements, Rick Kazman, and Mark Klein. 2003. Integrating the Architecture Tradeoff Analysis Method (ATAM) with the Cost Benefit Analysis Method (CBAM). Technical Report. DTIC Document.
[86]
Gustavo HFM Oliveira, Rodolfo C. Cavalcante, George G. Cabral, Leandro L. Minku, and Adriano L. I. Oliveira. 2017. Time series forecasting in the presence of concept drift: A PSO-based approach. In Tools with Artificial Intelligence (ICTAI), 2017 IEEE 29th International Conference on. IEEE, 239–246.
[87]
Steffen Opel. 2018. AWS Streamlines Amazon EC2 Spot Instance Pricing Model and Operational Complexity.
[88]
Ipek Ozkaya, Rick Kazman, and Mark Klein. 2007. Quality-attribute based economic valuation of architectural patterns. In Economics of Software and Computation, 2007. ESC’07. First International Workshop on the. IEEE, 5–5.
[89]
Sinno Jialin Pan, Qiang Yang, et al. 2010. A survey on transfer learning. IEEE Transactions on Knowledge and Data Engineering 22, 10 (2010), 1345–1359.
[90]
Gustavo G. Pascual, Roberto E. Lopez-Herrejon, Mónica Pinto, Lidia Fuentes, and Alexander Egyed. 2015. Applying multiobjective evolutionary algorithms to dynamic software product lines for reconfiguring mobile applications. Journal of Systems and Software 103 (2015), 392–411.
[91]
Kai Petersen, Sairam Vakkalanka, and Ludwik Kuzniarz. 2015. Guidelines for conducting systematic mapping studies in software engineering: An update. Information and Software Technology 64 (2015), 1–18.
[92]
R. J. Pooley and A. A. L. Abdullatif. 2010. CPASA: Continuous performance assessment of software architecture. In Engineering of Computer Based Systems (ECBS), 2010 17th IEEE International Conference and Workshops on. IEEE, 79–87.
[93]
Safdar Aqeel Safdar, Hong Lu, Tao Yue, and Shaukat Ali. 2017. Mining cross product line rules with multi-objective search and machine learning. In Proceedings of the Genetic and Evolutionary Computation Conference. 1319–1326.
[94]
Pete Sawyer, Animesh Pathak, Nelly Bencomo, and Valérie Issarny. 2012. How the Web of Things challenges requirements engineering. In International Conference on Web Engineering. Springer, 170–175.
[95]
Eduardo S. Schwartz and Lenos Trigeorgis. 2004. Real Options and Investment Under Uncertainty: Classical Readings and Recent Contributions. MIT press.
[96]
Software Engineering Institute (SEI). 2018. Reduce Risk with Architecture Evaluation. Technical Report. SEI/CMU.
[97]
Shai Shalev-Shwartz and Ambuj Tewari. 2011. Stochastic methods for l1-regularized loss minimization. Journal of Machine Learning Research 12, Jun (2011), 1865–1892.
[98]
Norbert Siegmund, Marko Rosenmüller, Christian Kästner, Paolo G. Giarrusso, Sven Apel, and Sergiy S. Kolesnikov. 2013. Scalable prediction of non-functional properties in software product lines: Footprint and memory consumption. Information and Software Technology 55, 3 (2013), 491–507.
[99]
Dalia Sobhy, Rami Bahsoon, Leandro Minku, and Rick Kazman. 2016. Diversifying software architecture for sustainability: A value-based perspective. Proceedings of 2016 the European Conference on Software Architecture (ECSA) (2016).
[100]
Dalia Sobhy, Leandro Minku, Rami Bahsoon, Tao Chen, and Rick Kazman. 2019. Run-time evaluation of architectures: A case study of diversification in IoT. Journal of Systems and Software (2019), 110428.
[101]
Michael Szvetits and Uwe Zdun. 2016. Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime. Software & Systems Modeling 15, 1 (2016), 31–69.
[102]
Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. 2009. Software Architecture: Foundations, Theory, and Practice. Wiley Publishing.
[103]
Paul Temple, José A. Galindo, Mathieu Acher, and Jean-Marc Jézéquel. 2016. Using machine learning to infer constraints for product lines. In Proceedings of the 20th International Systems and Software Product Line Conference. 209–218.
[104]
Gerald Tesauro. 2007. Reinforcement learning in autonomic computing: A manifesto and case studies. IEEE Internet Computing 11, 1 (2007), 22–30.
[105]
Jan Salvador van der Ven, Anton G. J. Jansen, Jos A. G. Nijhuis, and Jan Bosch. 2006. Design decisions: The bridge between rationale and architecture. In Rationale Management in Software Engineering. Springer, 329–348.
[106]
Florian Wagner, Fuyuki Ishikawa, and Shinichi Honiden. 2016. Robust service compositions with functional and location diversity. IEEE Transactions on Services Computing 9, 2 (2016), 277–290.
[107]
Shuo Wang, Leandro L. Minku, and Xin Yao. 2015. Resampling-based ensemble methods for online class imbalance learning. Knowledge and Data Engineering, IEEE Transactions on 27, 5 (2015), 1356–1368.
[108]
Hongyu Zhang, Stan Jarzabek, and Bo Yang. 2003. Quality prediction and assessment for product lines. In International Conference on Advanced Information Systems Engineering. Springer, 681–695.
[109]
Min-Ling Zhang and Zhi-Hua Zhou. 2007. ML-KNN: A lazy learning approach to multi-label learning. Pattern Recognition 40, 7 (2007), 2038–2048.

Cited By

View all
  • (2023)A Business-Oriented Methodology to Evaluate the Security of Software Architecture QuantitativelyInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350051134:02(239-271)Online publication date: 26-Sep-2023
  • (2022)Continuous engineering for Industry 4.0 architectures and systemsSoftware: Practice and Experience10.1002/spe.312452:10(2241-2262)Online publication date: 27-Jul-2022

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology  Volume 31, Issue 3
July 2022
912 pages
ISSN:1049-331X
EISSN:1557-7392
DOI:10.1145/3514181
  • Editor:
  • Mauro Pezzè
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 March 2022
Accepted: 01 October 2021
Revised: 01 October 2021
Received: 01 April 2019
Published in TOSEM Volume 31, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Continuous evaluation
  2. software architecture evaluation
  3. time series forecasting
  4. IoT

Qualifiers

  • Research-article
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)151
  • Downloads (Last 6 weeks)26
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)A Business-Oriented Methodology to Evaluate the Security of Software Architecture QuantitativelyInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350051134:02(239-271)Online publication date: 26-Sep-2023
  • (2022)Continuous engineering for Industry 4.0 architectures and systemsSoftware: Practice and Experience10.1002/spe.312452:10(2241-2262)Online publication date: 27-Jul-2022

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Full Text

View this article in Full Text.

Full Text

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media