A Platform-based Design Approach for Flexible Software Components

: We develop a design method that promotes flexible component design based on a common component platform with various plug-ins. The approach increases the flexibility and expandability of software components, which improves their reuse opportunities. We argue that such a flexible component design can expand reuse from relatively small infrastructure items, such as user interfaces, printing functionality, and data access modules, to the core of the application domain. Reusing such domain-specific items helps realize the true value of component-based software development. Following a design science research approach, we evaluated the component design method by assessing its correctness and its application to different scenarios. We also recruited a panel of experts to assess it. original component platform. The design approach defines how one can structure domain-specific components to support flexibility and maximize their reuse potential, and we evaluate the approach against its objectives. the for its design, which can be determined through domain analysis. We the modeling (UML) of the object-oriented design model to illustrate the design of a flexible Our method formalizes the design of the core component platform and plug-in hierarchy.

[1]  Antonio Ruiz Cortés,et al.  Article in Press G Model the Journal of Systems and Software an Overview of Dynamic Software Product Line Architectures and Techniques: Observations from Research and Industry , 2022 .

[2]  Ivo Krka,et al.  Scalable and Accurate Prediction of Availability of Atomic Web Services , 2014, IEEE Transactions on Services Computing.

[3]  Alina Gîrbea,et al.  Design and Implementation of a Service-Oriented Architecture for the Optimization of Industrial Applications , 2014, IEEE Transactions on Industrial Informatics.

[4]  Douglas C. Schmidt,et al.  Evolving feature model configurations in software product lines , 2014, J. Syst. Softw..

[5]  Atish P. Sinha,et al.  Ease of Reuse: An Empirical Comparison of Components and Objects , 2013, IEEE Software.

[6]  Marcelo R. Campo,et al.  Bottom-Up and Top-Down Cobol System Migration to Web Services , 2013, IEEE Internet Computing.

[7]  Robert J. Walker,et al.  Systematizing pragmatic software reuse , 2012, TSEM.

[8]  Luciano Baresi,et al.  Service-Oriented Dynamic Software Product Lines , 2012, Computer.

[9]  Ivica Crnkovic,et al.  Software Components beyond Programming: From Routines to Services , 2011, IEEE Software.

[10]  Sherry D. Ryan,et al.  A theoretical framework of component-based software development phases , 2010, DATB.

[11]  A. Govardhan,et al.  A PRAGMATIC APPROACH TO SOFTWARE REUSE , 2010 .

[12]  Hans-Arno Jacobsen,et al.  A distributed service-oriented architecture for business process execution , 2010, TWEB.

[13]  Depei Qian,et al.  Design Web Services: Towards Service Reuse at the Design Level , 2009, J. Comput..

[14]  Wang Chengjun Pattern Oriented Service Development for Coarse-Grained Service Reuse , 2008, 2008 International Symposium on Knowledge Acquisition and Modeling.

[15]  J. Sprinkle,et al.  The 8th OOPSLA workshop on domain-specific modeling , 2008, OOPSLA Companion.

[16]  Gunter Saake,et al.  Code generation to support static and dynamic composition of software product lines , 2008, GPCE '08.

[17]  Reidar Conradi,et al.  An empirical investigation of software reuse benefits in a large telecom product , 2008, TSEM.

[18]  Alberto L. Sangiovanni-Vincentelli,et al.  Software Components for Reliable Automotive Systems , 2008, 2008 Design, Automation and Test in Europe.

[19]  Vijayan Sugumaran,et al.  A knowledge-based framework for extracting components in agile systems development , 2008, Inf. Technol. Manag..

[20]  Latika Kharb,et al.  Complexity metrics for component-oriented software systems , 2008, SOEN.

[21]  Samir Chatterjee,et al.  A Design Science Research Methodology for Information Systems Research , 2008 .

[22]  Jian Yang,et al.  Service componentization : toward service reuse and specialization , 2008 .

[23]  Krzysztof Czarnecki Software reuse and evolution with generative techniques , 2007, ASE '07.

[24]  Paul Grünbacher,et al.  Integrated tool support for software product line engineering , 2007, ASE '07.

[25]  Peter Bell,et al.  A practical high volume software product line , 2007, OOPSLA '07.

[26]  José Manuel Marqués Corral,et al.  Seamless development of software product lines , 2007, GPCE '07.

[27]  Panagiotis Manolios,et al.  Automating component-based system assembly , 2007, ISSTA '07.

[28]  Klaus Pohl,et al.  Variability management in software product line engineering , 2006, ICSE.

[29]  Sooyong Park,et al.  Extending reusable asset specification to improve software reuse , 2007, SAC '07.

