skip to main content
research-article

Pol: specification-driven synthesis of architectural code frameworks for platform-based applications

Published:26 September 2012Publication History
Skip Abstract Section

Abstract

Developing applications that use complex platforms for functionalities such as authentication and messaging is hard. Model-driven engineering promises to help, but transformation systems are themselves hard to produce. We contribute a new approach using constraint-based synthesis of partial code frameworks that developers complete by hand without the need for hand-coded transformation systems. Rather, synthesis is driven by formal, partial specifications of target platforms and application architectures, and by design (code) fragments encoding application-specific platform us-age patterns. We present results of an early evaluation using the case study method to test hypotheses of feasibility and potential industrial utility, using a laboratory model of a nationwide health information network as a subject system.

References

  1. CometD. http://cometd.org/.Google ScholarGoogle Scholar
  2. Couchdb. http://couchdb.apache.org/.Google ScholarGoogle Scholar
  3. HornetQ. http://www.jboss.org/hornetq.Google ScholarGoogle Scholar
  4. OAuth. https://labs.ericsson.com/apis/oauth2-framework/.Google ScholarGoogle Scholar
  5. Restlet. http://www.restlet.org/.Google ScholarGoogle Scholar
  6. Nhin exchange architecture overview. http://healthit.hhs.gov/portal/server.pt/gateway/PTARGS_0_11113_911643_0_0_18/NHIN_Architecture_Overview_Draft_20100421.pdf, 2010.Google ScholarGoogle Scholar
  7. J. Aldrich, C. Chambers, and D. Notkin. ArchJava: connecting software architecture to implementation. In Proc. of ICSE, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Antkiewicz, K. Czarnecki, and M. Stephan. Engineering of framework-specific modeling languages. TSE, 35(6): 795--824, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. H. Bagheri. A formal approach to software synthesis for architectural platforms. In Proc. of ICSE '11, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. H. Bagheri, Y. Song, and K. Sullivan. Architectural style as an independent variable. In Proc. of ASE'10, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. H. Bagheri, K. Sullivan, and S. Son. Spacemaker: Practical formal synthesis of tradeoff spaces for object-relational mapping. In Proc. of SEKE'12, 2012.Google ScholarGoogle Scholar
  12. L. Baresi, R. Heckel, S. Thöne, and D. Varro. Style-based modeling and refinement of service-oriented architectures. SoSyM, 5(2): 187--207, June 2006.Google ScholarGoogle ScholarCross RefCross Ref
  13. R. Buse and W. Weimer. A metric for software readability. In Proc. of ISSTA, pages 121--130, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. E. Di Nitto and D. Rosenblum. Exploiting ADLs to specify architectural styles induced by middleware infrastructures. In Proc. of ICSE'99, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. G. Edwards and N. Medvidovic. A methodology and framework for creating domain-specific development infrastructures. In Proc. of ASE'08, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. G. Fairbanks, D. Garlan, and W. Scherlis. Design fragments make using frameworks easier. In Proc. of OOPSLA'06. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. T. Fielding and R. N. Taylor. Principled design of the modern web architecture. In Proc. of ICSE'00, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Garlan, J. M. Barnes, B. Schmerl, and O. Celiku. Evolution styles: Foundations and tool support for software architecture evolution. In Proc. of WICSA'09, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  19. A. Heydarnoori, K. Czarnecki, and T. T. Bartolomei. Supporting framework use via automatically extracted concept-implementation templates. In Proc. of ECOOP'09. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. P. Holdren and E. Lander. Realizing the full potential of health information technology to improve healthcare for americans: The path forward. Technical report, Presidents Council of Advisors on Science and Technology (PCAST), 2010.Google ScholarGoogle Scholar
  21. D. Hou and H. J. Hoover. Using scl to specify and check design intent in source code. TSE, 32(6): 404--423, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Jackson. Alloy: a lightweight object modelling notation. TOSEM, 11(2): 256--290, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. G. Karsai, A. Agrawal, F. Shi, and J. Sprinkle. On the use of graph transformations for the formal specification of model interpreters. J. UCS, 9(11): 1296--1321, 2003.Google ScholarGoogle Scholar
  24. P. Kelsen and Q. Ma. A lightweight approach for defining the formal semantics of a modeling language. In Proc. of MODELS'08, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. S. Kim and D. Garlan. Analyzing architectural styles with alloy. In ROSATEA '06 Proceedings of the ISSTA 2006 workshop on Role of software architecture for testing and analysis, pages 70--80, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. B. Kitchenham, L. Pickard, and S. L. Pfleeger. Case studies for method and tool evaluation. IEEE Softw., 12(4): 52--62, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. Malek, G. Edwards, Y. Brun, H. Tajalli, J. Garcia, I. Krka, N. Medvidovic, M. Mikic-Rakic, and G. S. Sukhatme. An architecture-driven software mobility framework. Journal of Systems and Software, 83(6): 972--989, June 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Malek, M. Mikic-Rakic, and N. Medvidovic. A Style-Aware architectural middleware for Resource-Constrained, distributed systems. TSE, 31(3): 256--272, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. N. Medvidovic, E. M. Dashofy, and R. N. Taylor. The role of middleware in Architecture-Based software development. IJSEKE, 13(4): 367--393, 2003.Google ScholarGoogle Scholar
  30. Ralph Johnson. Frameworks = components + patterns. Commun. ACM, 40(10): 39--42, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. A. L. Santos, K. Koskimies, and A. Lopes. Automating the construction of domain-specific modeling languages for object-oriented frameworks. Journal of Systems and Software, 83(7): 1078--1093, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. M. Shaw, R. DeLine, D. V. Klein, T. L. Ross, D. M. Young, and G. Zelesnik. Abstractions for software architecture and tools to support them. TSE, 21(4): 314--335, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. P. Sousa and D. Garlan. Formal modeling of the enterprise JavaBeans(TM) component integration framework. Information and Software Technology, 43(3): 171--188, Mar. 2001.Google ScholarGoogle ScholarCross RefCross Ref
  34. K. J. Sullivan, M. Marchukov, and J. Socha. Analysis of a conflict between aggregation and interface negotiation in microsoft's component object model. TSE, 25(4): 584--599, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. D. Tamzalit and T. Mens. Guiding architectural restructuring through architectural styles. In Proc. of ECBS'10, pages 69--78, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. N. Ubayashi, J. Nomura, and T. Tamai. Archface: a contract place where architectural design and code meet together. In Proc. of ICSE, pages 75--84, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. J. White, J. H. Hill, J. Gray, S. Tambe, A. S. Gokhale, and D. C. Schmidt. Improving Domain-Specific language reuse with software product line techniques. IEEE Software, 26(4): 47--53, Aug. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. S. Wong, J. Sun, I. Warren, and J. Sun. A scalable approach to multi-style architectural modeling and verification. In Proc. of ICECCS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Y. Zheng and R. N. Taylor. Enhancing architecture-implementation conformance with change management and support for behavioral mapping. In Proceedings of ICSE 2012, pages 628--638, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Pol: specification-driven synthesis of architectural code frameworks for platform-based applications

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 48, Issue 3
      GPCE '12
      March 2013
      140 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2480361
      Issue’s Table of Contents
      • cover image ACM Conferences
        GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component Engineering
        September 2012
        148 pages
        ISBN:9781450311298
        DOI:10.1145/2371401

      Copyright © 2012 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 26 September 2012

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!