Software development: speeding from sketchpad to smooth code

July 30, 2009

(PhysOrg.com) -- Creating error-free software remains time consuming and labour intensive. A major European research effort has developed a system that speeds software development from the drawing board to high-quality, platform-independent code.

According to Piotr Habela, technical coordinator of the VIDE (for VIsualize all moDel drivEn programming) project, have many good ideas about how to visualise, develop, debug and modify software, plus standards to guide them. The problem is that the design and development process has always been fragmented.

He explains that methods for visualising or flowcharting how a should work do not lead directly to computer code.

Software written in one programming language may be difficult to translate into another. No matter how carefully programmers work, complex software almost always includes errors that are difficult to diagnose and fix. Because of the lack of precise links between a program’s features and the software that implements them, updating or modifying a program often turns out to be time-consuming and costly.

“What we attempted that was quite distinct,” says Habela, “was to make the development of executable software a single process, a single toolchain, rather than a sequence of separate activities.”

It took two-and-a-half years of intensive effort by VIDE’s ten academic and industrial research partners, funded by the European Union, but the result is a software design and development toolkit that promises to make creating well-functioning, easily-modified software - for example for small businesses - significantly smoother, faster, and less expensive.

Model driven architecture

A key part of VIDE’s approach was to build on the idea of Model Driven Architecture, a programming methodology developed by an international consortium, the Object Management Group.

The idea is that each stage of software development requires its own formal model. The VIDE team realised that by creating and linking those models in a rigorous way, they could automate many of the steps of software development.

A software developer might start by working with a domain expert - for example a business owner - to determine what a new program needs to do. Those inputs, outputs and procedures would be formalised in what is called a computation independent model (CIM), a model that does not specify what kinds of computation might be used to carry it out - it lays out what the program will do rather than how it will do it.

“Models are usually considered just documents,” says Habela. “Our goal was to make the models serve as production tools.”

In the case of VIDE, much of that modeling is visual, in the form of flowcharts and other diagrams that are intuitive enough for the domain expert to understand, but which are sufficiently formalised to serve as the inputs to the next stage of the software development process.

To carry out these first modeling steps, the researchers created a domain analysis tool and a programming language called VCLL, for VIDE CIM Level Language.

From CIM to PIM to program

Once they have produced a formal CIM of the program they want to implement, it’s time to move a step closer to a functioning program by translating it into a platform independent model, or PIM.

For the VIDE team, a PIM is a model that specifies precisely what a program needs to do, but at an abstract level that does not depend on any particular programming language.

The researchers developed several software tools to produce a usable, error-free PIM. These include an executable modelling language and environment, a defect-detection tool, and finally a program that translates their final model into an executable Java program.

Luckily, the researchers did not have to build their system from the ground up. They were able to rely to a large extent on a pre-existing modeling language called UML, for Unified Modeling Language. UML provides a systematic way to visualise and describe a software system.

“We now have a kind of prototyping capability built into the development process,” says Habela. “You can design a model, specify its behavioural details, run it with sample data to see how it behaves, and then check with the domain expert to see if it is in fact the behaviour they expected.”

Several of the consortium members are implementing the VIDE toolkit in specific areas, for example web services, database management, and a variety of business processes.

Habela cautions that reaching VIDE’s goal of smoothly automating the entire software design and development process requires more work. Because of the broad scope of the project and the fundamental changes they are making, they are not yet ready to deploy the complete system.

However, he says, they have gone a long way towards clearing up “the muddy path from requirements to design.”

More information: http://www.vide-ist.eu/

Provided by ICT Results


print this article email this article download pdf blog this article bookmark this article     Stumble it Digg this share on Facebook retweet share on Reddit add to delicious
Rate this story - 4 /5 (2 votes)

Rank Filter

Move the slider to adjust rank threshold, so that you can hide some of the comments.


Display comments: newest first

  • taisha99 - Jul 31, 2009
    • Rank: not rated yet
    At the NCC over 20 years ago we developed the 'Intermediate Knowledge Representation". This represented the domain, task, inference and problem solving strategies in a software independent way.



    As a test two teams implemented the same software system from a IKR in different lagauages (It was a KBS system for network fault diagnosis).

    So the above is not new. UML is formal and by that very nature implies constraints and hence distortions that may give rise to problems and bugs.



    Native explicit language is what is needed.

    Ged Haydon

July 30, 2009 all stories

Comments: 1

4 /5 (2 votes)
  • Stumble this up

  • Digg this

  • share this

  • hide
  • Related Stories

  • Taking the hard work out of software
    created Jul 28, 2009 | popularity not rated yet | comments 0
  • New tool improves productivity, quality when translating software
    created Feb 24, 2009 | popularity not rated yet | comments 0
  • Software 'Chipper' Speeds Debugging
    created Oct 01, 2007 | popularity not rated yet | comments 0
  • Keeping computing compatible
    created Sep 25, 2008 | popularity not rated yet | comments 0
  • Goodbye to faulty software?
    created Jul 15, 2008 | popularity not rated yet | comments 0



  • hide
  • Relevant PhysicsForums posts

  • Question about COMSOL and boundary conditions
    created 3 hours ago
  • Vacuum Systems
    created Dec 20, 2009
  • non linear curve fitting
    created Dec 20, 2009
  • Importing form Proengineer to Ansys and or Comsol
    created Dec 20, 2009
  • COMSOL Help! Reflections of Thin film on the slab
    created Dec 20, 2009
  • Quantum computer on DNA
    created Dec 19, 2009
  • More from Physics Forums - General Engineering

Other News

Many take dim view of new-fangled Christmas lights (AP)

Many take dim view of new-fangled Christmas lights

Technology / Energy

created 5 hours ago | popularity 1 / 5 (2) | comments 6

(AP) -- To Steven Walls, it's beginning to look nothing like Christmas, anywhere he goes.


Modern tests demonstrate soundness of old iron bridge

Modern tests demonstrate soundness of old iron bridge

Technology / Engineering

created 9 hours ago | popularity 4.6 / 5 (5) | comments 2

An unusual bowstring truss iron bridge that carried traffic across Roaring Run in Bedford County, Va. for almost 100 years is now a picturesque footbridge at the I-81 Ironto, Va. rest stop. Built in 1878, ...


Putting the squeeze on data

Putting the squeeze on data

Technology / Computer Sciences

created 3 hours ago | popularity 5 / 5 (1) | comments 0

(PhysOrg.com) -- Data compression is one of the fundamental research areas in computer science, letting information systems do more with less. It’s the reason the iPod nano can hold thousands of songs instead ...


How could Santa know if you've been good or bad?

How could Santa know if you've been good or bad?

Technology / Computer Sciences

created 2 hours ago | popularity not rated yet | comments 0

(PhysOrg.com) -- By using technology to detect guilty expressions, of course. CSIRO is using automated expression recognition technology to tell whether someone is in pain and, according to computer scientist, ...


Would a Google purchase of Yelp draw regulatory interest?

Technology / Business

created 8 hours ago | popularity not rated yet | comments 0

Google Inc.'s reported plans to acquire local-listings service Yelp may face difficulties, with regulators attuned to the Mountain View, Calif.-based company's established dominance of the Internet-search and advertising ...