ABSTRACT
In many domains organizations need to serve a mass market while at the same time customers request highly individual solutions. Companies thus form software ecosystems (SECOs) comprising various related hardware and software product lines (SPLs). Technology changes, internal enhancements, and customer requests drive the evolution of such SECOs. Multiple projects are conducted in parallel to deliver customized solutions to customers. Developers often adhere to a staged configuration process: first, required software components are selected to derive an initial product, which is then evolved by refining features and adapting source code to meet customer requirements. These customer-specific solutions are often created using a clone-and-own approach and typically contain features potentially reusable in other solutions. However, the awareness of developers about such platform extensions is typically low and feedback from products to SPLs is often lacking. In this research-in-progress paper we thus present a publish-subscribe approach fostering the awareness about feature implementations in SECOs. The approach is based on feature feeds and SECO awareness models.
- F. Angerer, H. Prähofer, D. Lettner, A. Grimmer, and P. Grünbacher. Identifying inactive code in product lines with configuration-aware system dependence graphs. In Proc. of 18th Int'l Software Product Line Conf., 2014. Google ScholarDigital Library
- M. Antkiewicz, W. Ji, K. Czarnecki, T. Berger, T. Schmorleiz, R. Laemmel, S. Stănciulescu, A. Wąsowski, and I. Schaefer. Flexible product line engineering with a virtual platform. In ICSE, 2014. Google ScholarDigital Library
- A. Bacchelli and C. Bird. Expectations, outcomes, and challenges of modern code review. In Proc. of the Int'l Conf. on Software Engineering. IEEE, 2013. Google ScholarDigital Library
- S. Baumgart, J. Fröberg, and S. Punnekkat. Industrial challenges to achieve functional safety compliance in product lines. In Proc. Int'l Euromicro Conf. on Software Eng. and Advanced Applications, 2014. Google ScholarDigital Library
- C. Bird, P. Rigby, E. Barr, D. Hamilton, D. German, and P. Devanbu. The promises and perils of mining git. In 6th IEEE Int'l Working Conf. on Mining Software Repositories, pages 1--10, 2009. Google ScholarDigital Library
- G. Booch and A. W. Brown. Collaborative development environments. volume 59 of Advances in Computers, pages 1--27. Elsevier, 2003.Google Scholar
- J. Bosch. From software product lines to software ecosystems. In Proc. of 13th Int'l Software Product Line Conf., pages 111--119. Carnegie Mellon University, 2009. Google ScholarDigital Library
- V. Boucharas, S. Jansen, and S. Brinkkemper. Formalizing software ecosystem modeling. In Proc. of 1st Int'l Workshop on Open Component Ecosystems, pages 41--50. ACM, 2009. Google ScholarDigital Library
- J. Buckley, T. Mens, M. Zenger, A. Rashid, and G. Kniesel. Towards a taxonomy of software change. Journal of Software Maintenance, 17(5):309--332, 2005. Google ScholarDigital Library
- S. Chacon and B. Straub. Pro git, 2014. http://git-scm.com/book/en/v2, {Online; accessed 19-Dec-2014}. Google ScholarCross Ref
- CVL. Common variability language, 2012. http://www.omgwiki.org/variability/doku.php?id=start&rev=1351084099, {Online; accessed 13-June-2014}.Google Scholar
- K. Czarnecki, S. Helsen, and U. Eisenecker. Staged configuration using feature models. In Software Product Lines, pages 266--283. Springer, 2004.Google ScholarCross Ref
- L. Dabbish, C. Stuart, J. Tsay, and J. Herbsleb. Social coding in github: Transparency and collaboration in an open software repository. In Proc. of the Conf. on Computer Supported Coop. Work, pages 1277--1286. ACM, 2012. Google ScholarDigital Library
- P. Dourish and V. Bellotti. Awareness and coordination in shared workspaces. In Proc. of Conf. on Computer-supported Cooperative Work, pages 107--114. ACM, 1992. Google ScholarDigital Library
- P. T. Eugster, P. A. Felber, R. Guerraoui, and A.-M. Kermarrec. The many faces of publish/subscribe. ACM Comput. Surv., 35(2):114--131, 2003. Google ScholarDigital Library
- R. Frost. Jazz and the eclipse way of collaboration. Software, IEEE, 24(6):114--117, 2007. Google ScholarDigital Library
- W. Heider, P. Grünbacher, R. Rabiser, and M. Lehofer. Evolution-driven trace acquisition in eclipse-based product line workspaces. In Software and Systems Traceability, pages 195--213. Springer London, 2012.Google ScholarCross Ref
- W. Heider, R. Rabiser, and P. Grünbacher. Facilitating the evolution of products in product line engineering by capturing and replaying configuration decisions. STTT, 14(5):613--630, 2012.Google ScholarDigital Library
- G. Holl, P. Grünbacher, C. Elsner, and T. Klambauer. Supporting awareness during collaborative and distributed configuration of multi product lines. In APSEC, pages 137--147, 2012. Google ScholarDigital Library
- K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-oriented domain analysis (foda) feasibility study. Technical report, Carnegie-Mellon University Software Engineering Institute, 1990.Google ScholarCross Ref
- P. Knauber. Managing the evolution of software product lines. In 8th Intl. Conf. on Software Reuse, 2004.Google Scholar
- D. Lettner, F. Angerer, P. Grünbacher, and H. Prähofer. Software evolution in an industrial automation ecosystem: An exploratory study. In Proc. Int'l Euromicro Conf. on Software Eng. and Advanced Applications, 2014. Google ScholarDigital Library
- D. Lettner, F. Angerer, H. Prähofer, and P. Grünbacher. A case study on software ecosystem characteristics in industrial automation software. In Proc. of Int'l Conf. on Software and Systems Process, 2014. Google ScholarDigital Library
- D. Lettner, M. Petruzelka, R. Rabiser, F. Angerer, H. Prähofer, and P. Grünbacher. Custom-developed vs. model-based configuration tools: Experiences from an industrial automation ecosystem. In Proc. of the 17th Int'l Software Product Line Conf. Co-located Workshops, pages 52--58. ACM, 2013. Google ScholarDigital Library
- A. Pleuss, G. Botterweck, D. Dhungana, A. Polzer, and S. Kowalewski. Model-driven support for product line evolution on feature level. JSS, 85(10):2261--2274, 2012. Google ScholarDigital Library
- K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 1 edition, 2005. Google ScholarCross Ref
- M.-O. Reiser and M. Weber. Multi-level feature trees. Requir. Eng., 12(2):57--75, 2007. Google ScholarDigital Library
- J. Rubin, K. Czarnecki, and M. Chechik. Managing cloned variants: a framework and experience. In 17th Int'l Software Product Line Conf., pages 101--110. ACM, 2013. Google ScholarDigital Library
- K. Schmid. Variability modeling for distributed development -- a comparison with established practice. In Software Product Lines: Going Beyond, volume 6287, pages 151--165. Springer Berlin Heidelberg, 2010. Google ScholarDigital Library
- K. Schmid. Variability support for variability-rich software ecosystems. In 4th Workshop on Product LinE Approaches in Software Engineering, page 4. IEEE, 2013.Google Scholar
- K.-B. Schultis, C. Elsner, and D. Lohmann. Moving towards industrial software ecosystems: Are our software architectures fit for the future? In 4th Workshop on Product LinE Approaches in Software Engineering, 2013.Google ScholarCross Ref
- C. Seidl and U. Aßmann. Towards modeling and analyzing variability in evolving software ecosystems. In VaMoS, page 3. ACM, 2013. Google ScholarDigital Library
- S. Sen, W. Geyer, M. Muller, M. Moore, B. Brownholtz, E. Wilcox, and D. R. Millen. Feedme: A collaborative alert filtering system. In Proc. of 20th Anniversary Conf. on Computer Supported Cooperative Work, pages 89--98. ACM, 2006. Google ScholarDigital Library
- B. Sengupta, S. Chandra, and V. Sinha. A research agenda for distributed software development. In Proc. of 28th Int'l Conf. on Software Engineering, pages 731--740. ACM, 2006. Google ScholarDigital Library
- J. Surowiecki. The Wisdom of Crowds: Why the Many are Smarter Than the Few and how Collective Wisdom Shapes Business, Economies, Societies, and Nations. Doubleday, 2004. Google ScholarDigital Library
- C. Treude and M. Storey. Awareness 2.0: staying aware of projects, developers and tasks using dashboards and feeds. In 32nd Int'l Conf. on Software Eng., volume 1, pages 365--374, 2010. Google ScholarDigital Library
Index Terms
- Using Feature Feeds to Improve Developer Awareness in Software Ecosystem Evolution
Recommendations
Software product line evolution with cardinality-based feature models
ICSR'11: Proceedings of the 12th international conference on Top productivity through software reuseFeature models are widely used for modelling variability present in a Software Product Line family. We propose using cardinality-based feature models and clonable features to model and manage the evolution of the structural variability present in ...
Software product line evolution: the Selecta system
PLEASE '10: Proceedings of the 2010 ICSE Workshop on Product Line Approaches in Software EngineeringThe current technology gives little room for the different kinds of evolution needed for any software product line (SPL): evolution of the associated engineering environment, evolution of the market and SPL scope, evolution of the products and ...
Managing evolution in software product lines: a model-checking perspective
VaMoS '12: Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive SystemsIn Software Product Line (SPL) engineering, similar software products are developed in families rather than individually. Developing similar software at once leads to new challenges. In particular, the model checking problem for SPL is harder because it ...
Comments