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.
- CometD. http://cometd.org/.Google Scholar
- Couchdb. http://couchdb.apache.org/.Google Scholar
- HornetQ. http://www.jboss.org/hornetq.Google Scholar
- OAuth. https://labs.ericsson.com/apis/oauth2-framework/.Google Scholar
- Restlet. http://www.restlet.org/.Google Scholar
- 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 Scholar
- J. Aldrich, C. Chambers, and D. Notkin. ArchJava: connecting software architecture to implementation. In Proc. of ICSE, 2002. Google Scholar
Digital Library
- M. Antkiewicz, K. Czarnecki, and M. Stephan. Engineering of framework-specific modeling languages. TSE, 35(6): 795--824, 2009. Google Scholar
Digital Library
- H. Bagheri. A formal approach to software synthesis for architectural platforms. In Proc. of ICSE '11, 2011. Google Scholar
Digital Library
- H. Bagheri, Y. Song, and K. Sullivan. Architectural style as an independent variable. In Proc. of ASE'10, 2010. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- R. Buse and W. Weimer. A metric for software readability. In Proc. of ISSTA, pages 121--130, 2008. Google Scholar
Digital Library
- E. Di Nitto and D. Rosenblum. Exploiting ADLs to specify architectural styles induced by middleware infrastructures. In Proc. of ICSE'99, 1999. Google Scholar
Digital Library
- G. Edwards and N. Medvidovic. A methodology and framework for creating domain-specific development infrastructures. In Proc. of ASE'08, 2008. Google Scholar
Digital Library
- G. Fairbanks, D. Garlan, and W. Scherlis. Design fragments make using frameworks easier. In Proc. of OOPSLA'06. 2006. Google Scholar
Digital Library
- R. T. Fielding and R. N. Taylor. Principled design of the modern web architecture. In Proc. of ICSE'00, 2000. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- A. Heydarnoori, K. Czarnecki, and T. T. Bartolomei. Supporting framework use via automatically extracted concept-implementation templates. In Proc. of ECOOP'09. 2009. Google Scholar
Digital Library
- 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 Scholar
- D. Hou and H. J. Hoover. Using scl to specify and check design intent in source code. TSE, 32(6): 404--423, 2006. Google Scholar
Digital Library
- D. Jackson. Alloy: a lightweight object modelling notation. TOSEM, 11(2): 256--290, 2002. Google Scholar
Digital Library
- 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 Scholar
- P. Kelsen and Q. Ma. A lightweight approach for defining the formal semantics of a modeling language. In Proc. of MODELS'08, 2008. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- B. Kitchenham, L. Pickard, and S. L. Pfleeger. Case studies for method and tool evaluation. IEEE Softw., 12(4): 52--62, 1995. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Ralph Johnson. Frameworks = components + patterns. Commun. ACM, 40(10): 39--42, 1997. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- D. Tamzalit and T. Mens. Guiding architectural restructuring through architectural styles. In Proc. of ECBS'10, pages 69--78, 2010. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Pol: specification-driven synthesis of architectural code frameworks for platform-based applications
Recommendations
Pol: specification-driven synthesis of architectural code frameworks for platform-based applications
GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component EngineeringDeveloping 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 ...
Translating between Alloy specifications and UML class diagrams annotated with OCL
Model-driven engineering (MDE) is a software engineering approach based on model transformations at different abstraction levels. It prescribes the development of software by successively transforming the models from abstract (specifications) to more ...
Translating alloy specifications to UML class diagrams annotated with OCL
SEFM'11: Proceedings of the 9th international conference on Software engineering and formal methodsModel-Driven Engineering (MDE) is a Software Engineering approach based on model transformations at different abstraction levels. It prescribes the development of software by successively transforming models from abstract (specifications) to more ...






Comments