Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/2486788.2486968acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Bottom-up model-driven development

Published: 18 May 2013 Publication History

Abstract

Prominent researchers and leading practitioners are questioning the long-term viability of model-driven development (MDD). Finkelstein recently ranked MDD as a bottom-ten research area, arguing that an approach based entirely on development and refinement of abstract representations is untenable. His view is that working with concrete artifacts is necessary for learning what to build and how to build it. What if this view is correct? Could MDD be rescued from such a critique? We suggest the answer is yes, but that it requires an inversion of traditional views of transformational MDD. Rather than develop complete, abstract system models, in ad-hoc modeling languages, followed by top-down synthesis of hidden concrete artifacts, we envision that engineers will continue to develop concrete artifacts, but over time will recognize patterns and concerns that can profitably be lifted, from the bottom-up, to the level of partial models, in general-purpose specification languages, from which visible concrete artifacts are generated, becoming part of the base of both concrete and abstract artifacts for subsequent rounds of development. This paper reports on recent work that suggests this approach is viable, and explores ramifications of such a rethinking of MDD. Early validation flows from experience applying these ideas to a healthcare-related experimental system in our lab.

References

[1]
Pol tool suite. http://www.cs.virginia.edu/ ∼ hb2j/Downloads/Pol.zip.
[2]
Anthony Finkelstein. Bottom 10 software engineering challenges. http://blog.prof.so/2012/06/bottom-10-software-engineering.html, 2012.
[3]
Architecture-Driven Modernization Task Force. Architecture-driven modernization (adm). http://adm.omg.org/, 2006.
[4]
H. Bagheri and K. Sullivan. Monarch: Model-based development of software architectures. In Proc. of MODELS’10, pages 376–390, 2010.
[5]
H. Bagheri and K. Sullivan. Pol: Specification-driven synthesis of architectural code frameworks for platform-based applications. In Proc. of GPCE’12, pages 93–102, 2012.
[6]
T. Ball, R. Majumdar, T. Millstein, and S. K. Rajamani. Automatic predicate abstraction of c programs. In Proc. of PLDI, 2001.
[7]
Damien Cassou, Emilie Balland, Charles Consel, and Julia Lawall. Leveraging software architectures to guide and verify the development of Sense/Compute/Control applications. In Proc. of the ICSE, 2011.
[8]
M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically discovering likely program invariants to support program evolution. IEEE Transactions on Software Engineering, 27:213–224, 2001.
[9]
G. Fairbanks, D. Garlan, and W. Scherlis. Design fragments make using frameworks easier. In Proc. of OOPSLA’06. 2006.
[10]
R. T. Fielding and R. N. Taylor. Principled design of the modern web architecture. In Proc. of ICSE, 2000.
[11]
D. Jackson. Alloy: a lightweight object modelling notation. TOSEM, 11(2):256–290, 2002.
[12]
B. Kitchenham, L. Pickard, and S. L. Pfleeger. Case studies for method and tool evaluation. IEEE Softw., 12(4):52–62, 1995.
[13]
Martin Fowler. Model driven software development. http://martinfowler.com/bliki/ModelDrivenSoftwareDevelopment.html, July 2008.
[14]
A. McNeile. MDA: the vision with the hole?, 2003.
[15]
Scott Ambler. Examining the MDA. http://www.agilemodeling.com/essays/mda.htm.
[16]
R. N. Taylor, N. Medvidovic, and E. Dashofy. Software Architecture: Foundations, Theory, and Practice. Wiley, 2009.
[17]
Y. Zheng and R. N. Taylor. Enhancing architecture-implementation conformance with change management and support for behavioral mapping. In Proc. of ICSE, pages 628–638, 2012.

Cited By

View all
  • (2021)flackProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00065(637-648)Online publication date: 22-May-2021
  • (2018)An evolutionary approach for analyzing Alloy specificationsProceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering10.1145/3238147.3240468(820-825)Online publication date: 3-Sep-2018
  • (2016)Titanium: efficient analysis of evolving alloy specificationsProceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2950290.2950337(27-38)Online publication date: 1-Nov-2016
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '13: Proceedings of the 2013 International Conference on Software Engineering
May 2013
1561 pages
ISBN:9781467330763

Sponsors

Publisher

IEEE Press

Publication History

Published: 18 May 2013

Check for updates

Qualifiers

  • Research-article

Conference

ICSE '13
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)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2021)flackProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00065(637-648)Online publication date: 22-May-2021
  • (2018)An evolutionary approach for analyzing Alloy specificationsProceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering10.1145/3238147.3240468(820-825)Online publication date: 3-Sep-2018
  • (2016)Titanium: efficient analysis of evolving alloy specificationsProceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2950290.2950337(27-38)Online publication date: 1-Nov-2016
  • (2014)TradeMaker: automated dynamic analysis of synthesized tradespacesProceedings of the 36th International Conference on Software Engineering10.1145/2568225.2568291(106-116)Online publication date: 31-May-2014

View Options

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