My name is Tony Anjorin, and I'm currently a junior professor for model-based software development at the computer science department of Paderborn University, Germany.

My Research Interests

Find Me / My Publications

Vision

I'm a software engineer with a particular interest in language-oriented software development. The vision for software engineering that I share with many other researchers is to one day reach a point where it becomes so easy to develop small, focused Domain-Specific Languages (DSLs), that the average programmer will regard this as the normal thing to do; given a problem to solve, develop a suitable language in which you can model precisely what you want in your problem domain, then develop a model transformation to map this solution idea to a chosen solution domain.

Specialisation

The research field of model-driven engineering is all about realising this vision, and I've specialised and focused on model transformations in general, and (model) consistency management in particular. Consistency management encompasses a means of specifying consistency over models, and being able to: generate consistent models, check if a set of given models are consistent, and restore consistency for a given set of possibly inconsistent models. The community currently working on all aspects of consistency management refers to the area as bidirectional transformations (bx). The reason I'm particularly interested in bx is that I can only really advocate the proliferation of numerous DSLs (and thus models in these DSLs), if we can guarantee that consistency can be restored and maintained as required in an efficient and effective manner. My favourite hammer for working on bx has been and is still graph transformations (which is also just basic category theory). A particularly simple flavour of graph transformations can be expressed using Triple Graph Grammars (TGGs), and I've spent a good time of my life as an active researcher thinking about and extending the TGG formalism.

Contribution

I strive hard to be a balanced researcher, and I have made contributions towards developing the formal theory of TGGs ( , , , ) , as well as embodying this theory in practical tools you can trust and actually (want to) use ( , ). I also try to be as methodic as possible, and have contributed to systematically comparing the diverse approaches to bx ( , , , ), as well as developing techniques towards the reproducible engineering of quality bx solutions ( , , ). Please refer to my Google Scholar profile for a complete and up to date list of publications.

Research Projects

  • Concurrent Manufacturing Engineering (CME)

    This was a case study for model synchronisation in the context of manufacturing engineering. Refer to my PhD thesis ( ) for a detailed overview. This screencast demonstrates the developed synchroniser.

    A Software Campus project with TU Darmstadt as academic partner and Siemens AG as industrial partner.
    Jan 2013 - Dec 2013

  • CRYSTAL - Critical System Engineering Acceleration

    I worked on this research project during my time as a post-doc at Chalmers (Gothenburg, Sweden). Results of my work included an analysis of the potential and feasibility of transitioning from informal requirements to more formal models in the embedded industry ( ).

    Jul 2015 – Mar 2016

  • AMALTHEA4Public

    I worked on this research project during my time as a post-doc at Chalmers (Gothenburg, Sweden). Results of my work included a survey and analysis of the current use, challenges, and potential of traceability management solutions in the industry ( , ). I also helped initiate Capra, a flexible traceability management tool that is now being developed as an Eclipse project.

    Jul 2015 – Mar 2016

