The Modelica language may serve well as a base for defining optimal control problems, given a few relatively minor syntax extensions. One example proving that point is Optimica and another one is DOML (Dynamic Optimization Modeling Language) -installed on IDOS (Interactive Dynamic Optimization Language) and described in this paper. The DOML implementation is, actually, heavily based on the (open source) compiler of Optimica but it provides a number of important features absent in its precursor. One main extension of the compiler lies in its built-in mechanism supporting the use of many different optimization solvers (selected on the fly, depending on the content of the problem definition) and to seamlessly add new, external, solvers. In result, the range of problems that may be specified with DOML and solved in the IDOS environment is quite wide and keeps growing. The scope of problems ranges from some static optimization problems through regular ODE, parametric optimization, minimum time problems, up to DAE with higher index. DOML language extensions also provide preliminary support for multi-objective optimization and PDE problems.