Skip to main content Skip to navigation

Ben Beeson

A comparative study to evaluate software development methods with respect to empirical modelling principles

It is quite clear from your abstract, and the practical work that you have already done, that you have the potential to make an outstanding submission to WEB-EM. The challenge is to ensure that the practical contributions you make are well-oriented to the theme of Empirical Modelling. Without the correct orientation, you will not be able to do yourself full justice. I think you are right not to opt for a weighting that is biased towards the practical side though, as what you have to write is definitely very significant as far as addressing the EM theme is concerned, and it presents its own complementary challenge.

The way I read your abstract, you will be considering three different tools for supporting software development based on EM principles: the EDEN interpreter in its JS-EDEN variant; the ADM as discussed in the module and as hopefully will be implemented in parallel work; and (if I understand correctly) an object-oriented JAVA-based environment in which dependencies can be expressed. I have some questions regarding your three paragraphs, as follows:

  • I don't think it's appropriate to characterise EDEN as a single-agent definitive language - though 'single agent' is how its use was predominantly interpreted in the first part of the module, in many contexts I would view a triggered action that effects a redefinition as an agent action. I also feel that 'hybrid definitive-procedural' is more precise than 'definitive'.
  • In the context of the ADM, the phrase "By building on top of EDEN" is out of place - it relates to how the ADM will be implemented, but this is a separate issue from the characterisation you are giving: "[supporting] a structured way of describing concepts [that share properties] within a model".
  • It's unclear whether you are proposing to explore the implications of adding dependencies to an object-oriented environment in this third strand or not. I'm also uncomfortable about the status of your comparison here: to my mind, Empirical Modelling and "large-scale software projects that rely on more formal semantics [based on object-orientation]" live on different sides of the ontological divide that is associated with the Experimental Paradox.

I suspect your understanding is better than your writing conveys. You will need to be very careful about how you express things. To my mind, your title is imprecise for instance (and the first line of the abstract reinforces this). The "fundamental diagram of EM" is what characterises software development that respects EM principles - it isn't associated with any software development method, and I don't believe this is a matter of choice (see Pi-Hwa Sun's PhD thesis for discussion of the 'amethodical' nature of EM). What you are concerned with is a comparative study of tools rather than methods. I shall also be looking out for evidence that you are familiar with what has been discussed in the model regarding the relationship between EM and programming - I'm not sure that it is appropriate to regard EM as "a style of programming" for instance (it doesn't necessarily lead to the development of programs), and I don't really think it will be appropriate to interpret your project "comparing the development of models ... using a selection of different programming paradigms". And if all this makes you task sound intimidating, be reassured that this is territory that would be challenging to cover in the course of writing a doctoral thesis, and I will of course make allowance for that! And I do much appreciate the really interesting practical work you've already done with JS-EDEN etc.

common place →  commonplace

shall →  will
[most of the time - note that " I/we shall" is the plain future tense, but 'you/he/she/it shall' is not just future but has a prescriptive connotation - see]

empirical modelling →  Empirical Modelling