Creating an architecture using Unified Modeling Language (UML) in the implementation of an Internal Domain Specific Language (IDSL): construction of an IDSL for modeling optimization problems
DOI:
https://doi.org/10.31908/19098367.298Keywords:
specific domain, model directed development, Internal Domian Specific Language, Embedded Domain Specific Language, RubyAbstract
This article demonstrates how to create an architecture that is designed to implement an Internal Domain Specific Language (IDSL) oriented to the modeling of optimization problems. It also introduces the methodology C4 as the one selected to start the design process and how it can be applied through the building architecture, which gives diagrams in UML as a result, as well as the description of the tasks and objectives that meet the functional components that configures base of the system.
Downloads
References
M. Fowler, Domain – Specific Languages. Ed. Boston: AddisonWesley, 2011.
D. Flanagan and Y. Matsumoto, The Ruby Programming Language. Ed. California: O’Reilly, 2008.
P. Cooper.,Beginning Ruby From Novice to Professional, ed 2nd . Ed New York: Apress, 2009.
D. Ghosh, DSLs in Action. Ed. Stamford: Manning, 2010.
D. Ghosh, DSLs in Action. Ed. Stamford: Manning, 2010.
S. Günther, Agile DSL-Engineering with Patterns in Ruby.
E. Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software. Ed. Addison Wesley, 2003.
M. Voelter, DSL Engineering. Designing, Implementing and Using Domain-Specific Languages. [Online]. Available: http://dslbook.org.
M. Mernik, “When and How to Develop Domain-Specific Languages”. ACM Computing Surveys. vol 37, pp 316-344, december 2005.
R. Fourer, D. M. Gay, B. W. Kernighan, AMPL: A Modeling Language for Mathematical Programming, 2da ed. 2003.
IBM ILOG OPL Language User’s Manual [Online]. Available: http://cedric.cnam.fr/~lamberta/MPRO/ECMA /doc/ oplTutorial.pdf
T. Halpin. UML Data Models From An ORM Perspective: Part 1.[Online]. Available: http://www.orm.net /pdf/ICMArticle1.pdf
K. Czarnecki, “Overview of Generative Software Development”, in Unconventional Programming Paradigms, 2005, pp. 326-341.
J. Gärtner, X. GmbH, N. Musliu, W. Schafhauser and W. Slany. A Domain Specific Language for Modeling and Solving Staff Scheduling Problems. [Online]. Available: http://www.dbai.tuwien. ac.at/staff/musliu/CischedEMPLE.pdf.
A. Mediratta. “A Generic Domain Specific Language For Financial Contracts,” M.S thesis, Rutgers, The State University of New Jersey, 2007.
H. Beck, K. Currie and A. Tate, A Domain Description Language for Job-ShopScheduling. [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.269
A. van Deursen, P. Klint and J. Visser. Domain-Specific Languages: An Annotated Bibliography. [Online]. Available: http://www.st.ewi.tudelft.nl/~arie/papers/dslbib.pdf
R. Fourer, Algebraic Modeling Languages for Optimization. [Online]. Available: http://ampl.com/REFS/amlopt.pdf
E. Gramma, R. Helm, R. Jhonson and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Ed. Boston: Addison Wesley
GarfinkeL, R.S. (1985). Motivation and Modeling, in LAWLER, E.L.; LENSTRA, J.K.; RINNOOY KAN, A.H.G.; SHMOYS, D.B. (eds.) The Traveling Salesman Problem: A Guide Tour of Combinatorial Optimization. Wiley. Chichester.
J. de Lara y E. Guerra. “Domian-Specific Textual Meta-Modelling Languages form Model Driven Engineering”.Modelling Foundations and Aplications. pp 316-344, July 2005.
J. Rumbaugh, I. Jacobson y G. Booch. El Lenguaje Unificado de Modelado: Manual de Referencia. Ed. Madrid: Addison Wesley, 2000.
S. Brown. Software Architecture for Developers. Ed. Leanpub, 2015.
GAMS [Online]. Available: https://www.gams.com/
Pyomo [Online]. Available: http://www.pyomo.org/
ASCEND [Online]. Available: http://ascend4.org/Main_Page
AIMMS [Online]. Available: http://www.aimms.com/