Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

The ABS tool suite: modelling, executing and analysing distributed adaptable object-oriented systems

  • SW-Diversity
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Modern software systems must support a high degree of variability to accommodate a wide range of requirements and operating conditions. This paper introduces the Abstract Behavioural Specification (ABS) language and tool suite, a comprehensive platform for developing and analysing highly adaptable distributed concurrent software systems. The ABS language has a hybrid functional and object- oriented core, and comes with extensions that support the development of systems that are adaptable to diversified requirements, yet capable to maintain a high level of trustworthiness. Using ABS, system variability is consistently traceable from the level of requirements engineering down to object behaviour. This facilitates temporal evolution, as changes to the required set of features of a system are automatically reflected by functional adaptation of the system’s behaviour. The analysis capabilities of ABS stretch from debugging, observing and simulating to resource analysis of ABS models and help ensure that a system will remain dependable throughout its evolutionary lifetime. We report on the experience of using the ABS language and the ABS tool suite in an industrial case study.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Albert, E., Arenas, P., Genaim, S., Puebla, G.n, Zanardini, D.: COSTA: Design and Implementation of a Cost and Termination Analyzer for Java Bytecode. In: Proceedings of FMCO’07, vol. 5382 LNCS, pp. 113–133. Springer, Berlin (2008)

  2. Albert, E., Arenas, P., Genaim, S., Gómez-Zamalloa, M., Puebla, G.: Cost Analysis of Concurrent OO programs. In: The 9th Asian Symposium on Programming Languages and Systems (APLAS’11). Springer, Berlin, December (2011) (to appear)

  3. Apel, S., Batory, D.: When to use features and Aspects? A case study. In: International Conference on Generative Programming and Component Engineering, GPCE ’06, pp. 59–68. ACM Press (2006)

  4. Albert, E., Bubel, R., Genaim, S., Hähnle, R., Puebla, G., Román-Díez, G.: Verified resource guarantees using COSTA and KeY. In: ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation (PEPM’11). ACM Press (2011)

  5. Atkinson, C., Bayer, J., Muthig, D.: Component-based product line development: The KobrA approach. In: SPLC (2000)

  6. Abrial J.-R.: The B-Book—Assigning programs to meanings. Cambridge University Press, Cambridge (2005)

    Google Scholar 

  7. The ABS language specification. (2011) http://tools.hats-project.eu/download/absrefmanual.pdf

  8. Albert, E., Correas, J., Puebla, G., Román-Díez, G.: Incremental resource usage Analysis. In: ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM 2012), pp. 25–34. ACM Press, January 2012

  9. Ahrendt, W., Dylla, M.: A verification system for distributed objects with asynchronous method calls. In: Breitman, K., Cavalcanti, A. (eds.) Formal methods and software engineering, international conference on formal engineering methods (ICFEM’09), vol. 5885, Lecture Notes in Computer Science, pp. 387–406. Springer, Berlin (2009)

  10. Ahrendt, W., Dylla, M.: A system for compositional verification of asynchronous objects. Sci. Comput. Program. (2011)

  11. Albert, E., Flores-Montoya, A., Genaim, S.: Analysis of May-Happen-in-parallel in Concurrent objects. In: 14th IFIP WG 6.1 International Conference FMOODS 2012 and 32nd IFIP WG 6.1 International Conference FORTE 2012, Stockholm, Sweden, pp. 13–16 June, 2012, Proceedings, IFIP-LNCS. Springer, June 2012

  12. Albert, E., Genaim, S., Gómez-Zamalloa, S., Johnsen, E.B., Schlatte, R., Tapia Tarifa, S.L.: Simulating concurrent behaviors with worst-case cost bounds. In: Butler, M., Schulte, W. (eds.) Proceedings of 17th International Symposium on Formal Methods (FM 2011), vol. 6664, Lecture Notes in Computer Science, pp. 353–368. Springer, Berlin (2011)

  13. Apel, S., Lengauer, C.: Superimposition: A language-independent approach to software composition. In: Software Composition, vol. 4954, Lecture Notes in Computer Science, pp. 20–35. Springer, Berlin (2008)

  14. Apel S., Lengauer C., Möller B., Kästner C.: An algebraic foundation for automatic feature-based program synthesis. Sci. Comput. Program. (SCP) 75(11), 1022–1047 (2010)

    Article  MATH  Google Scholar 

  15. Apel, S., Leich, T., Rosenmüller, M., Saake, G.: FeatureC++: On the symbiosis of feature-oriented and aspect-oriented programming. In: GPCE, vol. 3676, Lecture Notes in Computer Science, pp. 125–140. Springer, Berlin (2005)

  16. Armstrong J.: Erlang. Commun. ACM 53(9), 68–75 (2010)

    Article  Google Scholar 

  17. Apel, S., Scholz, W., Lengauer, C., Kästner, C.: Detecting Dependences and interactions in feature-oriented design. In: IEEE International Symposium on Software Reliability Engineering (ISSRE) (2010)

  18. Bekic H., Bjørner D., Henhapl W., Jones C.B., Lucas P.: On the formal definition of a PL/I subset (selected parts). In: Jones, C.B. (ed.) Programming Languages and Their Definition, vol. 177, Lecture Notes in Computer Science, pp. 107–155. Springer, Berlin (1984)

    Chapter  Google Scholar 

  19. Batory D., Benavides D., Ruiz-Cortes A.: Automated analysis of feature models: challenges ahead. Commun. ACM 49(12), 45–47 (2006)

    Article  Google Scholar 

  20. Boucher, Q., Classen, A., Faber, P., Heymans, P.: Introducing TVL, a text-based feature modelling language. In: Proceedings of the Fourth International Workshop on Variability Modelling of Software-intensive Systems (VaMoS’10), Linz, Austria, January 27–29, pp. 159–162. University of Duisburg-Essen, January 2010

  21. Beck, K.: Simple smalltalk testing: with patterns. Smalltalk Report, 4(3), October 1994

  22. Bjørner, D., Jones, C.B. (eds.) The Vienna Development Method: The Meta- Language, vol. 61, Lecture Notes in Computer Science, Springer, Berlin (1978)

  23. Batory, D.S., Sarvela, J.N., Rauschmayer, Axel.: Scaling step-wise refinement. IEEE Trans. Softw. Eng. 30(6) (2004)

  24. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.L. (eds): All About Maude—A high-performance logical framework, how to specify, program and verify systems in rewriting logic, vol. 4350, Lecture Notes in Computer Science. Springer, Berlin (2007)

    Google Scholar 

  25. Clarke, D., Diakov, N., HÄhnle, R., Johnsen, E.B., Puebla, G., Weitzel, B., Wong P.Y.H.: HATS: A Formal software product line engineering methodology. In: Proceedings of International Workshop on Formal Methods in Software Product Line Engineering, September 2010

  26. Clarke D., Diakov N., HÄhnle R., Johnsen E.B., Schaefer I., SchÄfer J., Schlatte R., Wong P.Y.H.: Modeling Spatial and Temporal Variability with the HATS Abstract Behavioral Modeling Language. In: Bernardo, M., Issarny, V. (eds) Formal methods for eternal networked software systems, vol. 6659, Lecture Notes in Computer Science, pp. 417–457. Springer, Berlin (2011)

    Chapter  Google Scholar 

  27. Czarnecki K., Helsen S., Eisenecker U.: Formalizing cardinality-based feature models and their specialization. Softw. Process Improv. Pract. 10(1), 7–29 (2005)

    Article  Google Scholar 

  28. Clarke, D., Muschevici, R., Proença, J., Schaefer, I., Schlatte, R.: Variability modelling in the ABS language. In: Formal Methods for Components and Objects, vol. 6957 of LNCS. Springer, Berlin (2011)

  29. Din, C.C., Dovland, J., Johnsen, E.B., Owe, O.: Observable behavior of distributed systems: Component reasoning for concurrent objects. J. Logic Algebr. Program. (2012) (to appear)

  30. Requirement Elicitation, August (2009) Deliverable 5.1 of project FP7-231620 (HATS). http://www.hats-project.eu

  31. Dovland J., Johnsen E.B., Owe O.: Observable behavior of dynamic systems: Component reasoning for concurrent objects. In: Goldin, D., Arbab, F. (eds) Proceedings of Workshop on the Foundations of Interactive Computation (FInCo’07) vol. 203 of Electronic Notes in Theoretical Computer Science., pp. 19–34. Elsevier, Amsterdam (2008)

    Google Scholar 

  32. Gomaa Hassan: Designing Software Product Lines with UML. Addison Wesley, Boston (2004)

    Google Scholar 

  33. Hewitt, C., Bishop, P., Steiger, R.: A universal modular actor formalism for artificial intelligence. In: IJCAI, pp. 235–245 (1973)

  34. Helvensteijn M., Muschevici R., Wong P.Y.H.: Delta modeling in practice: a Fredhopper case study. In: Eisenecker, U.W., Apel, S., Gnesi, S. (eds) International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS)., pp. 139–148. ACM Press, New York (2012)

    Chapter  Google Scholar 

  35. Hoare C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  36. Hooman J., Verhoef M.: Formal semantics of a vdm extension for distributed embedded systems. In: Dams, D., Hannemann, U., Steffen, M. (eds) Concurrency, Compositionality, and Correctness, vol. 5930, Lecture Notes in Computer Science, pp. 142–161. Springer, BErlin (2010)

    Chapter  Google Scholar 

  37. Heidenreich, F., Wende, C.: Bridging the gap between features and models. In: Aspect-Oriented Product Line Engineering (AOPLE’07) (2007)

  38. Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: A core language for abstract behavioral specification. In: Aichernig B., de Boer F.S., Bonsangue M.M. (eds.) Proceedings of 9th International Symposium on Formal Methods for Components and Objects (FMCO 2010), vol. 6957 of LNCS, pp. 142–164. Springer, Berlin (2011)

  39. Johnsen, E. B., Lanese, I., Zavattaro, G.: Fault in the future. In: Meuter W.D., Roman G.-C. (eds.) Proceedings of 13th International Conference on Coordination Models and Languages (COORDINATION 2011), vol. 6721, Lecture Notes in Computer Science, pp. 1–15. Springer, Berlin (2011)

  40. Johnsen E.B., Owe O.: An asynchronous communication model for distributed concurrent objects. Softw. Syst. Model. 6(1), 35–58 (2007)

    Article  Google Scholar 

  41. Johnsen, E.B., Owe, O., Schlatte, R., Tapia Tarifa, S.L.: Validating timed models of deployment components with parametric concurrency. In: Beckert, B., Marché, C. (eds.) Proceedings of International Conference on Formal Verification of Object-Oriented Software (FoVeOOS’10), vol. 6528 Lecture Notes in Computer Science, pp. 46–60. Springer, Berlin (2011)

  42. Kästner, C., Apel, S., Kuhlemann, M.: Granularity in software product lines. In: ICSE pp. 311–320 (2008)

  43. Kang, K.C., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-021, Carnegie Mellon University Software Engineering Institute (1990)

  44. Larsen P.G., Battle N., Ferreira M.A., Fitzgerald J.S., Lausdahl K., Verhoef M.: The Overture initiative integrating tools for VDM. ACM SIGSOFT Softw. Eng. Notes. 35(1), 1–6 (2010)

    Article  Google Scholar 

  45. Milner R.: Communicating and Mobile Systems: the π-Calculus. Cambridge University Press, Cambridge (1999)

    Google Scholar 

  46. Mezini, M., Ostermann, K.: Variability management with feature-oriented programming and aspects. In: SIGSOFT FSE, pp. 127–136. ACM, New York (2004)

  47. Noda, N., Kishi, T.: Aspect-Oriented Modeling for Variability Management. In: SPLC (2008)

  48. Pohl K., Böckle G., Van Der Linden F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)

    MATH  Google Scholar 

  49. Prehofer, C.: Feature-oriented programming: A fresh look at objects. In: European Conference on Object-Oriented Programming (ECOOP’97), vol. 1241, Lecture Notes in Computer Science, pp. 419–443. Springer, Berlin (1997)

  50. Reiser, M.-O., Kolagari, R.T., Weber, M.: Compositional variability—concepts and patterns. In: HICSS, pp. 1–10. IEEE Computer Society (2009)

  51. Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-oriented programming of software product lines. In: Proceedings of 14th Software Product Line Conference (SPLC 2010), September 2010

  52. Schaefer, I., Bettini, L., Damiani, F., Tanzarella, N.: Delta-oriented programming of software product lines. In: Proceedings of the 14th International Conference on Software Product Lines: Going Beyond, SPLC’10, pp. 77–91. Springer, Berlin (2010)

  53. Schaefer I., HÄhnle R.: Formal methods in software product line engineering. IEEE Comput. 44(2), 82–85 (2011)

    Article  Google Scholar 

  54. Spivey J.M.: The Z notation—a reference manual. Prentice Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  55. Völter, M., Groher, I.: Product line implementation using aspect-oriented and model-driven software development. In: SPLC, pp. 233–242 (2007)

  56. Verhoef M., Larsen P.G., Hooman J.: Modeling and validating distributed embedded real-time systems with VDM++. In: Misra, J., Nipkow, T., Sekerinski, E. (eds) FM, vol. 4085, Lecture Notes in Computer Science, pp. 147–162. Springer, Berlin (2006)

    Google Scholar 

  57. Wong, P.Y.H., Diakov, N., Schaefer, I.: Modelling distributed adaptable object-oriented systems using hats approach: A fredhopper case study. In: Beckert, B., Damiani, F., Gurov, D. (eds.) 2nd International Conference on Formal Verification of Object-Oriented Software, vol. 7421 of LNCS. Springer, Berlin (2012)

  58. Wegbreit, B.: Mechanical program analysis. Commun. ACM 18(9) (1975)

  59. Welsch, Y., Schäfer, J.: Location types for safe distributed object-oriented programming. In: 49th International Conference on Objects, Models, Components and Patterns (TOOLS Europe 2011), LNCS, pp. 194–210. Springer, June 2011

  60. Waldo J., Wyant G., Wollrath A., Kendall S.C.: A note on distributed computing. In: Vitek, J., Tschudin, C.F. (eds) Mobile Object Systems, vol. 1222, Lecture Notes in Computer Science, pp. 49–64. Springer, Berlin (1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peter Y. H. Wong.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wong, P.Y.H., Albert, E., Muschevici, R. et al. The ABS tool suite: modelling, executing and analysing distributed adaptable object-oriented systems. Int J Softw Tools Technol Transfer 14, 567–588 (2012). https://doi.org/10.1007/s10009-012-0250-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-012-0250-1

Keywords