The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
IEEE Transactions on Computers
A compositional approach to performance modelling
A compositional approach to performance modelling
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Composition Validation and Subjectivity in GenVoca Generators
IEEE Transactions on Software Engineering
Specification of abstract data types
Specification of abstract data types
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
Component-based software engineering: putting the pieces together
Component-based software engineering: putting the pieces together
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Generative Programming for Embedded Systems
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
A programming language for writing domain-specific software system generators
A programming language for writing domain-specific software system generators
IEEE Transactions on Software Engineering
Architectural Prototyping: An Approach for Grounding Architectural Design and Learning
WICSA '04 Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture
A disciplined approach to aspect composition
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Multilevel models in model-driven engineering, product lines, and metaprogramming
IBM Systems Journal - Model-driven software development
Feature Oriented Model Driven Development: A Case Study for Portlets
ICSE '07 Proceedings of the 29th international conference on Software Engineering
The Future of Software Performance Engineering
FOSE '07 2007 Future of Software Engineering
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Feature Diagrams and Logics: There and Back Again
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Program refactoring, program synthesis, and model-driven development
CC'07 Proceedings of the 16th international conference on Compiler construction
Hi-index | 0.00 |
Selecting the architecture that meets the requirements, both functional and non-functional, is a challenging task, especially at the early stage when more uncertainties exist. Architectural prototyping is a useful approach in supporting the evaluation of alternative architectures and balancing different architectural qualities. Generative programming has gained increasing attention, but it mostly deals with lower-level artifacts; hence, it usually supports lower degrees of software automation. This paper proposes an architecture-centric generative approach in facilitating architectural prototyping and evaluation. We also present our empirical experience in raising the level of abstraction to the architecture layer for distributed and concurrent systems using GenVoca. GenVoca is a generative programming approach that is used here to support the generation or instantiation of a particular architectural pattern in distributed computing based on user's selection. As a result, it can support rapid architectural prototyping and evaluation of both functional and non-functional requirements and encourage greater degrees of software automation and reuse. Lessons learned from the empirical study are also reported and could be applied to other areas.