SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Framing software reuse: lessons from the real world
Framing software reuse: lessons from the real world
Design and use of software architectures: adopting and evolving a product-line approach
Design and use of software architectures: adopting and evolving a product-line approach
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
XML-Based Method and Tool for Handling Variant Requirements in Domain Models
RE '01 Proceedings of the Fifth IEEE International Symposium on Requirements Engineering
Eliminating redundancies with a "composition with adaptation" meta-programming technique
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
XVCL: a mechanism for handling variants in software product lines
Science of Computer Programming - Special issue: Software variability management
Beyond templates: a study of clones in the STL and some general implications
Proceedings of the 27th international conference on Software engineering
An investigation of cloning in web applications
WWW '05 Special interest tracks and posters of the 14th international conference on World Wide Web
Detecting higher-level similarity patterns in programs
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Industrial experience with building a web portal product line using a lightweight, reactive approach
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Applying a generative technique for enhanced genericity and maintainability on the J2EE platform
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
Hi-index | 0.00 |
Component-based reuse in mission critical Command and Control system domain was a starting point for a long lasting research collaboration between National University of Singapore (NUS) and ST Electronics Pte. Ltd. (STEE). STEE industrial projects as well as NUS lab studies revealed limitations of conventional architecture-centric, component-based reuse in the area of generic design to unify similarity patterns (e.g., similar classes, components or architectural patterns) commonly found in software. Further research showed that meta-level extensions to conventional techniques could strengthen their generic design capabilities, considerably improving effectiveness of reuse solutions, and increasing productivity gains due to reuse. These experiences led to development of "mixed strategy" approach based on synergistic application of meta-level generative programming technique of XVCL, together with conventional programming techniques. In the paper, we describe university-industry collaboration that proved beneficial for both parties: STEE advanced reuse practice via application of XVCL in several software product line projects. Early inputs from STEE helped NUS team validate and refine XVCL reuse methods, and expand into new research directions. We describe a sequence of projects that led to successful application of XVCL in industrial projects. We describe experiences from those projects and their significance for both industrial practice and understanding principles of flexible software, i.e., software that can be easily changed and adapted to various reuse contexts.