Monto: A Disintegrated Development Environment

  • Anthony M. Sloane
  • Matthew Roberts
  • Scott Buckley
  • Shaun Muscat
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8706)


Integrated development environments play a central role in the life of many software developers. Integrating new functionality into these environments is non-trivial and forms a significant barrier to entry. We describe our Monto architecture which aims to address this problem. Monto components communicate via text messages across an off-the-shelf messaging layer. The architecture imposes limited constraints which enables easy combination of components to form an environment. A prototype implementation shows that this approach is practical and shows promise for full-featured development environments.


Text Editor Message Format Integrate Development Environment Abstract Syntax Tree Version Text 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Hintjens, P.: ZeroMQ: Messaging for Many Applications. O’Reilly (2013)Google Scholar
  2. 2.
    Skinner, J.: Sublime Text 3,
  3. 3.
    Charles, P., Fuhrer, R.M., M., S.,J. S.: IMP: A meta-tooling platform for creating language-specific IDEs in Eclipse. In: Proceedings of Conference on Automated Software Engineering, pp. 485–488. ACM (2007)Google Scholar
  4. 4.
    Charles, P., Fuhrer, R.M., M., S.,J. S., Evelyn, D., Jurgen, V.: Accelerating the creation of customized, language-specific IDEs in Eclipse. In: Proceedings of Conference on Object Oriented Programming Systems Languages and Applications, pp. 191–206. ACM (2009)Google Scholar
  5. 5.
    Kats, L.C.L., Kalleberg, K.T., Visser, E.: Domain-specific languages for composable editor plugins. In: Proceedings of the Workshop on Language Descriptions, Tools, and Applications. Electronic Notes in Theoretical Computer Science, vol. 253, pp. 149–163. Elsevier (2009)Google Scholar
  6. 6.
    Kats, L.C.L., Visser, E.: The Spoofax language workbench: rules for declarative specification of languages and IDEs. In: Proceedings of Conference on Object Oriented Programming Systems Languages and Applications, pp. 444–463. ACM (2010)Google Scholar
  7. 7.
    Erdweg, S., et al.: The state of the art in language workbenches. In: Erwig, M., Paige, R.F., Van Wyk, E. (eds.) SLE 2013. LNCS, vol. 8225, pp. 197–217. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  8. 8.
    Voelter, M.: Embedded software development with projectional language workbenches. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part II. LNCS, vol. 6395, pp. 32–46. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    Cannon, A.: Enhanced Scala Interaction Mode for Emacs (ENSIME),
  10. 10.
    Bergstra, J.A., Klint, P.: The discrete time ToolBus—a software coordination architecture. Science of Computer Programming 31, 205–229 (1998)CrossRefzbMATHGoogle Scholar
  11. 11.
    den van Brand, M.G.J., et al.: The ASF+SDF meta-environment: A component-based language development environment. In: Wilhelm, R. (ed.) CC 2001. LNCS, vol. 2027, pp. 365–370. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Ahuja, S., Carrier, N., Gelernter, D.: Linda and friends. Computer 19(8), 26–34 (1986)CrossRefGoogle Scholar
  13. 13.
    Sloane, A.M.: Lightweight language processing in kiama. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) Generative and Transformational Techniques in Software Engineering III. LNCS, vol. 6491, pp. 408–425. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 14.
    Programming Languages Research Group. Macquarie University, The Kiama language processing library,

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Anthony M. Sloane
    • 1
  • Matthew Roberts
    • 1
  • Scott Buckley
    • 1
  • Shaun Muscat
    • 1
  1. 1.Department of ComputingMacquarie UniversitySydneyAustralia

Personalised recommendations