Current Interests (things I'm working on at the moment)

  • I'm still very much interested in establishing a toolsuite for consistency management tasks based on TGGs as an underlying formalism. If you're interested in our progress and current challenges, checkout the current roadmap ( ) for this endeavour.

  • Inspired by recent advancements in the area of incremental graph pattern matching, I have started exploring the potential of using an incremental graph pattern matcher as an underlying engine for diverse consistency management tasks. This is currently joint work performed in close collaboration with my former office mates Erhan Leblebici, Gergeley Varró, and my doctor father Andy Schürr.

  • Inspired by work in the research area of method engineering performed by my current colleagues in the research group of Gregor Engels, I have started revisiting all my previous work and old projects on synchronisation scenarios and other consistency management applications. My goal is to apply method engineering as a promising means of extracting and packaging reusable knowledge and experience from these past projects in the form of reusable method fragments and method patterns.

My Profile

Profile

  • [ Personal ]

    • I was born on the first of November, 1984 in Zaria, Nigeria.
    • I am both German and Nigerian by birth.
    • I am married and currently have one child.
  • [ Work Experience ]

    • As from April 2016 I have been a junior professor at Paderborn University, Germany.
    • From June 2015 to February 2016 I was a post-doc at Chalmers | University of Gothenburg, Sweden.
    • From May 2010 to May 2015 I was a research associate and teaching assistant at Technische Universität Darmstadt, Germany.
    • From October 2007 to March 2008 I was a software developer working at MAN-Nutzfahrzeuge AG, München, Germany.
    • From June 2007 to September 2007 I was a software developer working at REA-Elektronik GmbH, Darmstadt, Germany.
    • From December 2002 to September 2003 I did my civil service (Zivildienst) at the Evangelisches Hospital für palliative Medizin, Frankfurt (Main), Germany.
  • [ Education ]

    • December 2014, PhD thesis, supervised by Andy Schürr at Technische Universität Darmstadt, Germany, with title Synchronisation of Models on Different Abstraction Levels using Triple Graph Grammars, summa cum laude.
    • From April 2008 to April 2010 Master of Science, Computational Engineering, Technische Universität Darmstadt, Germany, Grade 1.0
    • From October 2003 to April 2007 Bachelor of Science, Computational Engineering, Technische Universität Darmstadt, Germany, Grade 1.7
    • From September 2001 to June 2002 Studienkolleg für ausländische Studierende, Mittel-Hessen, Germany, Feststellungsprüfung with Grade 1.0
    • From November 1994 to June 2000 King’s College Lagos, Nigeria, West African Senior School Certificate (WAEC).

My Teaching Experience

Teaching: Experience and Material

I enjoy teaching and take great joy in preparing engaging slides and great learning material. Here is a brief overview of courses that I have prepared and held in the past. Please contact me directly if you would like to have access to material that I have not yet (or cannot) make freely available online.

  • [ An online bx demonstrator (demon-bx) ]

    Model synchronisation tools are cool and fun to play with. Such tools are also a nice way of showcasing bidirectional transformation (bx) languages as they make you realise how rich the solution space is and how easily an inexperienced programmer could mess things up. To get students hooked on bx research and interested in the general area, a student of mine has recently built a fancy bx demonstrator called demon-bx (pronounced /demon-box/). I have used this engaging tool as part of the exercise for a university course as well as for a Girls' Day workshop. It is web-based (zero installation or setup) and is available online.

  • [ Fundamentals of Model-Driven Engineering (FMDE) ]

    I established and, starting from the winter semester of 2016/17, have been holding the lecture Fundamentals of Model-Driven Engineering (FMDE) at Paderborn University. This lecture provides a uniform formalisation of the most important MDE concepts based on graph transformation and basic category theory. My motivation for preparing this lecture from scratch was to make the rich and mature theory accessible to computer science students (or anyone that can program). Every single definition and proof in the lecture is programmed in Java 8, providing a constructive and hands-on handle to otherwise very abstract and generic theoretical concepts and results. Please contact me for the slides and exercises. You can freely access the code hosted on GitHub. I would be honoured if anyone might be interested in adapting the material and holding a similar lecture based on FMDE.

  • [ Software Quality Assurance (SQA) ]

    The primary motivation for research on model-based techniques and technology is often attaining a substantial increase in the quality of developed software systems. This implies that establishing a common understanding of what exactly software quality means is certainly a good idea. It has thus been my pleasure to have held the lecture Software Quality Assurance (SQA) at Paderborn University in the summer semester of 2016 and of 2017. After holding this lecture twice, updating and improving all slides and exercises in the process (contact me for access), I have handed this lecture back to Gregor Engels.

  • [ An introductory C++ course for Java programmers ]

    C++ is a rich and complex programming language that combines multiple paradigms and programming styles. Although I wouldn't suggest learning C++ as a first programming language, it certainly is relevant in practice and remains the language of choice in some important domains. It also provides a modern interface to the vast wealth of efficient C libraries when you need this. During my PhD at the Technische Universität Darmstadt, I took over and completely reengineered the introductory C++ course being held there. This course is still being held and updated today, and you can freely access the available material on GitHub.

Service

Workshops, Conferences, Seminars, and Journals

  • 20th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2017)
    [ Programme committee member of the foundations track and of the posters track ]

  • 13th European Conference on Modelling Foundations and Applications (ECMFA 2017)
    [ Chair for the foundations track ]

  • 10th International Conference on Graph Transformation (ICGT 2017)
    [ Programme committee member ]

  • 6th International Workshop on Bidirectional Transformations (BX 2017)
    [ Programme committee member ]

  • Fifth International Workshop on Bidirectional Transformations (BX 2016)
    [ Co-chair with Jeremy Gibbons ]

  • BX Steering Committee
    [ Member since 2016; Chair since 2016]

  • BX Advisory Board
    [ Member since 2016]

  • NII Shonan Meeting Seminar 091 (Bidirectional Transformations)
    [ Co-organiser ]

  • 9th International Conference on Software Language Engineering (SLE 2016)
    [ Artefact reviewer ]

  • Journal of Systems and Software
    [ Reviewer in 2016 ]

  • Journal of Software and Systems Modelling (SoSym )
    [ Reviewer in 2016 ]

  • 4th International Workshop on Bidirectional Transformations (BX 2015)
    [ Programme committee member ]

Invited Talks and Lectures

  • Summer School on Bidirectional Transformations (SSBX) held from 25th to 29th July, 2016
    [ Lecturer ]

  • 24th International Workshop on Functional and (Constraint) Logic Programming (WFLP 2016)
    [ Invited Speaker ]

Miscellaneous (or just for fun)

  • Girls' Day 2017
    [ I organised a lecture and workshop: "Programmieren mit Kästchen und Strichen – Einblick in das Informatikstudium" ]

    Girls' Day 2017, Paderborn University

    Photograph courtesy of Paderborn University, Girls' Day 2017.


  • Herbst-Uni 2016
    [ I organised a lecture and workshop: "Programmieren mit Kästchen und Strichen" ]

    Herbst-Uni 2016, Paderborn University

    Photograph courtesy of Paderborn University, Herbst-Uni 2016.