Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1134285.1134337acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Model-based development of dynamically adaptive software

Published: 28 May 2006 Publication History

Abstract

Increasingly, software should dynamically adapt its behavior at run-time in response to changing conditions in the supporting computing and communication infrastructure, and in the surrounding physical environment. In order for an adaptive program to be trusted, it is important to have mechanisms to ensure that the program functions correctly during and after adaptations. Adaptive programs are generally more difficult to specify, verify, and validate due to their high complexity. Particularly, when involving multi-threaded adaptations, the program behavior is the result of the collaborative behavior of multiple threads and software components. This paper introduces an approach to create formal models for the behavior of adaptive programs. Our approach separates the adaptation behavior and non-adaptive behavior specifications of adaptive programs, making the models easier to specify and more amenable to automated analysis and visual inspection. We introduce a process to construct adaptation models, automatically generate adaptive programs from the models, and verify and validate the models. We illustrate our approach through the development of an adaptive GSM-oriented audio streaming protocol for a mobile computing application.

References

[1]
P. K. McKinley, S. M. Sadjadi, E. P. Kasten, and B. H. C. Cheng, "Composing adaptive software," IEEE Computer vol. 37, no. 7, pp. 56--64, 2004.
[2]
J. Bradbury, J. Cordy, J. Dingel, and M. Wermelinger, "A survey of self management in dynamic software architecture specifications," in Proc. of theACM SIGSOFT International Workshop on Self-Managed Systems (WOSS'04)(Newport Beach, California), pp. 28--33, October/November 2004.
[3]
D. L. Métayer, "Software architecture styles as graph grammars," in Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering pp. 15--23, ACM Press, 1996.
[4]
G. Taentzer, M. Goedicke, and T. Meyer, "Dynamic change management by distributed graph transformation: Towards configurable distributed systems," in Selected papers from the 6th International Workshop on Theory and Application of Graph Transformations pp. 179--193, Springer-Verlag, 2000.
[5]
D. Hirsch, P. Inverardi, and U. Montanari, "Graph grammars and constraint solving for software architecture styles," in Proceedings of the third international workshop on Software architecture pp. 69--72, ACM Press, 1998.
[6]
P. Oreizy, N. Medvidovic, and R. N. Taylor, "Architecture-based runtime software evolution," in Proceedings of the 20th international conference on Software engineering pp. 177--186, IEEE Computer Society, 1998.
[7]
R. N. Taylor, N. Medvidovic, K. M. Anderson, E. J. Whitehead, Jr., and J. E. Robbins, "A component-and message-based architectural style for GUI software," in Proceedings of the 17th international conference on Software engineering pp. 295--304, ACM Press, 1995.
[8]
J. Kramer, J. Magee, and M. Sloman, "Configuring distributed systems," in Proceedings of the 5th workshop on ACM SIGOPS European workshop pp. 1--5, ACM Press, 1992.
[9]
R. Allen, R. Douence, and D. Garlan, "Specifying and analyzing dynamic software architectures," in Proceedings of the 1998 Conference on Fundamental Approaches to Software Engineering (FASE'98)(Lisbon, Portugal), March 1998.
[10]
J. Kramer and J. Magee, "Analysing dynamic change in software architectures: a case study," in Proc. of 4th IEEE international conference on configuratble distributed systems (Annapolis), May 1998.
[11]
C. Canal, E. Pimentel, and J. M. Troya, "Specification and refinement of dynamic software architectures," in Proceedings of the TC2 First Working IFIP Conference on Software Architecture (WICSA1) pp. 107--126, Kluwer, B. V., 1999.
[12]
Z. Zhou, P. K. McKinley, and S. M. Sadjadi, "On quality-of-service and energy consumption tradeoffs in fec-encoded wireless audio streaming," in Proceedings of the 12th IEEE International Workshop on Quality of Service (IWQoS 2004) (Montreal, Canada), June 2004. best paper award.
[13]
C. A. Petri, Kommunikation mit A utomaten PhDthesis, Sehriften des Institutes flir instrumentelle Mathematik, Bonn, Germany, 1962.
[14]
J. L. Peterson, "Petri nets," ACM Comput. Surv. vol. 9, no. 3, pp. 223--252, 1977.
[15]
M. Mäkelä, "Maria: Modular reachability analyser for algebraic system nets," in ICATPN '02: Proceedings of the 23rd International Conference on Applications and Theoryof Petri Nets (London, UK), pp. 434--444, Springer-Verlag, 2002.
[16]
O. Kummer and F. Wienberg, "Renew--the reference net workshop," in In Tool Demonstrations, 21st International Conference on Application and Theory of Petri Nets (Aarhus, Denmark), pp. 28--30, 2000.
[17]
J.--C. Bolot and A. Vega-Garcia, "Control mechanisms for packet audio in the internet," in Proceedings of IEEE INFO-COM96 (San Francisco, California), pp. 232--239, 1996.
[18]
O. Lichtenstein and A. Pnueli, "Checking that finite state concurrent programs satisfy their linear specification," in Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages pp. 97--107, ACM Press, 1985.
[19]
D. M. Berry, B. H. Cheng, and J. Zhang, "The four levels of requirements engineering for and in dynamic adaptive systems," in Proc. of 11th International Workshop on Requirements Engineering: Foundation for Software Quality (Porto, Portugal), June 2005.
[20]
J. Zhang and B. H. Cheng, "Specifying adaptation semantics," in Proceedings of ICSE 2005 Workshop on Architecting Dependable Systems (St. Louis, Missouri), May 2005.
[21]
A. Lapouchnian, S. Liaskos, J. Mylopoulos, and Y. Yu, "Towards requirements-driven autonomic systems design," in Proceedings of ICSE 2005 Workshop on Design and Evolution of Autonomic Application Software (St. Louis, Missouri), May 2005.
[22]
A. van Lamsweerde, "Goal-oriented requirements engineering: A guided tour," in Proceedings of the 5th IEEE International Symposium on Requirements Engineering p. 249, IEEE Computer Society, 2001.
[23]
M. B. Dwyer and C. S. Pasareanu, "Filter-based model checking of partial systems," in SIGSOFT '98/FSE-6: Proceedings of the 6th ACM SIGSOFT International Symposium on Foundations of Software Engineering pp. 189--202, ACM Press, 1998.
[24]
J. Zhang and B. H. Cheng, "Model-based development of dynamically adaptive software," Tech. Rep. MSU-CSE-05-24, Computer Science and Engineering, Michigan State University, East Lansing, Michigan, September 2005.
[25]
H. Bowman and S. J. Thompson, "A tableaux method for Interval Temporal Logic with projection," in TABLEAUX'98, International Conference on Analytic Tableaux and Related Methods no. 1397 in Lecture Notes in AI, pp. 108--123, Springer-Verlag, May 1998.
[26]
A. Pretschner,"Model-based testing," in ICSE '05: Proceedings of the 27th international conference on Software engineering (New York, NY, USA), pp. 722--723, ACM Press, 2005.
[27]
B. Potter, J. Sinclair, and D. Till, An introduction to Formal Specification and Z Prentice Hall International (UK) Ltd, 1991.
[28]
J. Rumbaugh, I. Jacobson, and G. Booch, The Unified Modeling Language reference manual Addison-Wesley, 1999.
[29]
C. A. R. Hoare, Communicating sequential processes Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 1985.
[30]
"RAPIDware." http://www. cse. msu. edu/rapidware/.
[31]
J. Zhang, Z. Yang, B. H. Cheng, and P. K. McKinley, "Adding safeness to dynamic adaptation techniques," in Proceedings of ICSE 2004 Workshop on Architecting Dependable Systems (Edinburgh, Scotland, UK), May 2004.
[32]
S. S. Kulkarni, K. N. Biyani, and U. Arumugam, "Composing distributed fault-tolerance components," in Proccedings of the International Conference on Dependable Systems and Networks (DSN), Supplemental Volume, Workshop on Principles of Dependable Systems pp. W127--W136, June 2003.
[33]
S. Kulkarni and K. Biyani, "Correctness of component-based adaptation," in Proceedings of International Symposium on Component-based Software Engineering May 2004.
[34]
W.-K. Chen, M. A. Hiltunen, and R. D. Schlichting, "Constructing adaptive software in distributed systems," in Proc. of the 21st International Conference on Distributed Computing Systems (Mesa, AZ), April 16--19 2001.
[35]
J. Appavoo, K. Hui, C. A. N. Soules, et al. "Enabling autonomic behavior in systems software with hot swapping," IBM System Journal vol. 42, no. 1, p. 60, 2003.
[36]
S. Krishnamurthi, K. Fisler, and M. Greenberg, "Verifying aspect advice modularly," in SIGSOFT '04/FSE-12: Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering (New York, NY, USA), pp. 137--146, ACM Press, 2004.
[37]
T. A. Henzinger, R. Jhala, R. Majumdar, and M. A. Sanvido, "Extreme model checking," Verification: Theory and Practice, Lecture Notes in Computer Science 2772, Springer-Verlag pp. 332--358, 2004.
[38]
M. Mäkelä, "Model checking safety properties in modular high-level nets," in Application and Theory of Petri Nets 2003, 24th International Conference, ICATPN 2003 (volume 2679 of Lecture Notes in Computer Science) (Eindhoven, The Netherlands), pp. 201--220, Springer-Verlag, June 2003.

Cited By

View all
  • (2023)Timed-SAS: Modeling and Analyzing the Time Behaviors of Self-Adaptive Software under UncertaintyApplied Sciences10.3390/app1303201813:3(2018)Online publication date: 3-Feb-2023
  • (2023)ActivFORMS: A Formally Founded Model-based Approach to Engineer Self-adaptive SystemsACM Transactions on Software Engineering and Methodology10.1145/352258532:1(1-48)Online publication date: 13-Feb-2023
  • (2023)Impact of Software Engineering Research in Practice: A Patent and Author Survey AnalysisIEEE Transactions on Software Engineering10.1109/TSE.2022.320821049:4(2020-2038)Online publication date: 1-Apr-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '06: Proceedings of the 28th international conference on Software engineering
May 2006
1110 pages
ISBN:1595933751
DOI:10.1145/1134285
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 May 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. autonomic computing
  2. dynamic adaptation
  3. formal specification
  4. global invariants
  5. reliability
  6. verification

Qualifiers

  • Article

Conference

ICSE06
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)44
  • Downloads (Last 6 weeks)5
Reflects downloads up to 01 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Timed-SAS: Modeling and Analyzing the Time Behaviors of Self-Adaptive Software under UncertaintyApplied Sciences10.3390/app1303201813:3(2018)Online publication date: 3-Feb-2023
  • (2023)ActivFORMS: A Formally Founded Model-based Approach to Engineer Self-adaptive SystemsACM Transactions on Software Engineering and Methodology10.1145/352258532:1(1-48)Online publication date: 13-Feb-2023
  • (2023)Impact of Software Engineering Research in Practice: A Patent and Author Survey AnalysisIEEE Transactions on Software Engineering10.1109/TSE.2022.320821049:4(2020-2038)Online publication date: 1-Apr-2023
  • (2023)Dynamic Runtime Integration of New Models in Digital Twins2023 IEEE/ACM 18th Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)10.1109/SEAMS59076.2023.00016(44-55)Online publication date: May-2023
  • (2023)MoDALAS: addressing assurance for learning-enabled autonomous systems in the face of uncertaintySoftware and Systems Modeling10.1007/s10270-023-01090-922:5(1543-1563)Online publication date: 18-Mar-2023
  • (2023)Toward Run-time Coordination of Reconfiguration Requests in Cloud Computing SystemsCoordination Models and Languages10.1007/978-3-031-35361-1_15(271-291)Online publication date: 15-Jun-2023
  • (2023)Component‐based specification, design and verification of adaptive systemsSystems Engineering10.1002/sys.2167526:5(567-589)Online publication date: 6-Apr-2023
  • (2022)Assured Mission Adaptation of UAVsACM Transactions on Autonomous and Adaptive Systems10.1145/351309116:3-4(1-27)Online publication date: 6-Jul-2022
  • (2022)Dynamic update for synthesized GR(1) controllersProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510054(786-797)Online publication date: 21-May-2022
  • (2022)Safe Dynamic Reconfiguration of Concurrent Component-based Applications2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C54293.2022.00027(108-111)Online publication date: Mar-2022
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media