Skip to main content

Domain Engineering the Magnolia Way

  • Conference paper
  • First Online:
Perspectives of System Informatics (PSI 2017)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10742))

  • 1702 Accesses

Abstract

Domain engineering can be seen as the process of identifying a domain API, providing its semantics, and structuring it. The domain API is a natural framework for software product line requirements and development. Magnolia is an integrated programming and algebraic specification language. As such it gives a strong focus on API design. The Magnolia way to domain engineering can be scaled from a lightweight to a formalistic heavyweight approach. Defined APIs can easily be extended as more of the domain is investigated. This paper summarises the Magnolia domain engineering process.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Taken from http://www.domainengineering.org spring 2012. This URL is now under control of an internet domain warehouse and has totally irrelevant content.

  2. 2.

    http://101companies.org/wiki/@system.

  3. 3.

    https://en.wikipedia.org/wiki/National_identification_number.

References

  1. Bagge, A.H., David, V., Haveraaen, M.: Testing with axioms in C++ 2011. J. Object Technol. 10(10), 1–32 (2011). https://doi.org/10.5381/jot.2011.10.1.a10

    Google Scholar 

  2. Beck, K.: Test-Driven Development: By Example. Addison-Wesley, Boston (2002)

    Google Scholar 

  3. Bergstra, J.A., Tucker, J.: Algebraic specifications of computable and semicomputable data types. Theor. Comput. Sci. 50, 137–181 (1987). https://doi.org/10.1016/0304-3975(87)90123-X

    Article  MathSciNet  MATH  Google Scholar 

  4. Bernardy, J.-P., Jansson, P., Claessen, K.: Testing polymorphic properties. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 125–144. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11957-6_8

    Chapter  Google Scholar 

  5. Bjørner, D.: The Vienna Development Method (VDM). In: Blum, E.K., Paul, M., Takasu, S. (eds.) Mathematical Studies of Information Processing. LNCS, vol. 75, pp. 326–359. Springer, Heidelberg (1979). https://doi.org/10.1007/3-540-09541-1_33

    Chapter  Google Scholar 

  6. Bjørner, D.: Manifest domains: analysis and description. Formal Aspects Comput. 29(2), 1–51 (2016). https://doi.org/10.1007/s00165-016-0385-z

    MathSciNet  Google Scholar 

  7. Favre, J.-M., Lämmel, R., Schmorleiz, T., Varanovich, A.: 101companies: a community project on software technologies and software languages. In: Furia, C.A., Nanz, S. (eds.) TOOLS 2012. LNCS, vol. 7304, pp. 58–74. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-30561-0_6

    Chapter  Google Scholar 

  8. Foust, G., Järvi, J., Parent, S.: Generating reactive programs for graphical user interfaces from multi-way dataflow constraint systems. In: Kästner, C., Gokhale, A.S. (eds.) Proceedings of GPCE 2015, Pittsburgh, PA, USA, 26–27 October 2015, pp. 121–130. ACM (2015). https://doi.org/10.1007/978-3-642-30561-0_6

  9. Goguen, J.A.: Reusing and interconnecting software components. Computer 19(2), 16–28 (1986). https://doi.org/10.1109/MC.1986.1663146

    Article  Google Scholar 

  10. Goguen, J.A., Burstall, R.M.: Institutions: abstract model theory for specification and programming. J. ACM 39(1), 95–146 (1992). https://doi.org/10.1145/147508.147524

    Article  MathSciNet  MATH  Google Scholar 

  11. Haveraaen, M., Friis, H.A., Johansen, T.A.: Formal software engineering for computational modelling. Nordic J. Comput. 6(3), 241–270 (1999)

    Google Scholar 

  12. Hjørland, B.: Domain analysis in information science: Eleven approaches - traditional as well as innovative. J. Doc. 58(4), 422–462 (2002). https://doi.org/10.1108/00220410210431136

    Article  Google Scholar 

  13. Hoare, C.A.R.: Proof of correctness of data representations. In: Bauer, F.L., Dijkstra, E.W., Ershov, A., Griffiths, M., Hoare, C.A.R., Wulf, W.A., Samelson, K. (eds.) Language Hierarchies and Interfaces. LNCS, vol. 46, pp. 183–193. Springer, Heidelberg (1976). https://doi.org/10.1007/3-540-07994-7_54

    Chapter  Google Scholar 

  14. Robertson, J.: Eureka! Why analysts should invent requirements. IEEE Softw. 19(4), 20–22 (2002). https://doi.org/10.1109/MS.2002.1020281

    Article  Google Scholar 

  15. Stepanov, A., McJones, P.: Elements of Programming, 1st edn. Addison-Wesley Professional, Boston (2009)

    Google Scholar 

  16. Terho, H., Suonsyrjä, S., Jaaksi, A., Mikkonen, T., Kazman, R., Chen, H.: Lean startup meets software product lines: Survival of the fittest or letting products bloom? In: Nummenmaa, J., Sievi-Korte, O., Mäkinen, E. (eds.) Proceedings of SPLST 2015. CEUR Workshop Proceedings, vol. 1525, pp. 134–148. CEUR-WS.org (2015). http://ceur-ws.org/Vol-1525/paper-10.pdf

  17. Tüzün, E., Tekinerdogan, B.: Analyzing impact of experience curve on ROI in the software product line adoption process. Inf. Softw. Technol. 59, 136–148 (2015). https://doi.org/10.1016/j.infsof.2014.09.008

    Article  Google Scholar 

Download references

Acknowledgment

This research has in part been financed by The Research Council of Norway through the project Design of a Mouldable Programming Language (DMPL). The Magnolia IDE and compiler was implemented by Anya Bagge during her postdoc for DMPL.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Magne Haveraaen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Haveraaen, M. (2018). Domain Engineering the Magnolia Way. In: Petrenko, A., Voronkov, A. (eds) Perspectives of System Informatics. PSI 2017. Lecture Notes in Computer Science(), vol 10742. Springer, Cham. https://doi.org/10.1007/978-3-319-74313-4_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-74313-4_15

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-74312-7

  • Online ISBN: 978-3-319-74313-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics