Skip to content

Dogen v1.0.06, "Praia da Mariquita"

Compare
Choose a tag to compare
@mcraveiro mcraveiro released this 06 Nov 21:40
· 6526 commits to master since this release
v1.0.06
cc0d75a

Praia da Mariquita,
Praia da Mariquita, Namibe, Angola. (C) Praia da Mariquita Lodge, 2014.

Overview

Our long road towards the clean up of the backends continued with another long and arduous sprint. The bulk of the work in this sprint was focused on two activities:

  • File locators work: clean up the backend-specific file locators and move them into yarn. In order to do this we needed to generalise a large number of data structures that were originally designed to be language-specific. This has proven to be quite a challenge, and we probably still have another full sprint ahead of us on this work.
  • Additional exomodel work: in the previous sprint we introduced the concept of exomodels; these originally used the regular meta-model elements such as yarn::object and so forth. This sprint it became obvious that a further round of simplification is still required, moving away from the core meta-model elements within the frontends. This work has only started but we can already see two obvious benefits: a) creating a frontend will be much easier, with very little code required b) the final JSON format will be quite trivial, making it easy for users to generate it or to map it from other tooling.

In addition to this, a number of "fun" activities where also undertaken to break away from the monotony of refactoring. These also provided tangible benefits in terms of Dogen development:

  • Consolidation of responsibilities in Yarn: A number of classes were tidied up and moved into Yarn, making the meta-model more cohesive (file housekeeping, artefact writing, etc). Other classes already in Yarn were improved (better naming, remove classes that did not add any value, etc).
  • Integration of CCache in Travis: most of our builds are now much quicker (in the order of tens of minutes or less) due to caching of translation units. Unfortunately, this work does not extend to GCC's Debug build (for some not yet understood reason) nor to OSX (given the peculiarities of its many packaging systems, we still haven't quite figure out how to install CCache) nor to Windows (its not clear that AppVeyor and/or MSVC support CCache or a CCache like tool).
  • Use of colour in Dia's UML diagrams: as described below, we started colour-coding UML classes in Dia.
  • Revamp of project logo: Dogen now sports a slightly more professional project logo in Github.

User visible changes

The only user visible change this sprint is the introduction of a simple colour scheme for Dia UML Diagrams. This idea was largely copied from this paper: Instinct: A Biologically Inspired Reactive Planner for Embedded Environments. Note that the colours have no meaning to Dogen itself, but they do make interpreting diagrams a lot easier.

Coloured UML Diagrams

Colouring is performed via a simple python script available here, which can be executed in Dia's interactive python console.

As always, for gory details on the work carried out this sprint, see the sprint log.

Next Sprint

Next sprint we'll continue working on the new exomodel classes and resume the work on the backend-agnostic file locator.

Binaries

You can download binaries from Bintray for OSX, Linux and Windows (all 64-bit):

For all other architectures and/or operative systems, you will need to build Dogen from source. Source downloads are available below.