The pragmatic programmer: from journeyman to master
The pragmatic programmer: from journeyman to master
Patterns of Enterprise Application Architecture
Patterns of Enterprise Application Architecture
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Domain Specific Languages
A domain specific language for interactive enterprise application development
WISM'11 Proceedings of the 2011 international conference on Web information systems and mining - Volume Part II
User interface engineering for software product lines: the dilemma between automation and usability
Proceedings of the 4th ACM SIGCHI symposium on Engineering interactive computing systems
A case study on variability in user interfaces
Proceedings of the 16th International Software Product Line Conference - Volume 1
Model-driven development and evolution of customized user interfaces
Proceedings of the 5th ACM SIGCHI symposium on Engineering interactive computing systems
Hi-index | 0.00 |
Many Software Product Line case studies focus on the fact that an ROI can be achieved in 3-5 projects. This paper asks the question "what has to be done differently to be able to generate 10,000 custom applications a year?". As wholesalers of custom web applications for Small to Medium Sized Businesses, we have to create highly customizable web applications in minutes -- not months. After 18 months of research and experimentation we have developed a layered system that focuses on the reuse of declarative executable specifications rather than the reuse of imperative code, allowing us to blend speed of development with flexibility of the generated solutions. The system uses a feature modeler to select common functionality and a decision support system to de-skill the customization process. It has a collection of Domain Specific Languages for describing the vast majority of custom functionality required by our clients and an extensible framework allowing any system functionality to be overloaded/extended using custom code if necessary. In this paper we provide an introduction to the key theoretical concepts required to understand the system. We then introduce our domain specific languages for describing web applications. We then look at the process of building applications using SystemsForge and then we highlight our conclusions to date and document some of the outstanding issues that we are still investigating relating to managing Domain Specific Language evolution and interactions.