Category Archives: bheudek


We start the academic posts series with the glossary of terms of the methodology.

Aspect-oriented programming is a programming paradigm which allows the separation of cross-cutting concerns. Different aspects, such as security, accounting log, notifications, etc. can be defined in isolated areas. The final comprehensive behavior of the system would be obtained using a weaving process.

A domain is an area, of business in our case, in which resides a particular knowledge and specific terminology to define it.
Domain Specific Language. Programming language designed to represent the concepts of a given domain. It can be a textual or graphical.
Feature Model. Model to represent the communes and optional parts that can have a product of a product line. Used in PLE.
Framework. A software framework is a reusable software platform to develop software applications. It is an abstraction where its generic functionality can be selectively changed by additional code providing application-specific software.
Language Workbench. Tool that allows defining and using formal languages: abstract and concrete syntax and static and dynamic semantics. It could be consider as a tool for designing the language, the compiler and the IDE.
Model Driven Architecture. OMG standard for software development based on model. It can be considered as a particular case of MDSD.
Model-driven Software Development. Programming paradigm focused on software development at the level of the models.
Rules, buildings, relationships, etc. that define the models that can build in a given domain.
Product Line Engineering. Discipline for the creation of software through product lines (SPL).
Software Product Lines. Development methodology focused on the production of software as is done in the production of other goods: sharing common processes and isolating individual ones.
View all Academic Posts.

Software Automation. Introduction.

Software development automation, as other automation processes, aims at delegating to the machine some of the tasks involved in this production process. The goal is to achieve a faster development methodology, and therefore a lower cost, and a higher quality of the final product.

SW automation has been a goal pursued previously but not very successfully. Design standards as UML or CASE tools (Computer Aided Software Engineering) have not achieved the expected results. The main cause is that they provide a generic solution (“general purpose”) to solve the set of problems faced by SW.

On the contrary, the new automation approaches provide the tools to design, in a simple and quick way, languages to describe each particular problem. It is this specific approach, not a general purpose, which has enabled success stories in sw automation.

Automation is mainly associated with code generation because, at the end of the day, the source code is the result of this production process, but we should bear in mind that, once these methodologies are used, programming moves from being a set of functional statements to become a knowledge representation where a number of disciplines, such as semantics or automated reasoning, can be applied.

We can conclude this introduction saying that throughout modern history, software has optimized every production process, now it’s time to optimize its own.

With this article we start a series where we will describe in depth this discipline and its implementation in Bheudek.

View all Academic Posts.

Time to Hit the Market!

After half a year of work we are pleased to inform you that our first release is finished.

Once we have reached this summit it’s time for us to go to the market to find customers, partners and any companion who wants to travel this new road with us.

Find more information about the release on 1st Release area.

Tools Finished!

We can proudly announce that our development tools are finished and ready to start our first product: a financial servicer.

Through this process we aim to create a ready-to-use final product while we dive the tools on a real production line in order to test and improve them.

You can see more information about them on Technology area.

Code Generation 2012

On March 24 part of the team of Bheudek traveled to Cambridge to attend the conference Code Generation 2012. Code Generation is an annual conference that brings together the most outstanding professionals in the fields of MDSD, LW, SPL and in general all those SW engineering disciplines based on automation and focused on improving the production process and the final product.
The conference was divided in two parts: Tuesday 27th Language Workbench Challenge and Wednesday 28th- Friday 30th the conference itself.

Language WorkBench Challenge
The goal of this event is not to find a winner but to compare, by solving the same exercise, the technical achievements on this area reached from the different tools.
Since every year the difficulty is increased over the previous one, this year the exercise was a heating circuit, therefore an eminently graphical domain versus the textual of the last year. It seems that for the next year the exercise will try to be an end-to-end process: from modeling to code generation and running on a platform.
About the competition we can honestly say that was a very interesting day where we could see and learn from others’ work, compare it with ours and especially we could share our opinions about these kind of tools.
About the tools, considering them all great projects, we will mention MetaEdit + (MetaCASE), AtomWeaver (Rui Curado) and Enso (Alex Loh, University of Texas).

The Conference
The rest of the event is focused on the presentation of experiences, case studies, management of tools, tutorials and especially on promoting contacts between the attendees. Presentations run from 9:00 to 17:00 with coffee and lunch breaks and then all kind of events like group talks (birds of the same feather), meetings around a beer, dinner and so on.
On those three days we could attend a wide range of presentations and among them we’d like to highlight:

  • Markus Völter and Jan Bosch as keynote speakers and their presentations about designing DSLs and innovation through the architecture.
  • MPS with several presentations of their tool and the content a LWB should have.
  • Enrico Persiani / Ricardo Solmi and their interesting tool (whole platform) applied to a real project.
  • Icinetic with Radarc and how to make MDSD in .NET.
  • CollectionsPro and their practical experiences with continuous MDSD and persistent data.
  • Holger Tschöpe and the development of a SPL at Eurocopter.
  • Medata showing their modeling tool on the web.
  • Steven Kelly and his thoughts about the importance of concrete syntax.
  • Finally, in a more comprehensive technical field, the guest speaker David Woods and his presentation on how Apollo flew to the moon.

Definitely, a wonderful experience we hope to repeat as attendants or even as speakers presenting our achievements.
Thank the organizers for this great conference and also for the social events that allowed us to contact and share good times with attendees and speakers.

Hello world!

After a long period working in the shadow, we’ve decided to open our doors to the world. We can finally state: we are online!

On this website we aim to describe the scope and aspirations of the project and the basic principles which define our understanding of the business.

Regularly, through this blog section, we’ll share with you our technical achievements and those little steps which, hopefully, will lead us to be a solid and technologically leading company.

Don’t forget to follow us on twitter to keep you posted on these and other issues.

Long live to Bheudek!