Feature-Based Customisation of Tool Environments for Model-Driven Software Development

Model-driven software development (MDSD) bridges the gap between domain-specific abstractions and general purpose implementation languages and promises enhanced productivity for software engineering. The availability and appropriateness of tool environments supporting the developer is a crucial factor for such productivity promises. The widespread use of MDSD on various domains means a special challenge for the development of MDSD environments. Tool users expect advanced tools customised for the very special domain they are working in. However, tool development and customisation is a complex and expensive task. To address these challenges we propose to apply the principles of software product line engineering (SPLE) for feature-based customisation of MDSD tool environments. This paper is an experience report for the development of a product-line of MDSD tool environments that employ ontology technology to advance MDSD. Finally, we discuss the lessons learned as well as the benefits and challenges observed for feature-based tool customisation.

[1]  Albert Alderson,et al.  Meta-CASE Technology , 1991, Software Development Environments and CASE Technology.

[2]  Steffen Staab,et al.  OntoDSL: An Ontology-Based Framework for Domain-Specific Languages , 2009, MoDELS.

[3]  Deborah L. McGuinness,et al.  OWL Web ontology language overview , 2004 .

[4]  Hanspeter Mössenböck,et al.  A Component Plug-In Architecture for the .NET Platform , 2006, JMLC.

[5]  Marek Kasztelnik,et al.  Towards semantic modeling of network physical devices , 2009, MODELS'09.

[6]  Steffen Staab,et al.  Validating Process Refinement with Ontologies , 2009, Description Logics.

[7]  Linda M. Northrop,et al.  Quantifying Product Line Benefits , 2001, PFE.

[8]  Mary Shaw,et al.  Beyond Programming-in-the-Large: The Next Challenges for Software Engineering , 1986, Advanced Programming Environments.

[9]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[10]  M. N. Wicks Tool Integration in Software Engineering Environments , 2005 .

[11]  Florian Heidenreich Towards systematic ensuring well-formedness of software product lines , 2009, FOSD '09.

[12]  David Alex Lamb,et al.  Software engineering - planning for change , 1988 .

[13]  Christian Wende,et al.  A Model-based Product-Line for Scalable Ontology Languages (cid:63) , 2009 .

[14]  Maria H. Penedo,et al.  An annotated bibliography on integration in software engineering environments , 1992, SOEN.

[15]  Werner Nutt,et al.  The Complexity of Concept Languages , 1997, KR.

[16]  Robert N. Charette,et al.  Software Engineering Environments: Concepts and Technology , 1986 .

[17]  Paul Grünbacher,et al.  Product Line Tools are Product Lines Too: Lessons Learned from Developing a Tool Suite , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[18]  Christian Wende,et al.  FeatureMapper: mapping features to models , 2008, ICSE Companion '08.

[19]  Kalle Lyytinen,et al.  MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment , 1996, CAiSE.

[20]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[21]  Don S. Batory,et al.  Feature-oriented programming and the AHEAD tool suite , 2004, Proceedings. 26th International Conference on Software Engineering.

[22]  Ian Horrocks,et al.  FaCT++ Description Logic Reasoner: System Description , 2006, IJCAR.

[23]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[24]  Jeff Z. Pan,et al.  Task Representation and Retrieval in an Ontology-Guided Modelling System , 2009, OWLED.

[25]  Tim Boudreau,et al.  NetBeans: The Definitive Guide , 2002 .

[26]  Nazim H. Madhavji,et al.  The Impact of Tools on Software Productivity , 1996, IEEE Softw..

[27]  Yarden Katz,et al.  Pellet: A practical OWL-DL reasoner , 2007, J. Web Semant..

[28]  W. Stinson Views of software development environments , 1989, SOEN.

[29]  Jim des Rivières,et al.  Eclipse: A platform for integrating development tools , 2004, IBM Syst. J..

[30]  A. Endres,et al.  Proceedings of the European symposium on Software development environments and CASE technology , 1991 .

[31]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[32]  Jeff Z. Pan,et al.  TrOWL: Tractable OWL 2 Reasoning Infrastructure , 2010, ESWC.

[33]  S. Dmitriev Language Oriented Programming: The Next Programming Paradigm , 2004 .

[34]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[35]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[36]  Jeff Z. Pan,et al.  A semantic web approach to feature modeling and verification , 2005 .

[37]  Christian Wende,et al.  On Controlled Visualisations in Software Product Line Engineering , 2008, SPLC.

[38]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[39]  Gerald W. Both,et al.  Object-oriented analysis and design with applications , 1994 .

[40]  Hannes Schwarz,et al.  Model-Driven Software Development , 2013 .

[41]  David Alex Lamb,et al.  Case Environments and Metacase Tools , 1997 .

[42]  Stefan Seedorf,et al.  Applications of Ontologies in Software Engineering , 2006 .

[43]  Peter Grogono The Future of Programming , 1995 .

[44]  Mario Piattini,et al.  Ontologies for Software Engineering and Software Technology , 2010 .