DPF is a research project initiated by the Bergen University College and the University of Bergen, Norway, early in 2006. The project aims at formalising concepts in model-driven engineering (MDE) and involves several researchers from Norway and Canada.
MDE is a trend in software engineering which aims at improving productivity and quality of software development. This is obtained by considering models as first-class entities of the software development process and adopting model transformation to automate the implementation. MDE enables developers to reason at a higher level of abstraction and focus on the problem domain. Moreover, it restrains developers from repetitive and error-prone work such as coding.
In the state-of-the-art of MDE, models are typically specified by means of modelling languages such as the Unified Modeling Language (UML). The semantics of these modelling languages is mostly specified semi-formally by means of textual description in English. This may not guarantee the degree of precision required by MDE. In fact, research in the field has argued that a formal approach is necessary to unfold the full potential of MDE.
DPF attempts to overcome this shortage by providing a formal approach to (meta)modelling, model transformation and model management based on category theory and graph transformation. DPF is an extension of the Generalised Sketches formalism originally developed by Zinovy Diskin et al.
2016
- Thomas Calder. A Model Driven Approach to Web Page Evaluation. Master Thesis. Department of Informatics, University of Bergen, Department of Computing, Mathematics and Physics, Bergen University College, Norway, June 2016.
2015
- Fazle Rabbi, Yngve Lamo, Ingrid Chieh Yu, Lars Michael Kristensen. A Diagrammatic Approach to Model Completion. Technical Report, Department of Computing, Mathematics and Physics, Bergen University College, Norway, September 2015.
- Fazle Rabbi, Yngve Lamo, Ingrid Chieh Yu, Lars Michael Kristensen. A Diagrammatic Approach to Model Completion. In the 4th Workshop on the Analysis of Model Transformations (AMT), AMT 2015.
2014
- Ole Klokkhammer. A Diagrammatic Approach To Deep Metamodelling. Master thesis, Department of Informatics, University of Bergen, Department of Computing, Mathematics and Physics, Bergen University College, Norway, June 2014.
- Endre Vestbø. Application of Model Transformations and State Spaces for Verification of Diagrammatic Workflow Models. Master thesis, Department of Informatics, University of Bergen, Department of Computing, Mathematics and Physics, Bergen University College, Norway, October 2014.
- Ola Bråthen. DPF Visualisation, a Tool for Defining new Concrete Syntaxes for Diagrammatic Modelling Languages. Master thesis, Department of Informatics, University of Bergen, Department of Computing, Mathematics and Physics, Bergen University College, Norway, January 2014.
- Petter Barvik. Model to Model Transformation Tool for the DPF Workbench. Master thesis, Department of Informatics, University of Bergen, Department of Computing, Mathematics and Physics, Bergen University College, Norway, January 2014.
- Fazle Rabbi, Yngve Lamo, Wendy MacCaull. A Flexible Metamodelling Approach for Healthcare Systems. In proceedings of the 2nd European Workshop on Practical Aspects of Health Informatics, CEUR Workshop Proceedings 1251:115-128, CEUR-WS.org 2014
- Fazle Rabbi, Yngve Lamo, Wendy MacCaull. Co-ordination of Multiple Metamodels, with Application to Healthcare Systems. EUSPN/ICTH 2014: 473-480
- Fazle Rabbi, Wendy MacCaull. User-Friendly UIs for the Execution of Clinical Practice Guidelines. CBMS 2014: 489-490
2013
- Sidra Nadeem. Visual OCL and Incremental Constraint Validation Framework for the DPF Workbench. Master thesis, Department of Informatics, University of Bergen, Department of Computing, Mathematics and Physics, Bergen University College, Norway, April 2013.
- Yngve Lamo, Xiaoliang Wang, Florian Mantz, Øyvind Bech, Anders Sandven and Adrian Rutle. DPF Workbench: a multi-level language workbench for MDE. Proceedings of the Estonian Academy of Sciences62(1):3–15. 2013.
- Adrian Rutle, Fazle Rabbi, Wendy MacCaull, Yngve Lamo. A User-friendly Tool for Model Checking Healthcare Workflows. In the 3rd International Conference on Current and Future Trends of Information and Communication Technologies in Healthcare (ICTH), Procedia Computer Science 21:317-326, Elsevier 2013
2012
- Alessandro Rossini, Juan de Lara, Esther Guerra, Adrian Rutle and Yngve Lamo. A Graph Transformation-Based Semantics for Deep Metamodelling. In Andy Schürr, Dániel Varró and Gergely Varró, editors, AGTIVE 2011: 4th International Symposium on Applications of Graph Transformations with Industrial Relevance, volume 7233 of LNCS, pages 19–34, Springer, 2012.
- Adrian Rutle, Alessandro Rossini, Yngve Lamo and Uwe Wolter. A formal approach to the specification and transformation of constraints in MDE. Journal of Logic and Algebraic Programming 81(4): 422-457. Elsevier, 2012.
- Adrian Rutle, Wendy MacCaull, Hao Wang and Yngve Lamo. A Metamodelling Approach to Behavioural Modelling. In BM-FA ’12 Proceedings of the Fourth Workshop on Behaviour Modelling – Foundations and Applications.
- Yngve Lamo, Xiaoliang Wang, Florian Mantz, Wendy MacCaull and Adrian Rutle. DPF Workbench: A Diagrammatic Multi-Layer Domain Specific (Meta-) Modelling Environment. Computer and Information Science 2012, Studies in Computational Intelligence Volume 429/2012, 37-52. Springer, 2012.
- Yngve Lamo and Adrian Rutle. A Metamodel Approach to Model Driven Service Development. In AWoSS2012: 4th Atlantic Workshop on Semantics and Services, pages 5–6, May 2012.
- Anders Sandven. Metamodel based Code Generation in DPF Editor. Master thesis, Department of Informatics, University of Bergen, Department of Computing, Mathematics and Physics, Bergen University College, Norway, March 2012.
- Suneetha Kalakata. Formalisation of Simple MethOd Declaration Language (SMODL) by DPF. Master thesis, Department of Informatics, University of Bergen, Department of Computing, Mathematics and Physics, Bergen University College, Norway, November 2012.
2011
- Alessandro Rossini. Diagram Predicate Framework meets Model Versioning and Deep Metamodelling. PhD thesis, Department of Informatics, University of Bergen, Norway, December 2011.
- Florian Mantz, Alessandro Rossini, Gabriele Taentzer, Yngve Lamo and Uwe Wolter. Formalising Metamodel Evolution based on Category Theory. In NWPT 2011: 23rd Nordic Workshop on Programming Theory, pages 73–75, October 2011.
- Xiaoliang Wang and Yngve Lamo. Correctness of Constraint-Aware Model Transformations. In NWPT 2011: 23rd Nordic Workshop on Programming Theory, pages 63–65, October 2011.
- Yngve Lamo, Xiaoling Wang, Florian Mantz, Øyvind Bech and Adrian Rutle. DPF Editor: A Multi-Layer Diagrammatic (Meta)Modelling Environment. In SPLST 2011: 12th Symposium on Programming Languages and Software Tools, October 2011.
- Alessandro Rossini, Adrian Rutle, Khalid A. Mughal, Yngve Lamo and Uwe Wolter. A Formal Approach to Data Validation Constraints in MDE. In TTSS 2011: 5th International Workshop on Harnessing Theories for Tool Support in Software, pages 65–76, September 2011.
- Øyvind Bech. DPF Editor: A Multi-Layer Modelling Environment for Diagram Predicate Framework in Eclipse. Master’s thesis, Department of Informatics, University of Bergen, Norway, May 2011.
2010
- Adrian Rutle. Diagram Predicate Framework: A Formal Approach to MDE. PhD thesis, Department of Informatics, University of Bergen, Norway, November 2010.
- Sidra Nadeem. Yngve Lamo, Adrian Rutle and Florian Mantz. Enforcement of Patterns by Constraint-Aware Model Transformations. In ECEASST 2010: Electronic Communications of ECEASST. Invited talk at 2nd International Workshop on Visual Formalisms for Patterns, September 2010.
- Florian Mantz, Alessandro Rossini, Adrian Rutle, Yngve Lamo and Uwe Wolter. Towards a Formal Approach to Metamodel Evolution. In NWPT 2010: 22nd Nordic Workshop on Programming Theory, pages 52–54, November 2010.
- Alessandro Rossini, Adrian Rutle, Florian Mantz, Yngve Lamo and Uwe Wolter. Constraint-Aware Model Merging. In NWPT 2010: 22nd Nordic Workshop on Programming Theory, pages 31–33, November 2010.
- Kent Inge Fagerland Simonsen, Florian Mantz, Alessandro Rossini, Adrian Rutle. Groovy and Grails meet Eclipse Modelling Framework. In NIK 2010: 23rd Norsk Informatikkonferanse, pages 34–43, November 2010.
- Alessandro Rossini, Adrian Rutle, Yngve Lamo and Uwe Wolter. A formalisation of the copy-modify-merge approach to version control in MDE. Journal of Logic and Algebraic Programming 79(7): 636-658. Elsevier, 2010.
- Adrian Rutle, Alessandro Rossini, Yngve Lamo and Uwe Wolter. A Formalisation of Constraint-Aware Model Transformations. In David Rosenblum and Gabriele Taentzer, editors, FASE 2010: 13th International Conference on Fundamental Approaches to Software Engineering, volume 6013 of LNCS, pages 13–28, Springer, 2010.
2009
- Adrian Rutle, Alessandro Rossini, Yngve Lamo and Uwe Wolter. Constraint-Aware Model Transformations. In NWPT 2009: 21st Nordic Workshop on Programming Theory, pages 89–91, October 2009.
- Alessandro Rossini, Adrian Rutle, Federico Mancini, Dag Hovland, Khalid A. Mughal, Yngve Lamo and Uwe Wolter. Data Validation Constraints in MDE. In NWPT 2009: 21st Nordic Workshop on Programming Theory, pages 86–88, October 2009.
- Adrian Rutle, Alessandro Rossini, Yngve Lamo and Uwe Wolter. A Diagrammatic Formalisation of MOF-Based Modelling Languages. In Manuel Oriol and Bertrand Meyer, editors, TOOLS Europe 2009: 47th International Conference on Objects, Models, Components and Patterns, volume 33 of LNBIP, pages 37–56, Springer, 2009.
- Adrian Rutle, Alessandro Rossini, Yngve Lamo and Uwe Wolter. A Category-Theoretical Approach to the Formalisation of Version Control in MDE. In Marsha Chechik and Martin Wirsing, editors, FASE 2009: 12th International Conference on Fundamental Approaches to Software Engineering, volume 5503 of LNCS, pages 64–78, Springer, 2009.
2008
- Zinovy Diskin and Uwe Wolter. A Diagrammatic Logic for Object-Oriented Visual Modeling. In ACCAT 2007: 2nd Workshop on Applied and Computational Category Theory, volume 203 of ENTCS, pages 19–41, Elsevier Science Publishers B. V., 2008.
- Adrian Rutle, Alessandro Rossini, Yngve Lamo and Uwe Wolter. Version Control in MDE. In NWPT 2008: 20th Nordic Workshop on Programming Theory, pages 78–80, November 2008.
- Adrian Rutle, Alessandro Rossini, Yngve Lamo and Uwe Wolter. Automatic Definition of Model Transformations at the Instance Level. In NWPT 2008: 20th Nordic Workshop on Programming Theory, pages 81–83, November 2008.
- Uwe Wolter and Zinovy Diskin. Contexts and Context Awareness in View of the Diagram Predicate Framework. In Tiziana Margaria and Bernhard Steffen, editors, ISoLA 2008: 3rd International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. volume 17 of CCIS, pages 534–547, Springer, 2008.
- Adrian Rutle and Alessandro Rossini. A Tentative Analysis of the Factors Affecting the Industrial Adoption of MDE. In ChaMDE 2008: 1st International Workshop on Challenges in Model-Driven Software Engineering, pages 57–61, September 2008.
- Adrian Rutle, Uwe Wolter and Yngve Lamo. A Diagrammatic Approach to Model Transformations. In EATIS 2008: Euro American Conference on Telematics and Information Systems, 2008.
- Stian Skjerveggen. (Towards an) Implementation of a Graphical Editor for Diagrammatic Predicate Logic in the Eclipse Platform. Master’s thesis, Department of Informatics, University of Bergen, Norway, June 2008.
- Adrian Rutle. Towards a Formal, Diagrammatic Framework for MDA. In ECOOP-DS 2008: 18th Doctoral Symposium and PhD Students Workshop, pages 37–40, 2008.
- Adrian Rutle, Uwe Wolter and Yngve Lamo. Generalized Sketches and Model-Driven Architecture. Technical Report 367, Department of Informatics, University of Bergen, Norway, February 2008.
- Adrian Rutle, Uwe Wolter and Yngve Lamo. A Formal Approach to Modeling and Model Transformations in Software Engineering. Technical Report 48, Turku Centre for Computer Science, Finland, 2008. Abstract.
2007
- Adrian Rutle, Uwe Wolter and Yngve Lamo. Generalized Sketches and Model-Driven Development. In NWPT 2007: 19th Nordic Workshop on Programming Theory, October 2007.
- Uwe Wolter and Zinovy Diskin. From Indexed to Fibred Semantics. Technical Report 361, Department of Informatics, University of Bergen, Norway, October 2007.
- Adrian Rutle, Uwe Wolter and Yngve Lamo. Generalized Sketches and Model-Driven Development. In CALCO-jnr 2007: CALCO Young Researchers Workshop, August 2007.
- Uwe Wolter and Zinovy Diskin. The Next Hundred Specification Techniques – An Introduction to Generalized Skecthes. Technical Report 358, Department of Informatics, University of Bergen, Norway, July 2007.
- Adrian Rutle, Uwe Wolter and Yngve Lamo. Generalized Sketches and its Implementation in EMF. In EclipseCon 2007, 2007.
2006
- Adrian Rutle, Uwe Wolter and Yngve Lamo. Diagrammatic Software Specifications. In NWPT 2006: 18th Nordic Workshop on Programming Theory, October 2006.
- Ørjan Hatland. Sketcher .NET – A Drawing Tool for Generalized Skecthes. Master’s thesis, Department of Informatics, University of Bergen, Norway, June 2006.
2012
- Yngve Lamo. Model Driven Engineering and Diagram Predicate Framework. Presented at University of New Brunswick, Canada.
- Yngve Lamo. A Metamodel Approach to Model Driven Service Development. Presented at AWoSS2012.
2011
- Alessandro Rossini. Diagram Predicate Framework meets Model Versioning and Deep Metamodelling. Presented at his PhD defence.
- Florian Mantz. Formalising Metamodel Evolution based on Category Theory. Presented at NWPT 2011.
- Xiaoliang Wang. Correctness of Constraint-Aware Model Transformations. Presented at NWPT 2011.
- Alessandro Rossini. A Graph Transformation-Based Semantics for Deep Metamodelling. Presented at AGTIVE 2011.
- Florian Mantz. Graph Transformation Concepts for Meta-Model Evolution Guaranteeing Permanent Type Compliance Throughout Model Migration. Presented at AGTIVE 2011.
- Yngve Lamo. DPF Editor: A Multi-Layer Diagrammatic (Meta)Modelling Enviroment. Presented at SPLST 2011.
- Alessandro Rossini. A Formal Approach to Data Validation Constraints in MDE. Presented at TTSS 2011.
- Yngve Lamo. Model Driven Engineering (MDE). Presented at Ålesund University College, Norway.
2010
- Adrian Rutle. Diagram Predicate Framework: A Formal Approach to MDE. Presented at his PhD defence.
- Florian Mantz. Towards a Formal Approach to Metamodel Evolution. Presented at NWPT 2010.
- Alessandro Rossini. Constraint-Aware Model Merging. Presented at NWPT 2010.
- Yngve Lamo. A Formal Approach to Patterns in MDE. Presented at VFfP 2010.
- Adrian Rutle. Constraint-Aware Model Transformations. Presented at FASE 2010.
- Uwe Wolter. Indexed vs. Fibred Semantics in view of Metamodeling. Presented at ACCAT 2010.
2009
- Uwe Wolter. Generalized Sketches and Indexed vs. Fibred Semantics. Presented at the Institute of Mathematics of the Romanian Academy, Bucharest, Romania.
- Alessandro Rossini. Data Validation Constraints in MDE. Presented at NWPT 2009.
- Adrian Rutle. Constraint-Aware Model Transformations. Presented at NWPT 2009.
- Adrian Rutle. A Diagrammatic Formalisation of MOF-Based Modelling Languages. Presented at TOOLS Europe 2009.
- Yngve Lamo. Model-Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL). Presented at the NTNU, Trondheim, Norway.
- Alessandro Rossini. A Category-Theoretical Approach to the Formalisation of Version Control in MDE. Presented at FASE 2009.
2008
- Alessandro Rossini. Version Control in MDE. Presented at NWPT 2008.
- Adrian Rutle. Automatic Definition of Model Transformations at the Instance Level. Presented at NWPT 2008.
- Adrian Rutle. A Diagrammatic Approach to Model Transformations. Presented at EATIS 2008.
- Adrian Rutle. Towards a Formal, Diagrammatic Framework for MDA. Presented at the Doctoral Symposium of ECOOP 2008.
- Adrian Rutle. A Formal Approach to Modeling and Model Transformations in Software Engineering. Presented at EXPO 2008 Integration and Architecture.
- Yngve Lamo. Model-Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL). Presented at the Institute of Mathematics and Informatics, Vilnius, Lithuania.
- Adrian Rutle. A Formal Approach to Modeling and Model Transformations in Software Engineering. Presented at the Doctoral Symposium of FM 2008.
2007
- Adrian Rutle. Generalized Sketches and Model-Driven Development. Presented at NWPT 2007.
- Adrian Rutle. Generalized Sketches and Model-Driven Development. Presented at CALCO-jnr 2007.
- Adrian Rutle. Generalized Sketches and its Implementation in EMF. Presented at EclipseCon 2007.
2006
- Adrian Rutle. Diagrammatic Software Specifications. Presented at NWPT 2006.
Professors
- Yngve Lamo, Bergen University College
- Uwe Wolter, University of Bergen
- Adrian Rutle, Bergen University College
Research associates
- Zinovy Diskin, University of Toronto, Ontario, Canada
- Alessandro Rossini, PwC Consulting, Norway
Post-doc research fellows
- Fazle Rabbi, Bergen University College (started 2017)
PhD candidates
- Fazle Rabbi, Bergen University College (graduated 2017)
- Xiaoliang Wang, Bergen University College (graduated 2016)
- Florian Mantz, Bergen University College (graduated 2014)
Master students
- Pål Bjørhovde, Bergen University College (started 2012)
- Ole Klokkhammer, Bergen University College (started 2012)
- Petter Barvik, Bergen University College (started 2012)
- Ola Bråten, Bergen University College (started 2011)
- Sidra Nadeem, Bergen University College (graduated 2013)
- Suneetha Sekhar, Bergen University College (graduated 2012)
- Anders Sandven, Bergen University College (graduated 2012)
- Øyvind Bech, Bergen University College (graduated 2011)
- Stian Skjerveggen, Bergen University College (graduated 2008)
- Ørjan Hatland, Bergen University College (graduated 2006)
DPF tools
- DPF Workbench: Eclipse plugin - repository on GitHub
- Web DPF a web based tool implemented i Java script
- DPF text a textual modelling tool implemented in Scala
DPF Workbench
Download version 0.0.1 of the DPF Workbench (Eclipse plug-in) from the following update-site: DPF Update Site Package (Latest version) Download the package, install the plugins to your eclipse (The eclipse should contains Eclipse Modeling Tools) by choosing the menus “Help->Install New Software…”. In the Install diaglog, click “Add” botton then click “Archive” button to choose your download update.zip file. The best way is however to use the GitHub Repository and build from the sources.Tutorials
Q&A
Q: Cannot find the system Java compiler.- Run javac command to check if JDK, not only JRE, is installed
- Further check Eclipse configuration by Help–>About Eclipse–>Installation Details–>Configuration to see if
- Eclipse is running with the JRE contained by the installed JDK (check java.home)
- The system enviroment variable PATH contains the directory of tools.jar which is contained in the installed JDK (check java.library.path)
-
- Design your predicate with Signature Editor
- For the semantics definition of a predicate, you can choose use Java, OCL and Alloy.
- The Java Interface for defining the semantics of a predicate
boolean check(Map paras, Graph graph,
Map nodeMap, Map arrowMap)
-
-
- paras: the values for the parameters of the predicate
- graph: the arity of the predicate
- nodeMap, arrowMap: the elements in an instance which are mapped by the elements in the arity of the predicate
-