ABSTRACT
In this paper, we offer an alternative vision for domain driven development (3D). Our approach is model driven and emphasizes the use of generic and specific domain oriented programming (DOP) languages. DOP uses strong specific languages, which directly incorporate domain abstractions, to allow knowledgeable end users to succinctly express their needs in the form of an application computation. Most domain driven development (3D) approaches and techniques are targeted at professional software engineers and computer scientists. We argue that DOP offers a promising alternative. Specifically we are focused on empowering application developers who have extensive domain knowledge as well as sound foundations in their professions, but may not be formally trained in computer science.We provide a brief survey of DOP experiences, which show that many of the best practices such as patterns, refactoring, and pair programming are naturally and ideally practiced in a Model Driven Development (MDD) setting. We compare and contrast our DOP with other popular approaches, most of which are deeply rooted in the OO community.Finally we highlight challenges and opportunities in the design and implementation of such languages.
- Philip Cox and Trevor Smedley, End-User and Domain-Specific Programming (EUP) Symposium, 2002 IEEE Symposia on Human Centric Computing Languages and Environments (HCC'02).Google Scholar
- Alan J. Perlis and Spencer Rugaber, Programming with idioms in APL, International Conference on APL Proceedings, Pages: 232 -- 235, 1979. Google ScholarDigital Library
- J. Hughes, Why Functional Programming Matters, Computer Journal, 32, 2, pp 98--107, 1989. Google ScholarDigital Library
- Simon Peyton Jones, Jean-Marc Eber and Julian Seward, Composing Contracts: An Adventure in Financial Engineering, ICFP 2000. Google ScholarDigital Library
- Mark Baker, Internet Programming with OmniMark, 2000. Google ScholarDigital Library
- APL 2002, Proceedings of the 2002 International Conference on APL: Array Processing Languages: Lore, Problems, and Applications, July 22-25, 2002, Madrid, Spain. ACM, 2002.Google Scholar
- Philip Wadler, Functional Programming in the Real World, http://www.research.avayalabs.com/user/wadler/realworld/.Google Scholar
- David B. Lamkins, Appendix A - Successful Lisp Applications, Successful Lisp: How to Understand and Use Common Lisp, <http://www.psg.com/~dlamkins/sl/appendix-a.html>.Google Scholar
- Dave Thomas, Ubiquitous Applications: Embedded Systems to Mainframe, Communications of the ACM <http://portal.acm.org/toc.cfm?id=J79&type=periodical&coll=portal&dl=ACM&CFID=9759906&CFTOKEN=98965897>&coll=portal&dl=ACM&CFID=9759906&CFTOKEN=98965897>&dl=ACM&CFID=9759906&CFTOKEN=98965897>&CFID=9759906&CFTOKEN=98965897>&CFTOKEN=98965897>>Volume 38, Issue 10 (October 1995). Google ScholarDigital Library
- Visual Language Research Bibliography http://cs.oregonstate.edu/~burnett/vpl.html.Google Scholar
- http://wwhttp://cs.oregonstate.edu/~burnett/vpl.html#V2A4w.usenix.org/publications/library/proceedings/dsl99/technical.html <http://www.usenix.org/publications/library/proceedings/dsl99/technical.html>Google Scholar
- Steven T. Karris, Signals and Systems with MATLAB Applications, Orchard Publications, 2001.Google Scholar
- <http://www.bricklin.com/visicalc.htm>.Google Scholar
- <http://www.pictorius.com/>.Google Scholar
- http://www.maplesoft.com/products/.Google Scholar
Index Terms
- Model driven development: the case for domain oriented programming
Recommendations
Model driven development with Ada
System and software development has become an increasingly complex science. With so many emerging devices, processors, systems specification languages, software implementation languages, and tools for all of these, there needs to be a common denominator ...
Discussing the Difference between Model Driven Architecture and Model Driven Development in the Context of Supporting Tools
ICSEA '09: Proceedings of the 2009 Fourth International Conference on Software Engineering AdvancesThe most current trends in the evolution of software development process are closely related with the increasing complexity of software systems. This motivates software engineers and system developers to find an alternative solution for software system ...
Domain-specific languages for embedded systems portable software development
FRUCT'16: Proceedings of the 16th Conference of Open Innovations Association FRUCTIn this paper we present a new method of Domain Specific Language development for a portable software development for embedded systems. Domain Specific Languages allow to involve domain experts apart with programmers in embedded software development. We ...
Comments