[30]  Antônio Francisco do Prado,et al.  A component-based framework for the internet content adaptation domain , 2007, SAC '07.

[31]  Kung-Kiu Lau,et al.  Software Component Models , 2006, IEEE Transactions on Software Engineering.

[32]  John D. McGregor,et al.  Getting there from here: a roadmap for software product line adoption , 2006, CACM.

[33]  Charles W. Krueger,et al.  New methods in software product line practice , 2006, CACM.

[34]  Reidar Conradi,et al.  An empirical study of developers views on software reuse in statoil ASA , 2006, ISESE '06.

[35]  Nasib S. Gill,et al.  Importance of software component characterization for better software reusability , 2006, SOEN.

[36]  Matthew J. LaMantia Dependency models as a basis for analyzing software product platform modularity : a case study in strategic software design rationalization , 2006 .

[37]  Vijayan Sugumaran,et al.  Flexible Software Component Design Using A Product Platform Approach , 2006, ICIS.

[38]  Muthu Ramachandran,et al.  Software reuse guidelines , 2005, IRI -2005 IEEE International Conference on Information Reuse and Integration, Conf, 2005..

[39]  Martin Erwig,et al.  Software reuse for scientific computing through program generation , 2005, TSEM.

[40]  David M. Weiss,et al.  Software Product Line Engineering , 2005, SEKE.

[41]  Fatemeh Zahedi,et al.  Strategy-based design of reusable business components , 2004, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[42]  Alan R. Hevner,et al.  Design Science in Information Systems Research , 2004, MIS Q..

[43]  Petri I Salonen,et al.  Evaluation of a Product Platform Strategy for Analytical Application Software , 2004 .

[44]  Fatemeh Zahedi,et al.  Design, retrieval, and assembly in component-based software development , 2003, CACM.

[45]  Nasib S. Gill,et al.  Reusability issues in component-based development , 2003, SOEN.

[46]  Fatemeh Zahedi,et al.  Knowledge-Based Repository Scheme for Storing and Retrieving Business Components: A Theoretical Design and an Empirical Analysis , 2003, IEEE Trans. Software Eng..

[47]  Patrick Donohoe,et al.  Product Line Production Planning for the Home Integration System Example , 2002 .

[48]  F. Javier Lerch,et al.  A laboratory study of consumers' preferences and purchasing behavior with regards to software components , 2002, Data Base.

[49]  Dániel Fey,et al.  Feature Modeling: A Meta-Model to Enhance Usability and Usefulness , 2002, SPLC.

[50]  F. Salvadora,et al.  Modularity , product variety , production volume , and component sourcing : theorizing beyond generic prescriptions , 2002 .

[51]  M. Sääksjärvi Software Application Platforms: From Product Architecture to Integrated Application Strategy , 2002, COMPSAC.

[52]  S.A. Hissam,et al.  Building systems from commercial components , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[53]  Jon Hopkins,et al.  Component primer , 2000, CACM.

[54]  Hemant K. Jain,et al.  Research issues in testing business components , 2000, Inf. Manag..

[55]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[56]  Jan Bosch,et al.  Organizing for Software Product Lines , 2000, IW-SAPF.

[57]  Richard Dué The Economics of Component-Based Development , 2000, Inf. Syst. Manag..

[58]  Patrick Donohoe Software product lines : experience and research directions : proceedings of the First Software Product Lines Conference (SPLC1), August 28-31, 2000, Denver, Colorado, USA , 2000 .

[59]  David Sprott,et al.  Componentizing the Enterprise Application Packages. , 2000 .

[60]  George T. Heineman A model for designing adaptable software components , 1998, Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241).

[61]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[62]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[63]  John M. Favaro,et al.  FODAcom: an experience with domain analysis in the Italian telecom industry , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[64]  Clemens A. Szyperski Emerging component software technologies — a strategic comparison , 1998, Softw. Concepts Tools.

[65]  John M. Favaro,et al.  Value based software reuse investment , 1998, Ann. Softw. Eng..

[66]  M. Meyer,et al.  Product Platforms in Software Development , 1998 .

[67]  Marc H. Meyer,et al.  The power of product platforms : building value and cost leadership , 1997 .

[68]  Victor R. Basili,et al.  How reuse influences productivity in object-oriented systems , 1996, CACM.

[69]  Jeffrey S. Poulin,et al.  The Business Case for Software Reuse , 1993, IBM Syst. J..

[70]  James M. Neighbors,et al.  The Draco Approach to Constructing Software from Reusable Components , 1984, IEEE Transactions on Software Engineering.