INF329 Selected Topics in Programming Technology:
Domain Engineering

Spring 2012

How to gain control of a business domain and stay ahead of the competition.

There are several, disparate, interpretations of domain engineering. Some consider domain engineering to be model driven engineering, others equate domain engineering with software product lines. In this course we will mostly take the following perspective (as stated on

Domain Engineering is an engineering discipline concerned with building reusable assets, such as specification sets, patterns, and components, in specific domains. A domain in this context can be defined as an area of knowledge that uses common concepts for describing phenomena, requirements, problems, capabilities, and solutions. The purpose of domain engineering is to identify, model, construct, catalog, and disseminate artifacts that represent the commonalities and differences within a domain.

The curriculum consists of a selection of papers on the topic of domain engineering. Each participant is expected to present a share of the papers. The presentations, together with participation in the meetings and discussions, and possibly a short report, is the basis for passing/failing the course.

Overview of the Semester
3M16.1.Magne Haveraaen: Introduction
3W18.1.Bjørn Olufsen: slides
Harsu (2002) A survey on domain engineering (Report 31, Institute of Software Systems, Tampere University of Technology, December 2002, 26pp.)
423.1.,25.1.-- break --
530.1.,1.2.-- break --
6M6.2.Anne Elise Weiss: slides
Alaña, Rodríguez (2007) Domain Engineering Methodologies Survey (GMVSA 20580/07, GMV, July 2007, 38pp.)
The CORDET Project - Component Oriented Development Techniques
6W8.2.Tero Hasu: slides
Bjørner (2010) Domain Engineering (Boca, Bowen, Siddiqi: Formal Methods: State of the Art and New Directions, Springer London, p. 1-41)
7M13.2.Anne Elise Weiss: slides
Zhao (2002) Domain Analysis of Web Geographical Information System (Statistics Department, Iowa State University, USA, 17pp.)
7W15.2. Bjørn Olufsen: slides
Kang, Cohen, Hess, Novak, Peteron (1990) Feature-Oriented Domain Analysis (FODA) Feasibility Study (Technical Report, CMU/SEI-90-TR-021, November 1990, 161pp.)
8W22.2.Eirik Nordstrand: The OOram method
Reenskaug, Wold, Lehne (1995) Working with objects - The OOram Software Engineering Method (Taskon, Oslo, Norway, 497pp)
Reenskaug (1996) Working With Objects - OOram Framework Design Principles (OOPSLA '96 Workshop: Exploration of Framework Design Principles, 12pp)
927.2.,29.2.  -- break --
10W7.3.Magne Haveraaen: Domain engineering of the PDE domain slides
Haveraaen, Friis, Johansen (1999) Formal Software Engineering for Computational Modelling (Nordic Journal of Computing, 6(3):241-270, Fall 1999)
Haveraaen, Friis (2009) Coordinate-free numerics: all your variation points for free? (International Journal of Computational Science and Engineering, 4(4):223-230)
11M12.3.Sailaja Posupulate: slides
Benavides, Segura, Ruiz-Cortés (2010) Automated analysis of feature models 20 years later: A literature review (Information Systems, 35(6):615-636, September 2010)
12M19.3.Tero Hasu: Domain engineering of railroad systems slides
Bjørner, Pěnička (2004) Towards a TRain Book - for The RAilway DomaIN (railwaydomain, 122p) (especially chapter 2)
New site for railwaydomain: TRain: The Railway Domain
Bjørner, George, Haxthausen, Madsen, Holmslykke, Pěnička (2004) "UML-ising" Formal Techniques (SoftSpez Final Report 2004, LNCS 3147, p423-450)
13M26.3.Gajji Vasumathi: slides
Czarnecki (1998) Domain Engineering (chapter 3, Generative Programming: Principles and Techniques of Software Engineering Based on Automated Configuration and Fragment-Based Component Models. Ph.D. thesis, Technische Universität Ilmenau, Germany, p35-69)
13W28.3.Sailaja Posupulate: Software product lines slides
Northrop (2002) SEI's software product line tenets (IEEE Software, 19(4):32-40)
Clements (2002) point: Being Proactive Pays Off (IEEE Software, 19(4):29-31)
Krueger (2002) counterpoint: Eliminating the Adoption Barrier (IEEE Software, 19(4):29-31)
142.4.,4.4.-- break --
15W11.4.Eirik Nordstrand: Domain engineering of cognitive science.
Taylor (1994) Novex Analysis: A Cognitive Science Approach To Instructional Design (Educational Technology, 34, 5, p5-13) (journal home page)
Hofstadter (1979) Gödel, Escher, Bach: An Eternal Golden Braid (Basic Books, ISBN 0465026567, 1999, 832p.)
16M16.4.Tero Hasu: Feature Oriented Programming slides
Batory, Sarvela, Rauschmayer (2004) Scaling Step-Wise Refinement (IEEE Trans. Software Eng. 30(6): 355-371)
16W18.4.Anne Elise Weiss: Domain engineering of geographical information systems (GIS) slides
Nogueras-Isoi, Zarazaga-Soria, Lacasta, Bejar, Muro-Medrano (2004) Metadata standard interoperability: application in the geographic information domain (Computers, Environment and Urban Systems, Volume 28, Issue 6, November 2004, Pages 611-634)
Zarazaga-Soria, Torres, Nogueras-Iso, Lacasta, Cantan (2003) Integrating geographic and non-geographic data search services using metadata crosswalks (9th EC GI & GIS Workshop, ESDI Serving the User, A Coruña, Spain, 25-27 June 2003)
Coulondre, Libourel, Spery (1998) Metadata And GIS: A Classification of Metadata for GIS (GIS PlaNET'98: 1st International Conference and Exhibition on Geographic Information, Libon, Portugal, September 7-11, 1998)
17M23.4.Bjørn Olufsen:
A historical look at domain engineering of mobile devices
18W2.5.Sailaja Posupulate: Domain engineering of the business domain slides
Basha, Moiz, Qyser (2011) Performance Analysis of HR Portal Domain Components Extraction (International Journal of Computer Science and Information Technologies, Vol. 2 (5), 2011, p2326-2331; CoRR abs/1203.1328)
Korthaus, Schwind, Seedorf (2005) Semantic integration of business component specifications with RDF schema (Workshop on Sematic Web Enabled Software Engineering (SWESE), 4th International Semantic Web Conference (ISWC 2005), Galway, Ireland, November 6-10, 2005)
Wang, Xu, Zhan (2006) A Survey of Business Component Identification Methods and Related Techniques (International Journal of Information and Communication Engineering (IJICE) 2:8 2006, p513-522)
Domain Engineering Week with Dines Bjørner
19M7.5. 14-16
room 3137
Dines Bjørner:
From Domains to Requirements
19Tu8.5. 10-16
room 3137
Dines Bjørner:
A Mini Course in Domain Engineering
19W9.5. 14-16
room 3137
Dines Bjørner:
A Role for Mereology in Computing Science
19Th10.5. 14-15
room 2144
Dines Bjørner (Departmental Seminar):
Domain Science & Engineering: A New Facet of Informatics
20M14.5.Gajji Vasumathi: Domain Engineering of Multi-Actor Systems slides
20W16.5.Eirik Nordstrand: Summary of the Course

The meetings normally (except for week 19, see notes in the program) take place in room 2104, Høyteknologisenteret, Monday and Wednesday, 1415-1600. A presentation should aim at roughly 1 hour, longer if the material is technical. The slides from the presentation will be put on the web page as we go along.

Last modified 2012-12-17 by Magne Haveraaen