Taking the drudgery out of software development

November 24, 2009
Taking the drudgery out of software development

(PhysOrg.com) -- Software developers will no longer have to reinvent the wheel when writing new programs and applications thanks to a clever new set of tools and a central repository of 'building blocks'.

Traditionally, developers have had to write software programs from scratch, whether or not something similar has been done in the past for a different application or circumstance.

This has meant skilled people spending a lot of time doing repetitive, boring work before being able to turn out new software for a specific requirement.

But a much more efficient way of doing things has been demonstrated by European researchers who have developed an automated way of searching a central software repository to extract software ‘artefacts’ from existing systems for use in new systems.

The EU-funded ReDSeeDS project was established with the aim of initially researching the requirements for the components of an automated searchable repository, and then producing a software toolkit to cope with the requirements.

The researchers had to come up with a requirement specification language, which allows developers to use a single user interface to frame their queries; query technologies which automate the query process once the requirements have been entered; and a repository technology which searches the repository and provides answers to queries.

Automation is the key

According to project coordinator Michal Smialek there have been attempts made in the past to build standards for the type of software repository envisaged and then developed by the project. But the problem was they were not automated and so a lot of work was still involved.

“The big difference with our platform is that it allows you to simply sketch out the requirements of your proposed new system and then these are automatically compared with the requirements and capabilities of existing systems. The results are displayed to you with the differences and similarities between the old and new systems highlighted,” he says.

This allows a developer to pick and choose what artefacts he can take from existing systems and slot them into the new system.

Of blueprints and codes

“In this context, by artefact we mean a software artefact which has been constructed on a computer by a software developer,” Smialek notes. "This can be any kind of model or document or program which is the result of a software project,“ he says.

“In a project, you may produce several artefacts which are design blueprints and then an artefact which is the code that tells the system how to work. The final program is also an artefact which is served by the other artefacts - that is the design and the code.“

So when it comes to matching up the requirements of a new system with what has been done in previous systems, it is a question of automatically matching up the design blueprints and then seeing which bits of code can be re-used.

Smialek points out it may not be as simple as stripping out the relevant points of functionality from one system and pasting them straight into the new system - some adaption work might need to be done. Even so, it is still a great deal quicker and more efficient than starting from scratch.

“When you have a similar problem to that solved previously you put in the design and the code, and of course you might have to adapt it slightly to your new problem, but the majority of work was already done on the previous project,” he says.

Any size of repository

He gives as an example different types of registration. “Somebody logging onto a website might have to press a button which causes a form to pop up which must be filled in. You press enter and the system checks the validity of the data and registers it in the memory.

“This type of functionality can be used between different types of program domains so doing something as different as registering a computer in a warehouse could have the same logic as registering a user in an online system - so much of the same system design and code could be copied,” he says.

In practical terms, a repository might just be in one company, or widely shared. The project has set up an online open-source repository with its own server, and project members from seven different countries have contributed software and trialled the system.

Once fully validated, the next step is to try to commercialise it. A software tools company, which was not part of the project, has expressed interest in incorporating the system into its product suite, reveals Smialek.

“What it will do as a commercial product is to reduce considerably the amount of work required to develop a new application, and that means the ability to develop more and larger systems using the same human resources, which is bound to have a wide appeal,” he concludes.

More information: ReDSeeDS project

Provided by ICT Results

3.6 /5 (19 votes)  

Filter


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


Display comments: newest first

Fakeer
Nov 24, 2009

Rank: 3 / 5 (1)
After being in the software engineering for over a decade this 'reuse driven programming' to prevent repetition of code doesn't seem at all new in it's approach. In fact it seems to be based on such naive ideas around the problem of re-usability in the industry, that it borders on being silly. But academic models are always good to have.
plasticpower
Nov 25, 2009

Rank: 5 / 5 (1)
Of all the software projects I have done lately, at least 25% of the source code consisted of bits and pieces of code from my older projects adapted to work with the new project. So this whole idea might not be new, but they have managed to make code concepts searchable. It is always nice to have access to source code that might give you ideas about a particular problem that you have not personally solved before.
frajo
Nov 25, 2009

Rank: 3 / 5 (3)
Let's call this idea "the open source model".
googleplex
Nov 25, 2009

Rank: 4 / 5 (1)
Whatever they are proposing will need to be better than the tools already available e.g. google.
There is a clear trend toward cloud computing. So we will continue to see more software provided by a central provider on the internet. This will reduce the amount of replicated code as programming becomes more globalized.
Bob_B
Nov 25, 2009

Rank: 4 / 5 (2)
Not even one mention of testing, so here goes. Software testing is not a trivial thing. Kludging multiple code sources together via automation will be a bonanza for software qa folks. Opps, actually a bonanza for those QA engineers not in the USA, outsourced jobs to off-shore untrained QA folks.

It has been noticeably obvious that software bugs are are the increase. The cloud will rescue us, is the new mantra. Probably even less QA in the Cloud.
rincewind
Nov 25, 2009

Rank: 3 / 5 (1)
googleplex - cloud computing is indeed the future (and past) of computers. However, distributed programming architectures will not be going away either. One trend that is unavoidable is decentralization, whether this is in terms of energy, information tech or political power. This decentralization is powered by better accessibility of information (e.g. code.google.com) & increased sharing at higher levels (forums, discussions). I think the authors are just underscoring the benefits to be gained on the software dev side.
RayCherry
Nov 25, 2009

Rank: 4.5 / 5 (2)
Congratulations to the RedSeeDS team. Simple idea, extending an old model, (anyone else remember Rational?), with and automated sourcecode catalogue which has search facilities based on quality metadata.

Not an amazing development - but an amazing amount of work that nobody has done before, and for that I hope the team continues to get sponsorship and the opportunity to evolve into a global staple of future programmers IDE's.

Perhaps RedSeeDS could also guarantee the components supplied as "Internet Ready" - as in virus proof! We have extremely secure kernels, now we need the same quality in the components used to build on top of them.

That would be something extraordinary, and extremely valuable.
gwrede
Nov 25, 2009

Rank: 4.3 / 5 (3)
Seems these academics haven't had a real job in programming.

And the real drudgery, for a programmer, would be to formulate the search query so precisely that you get relevant answers. And that's only the start. Then you have to wade through docs, specs, and source code to see whether it actually suits your needs. Which means you have to get "into" and understand another person's source code, logic, idiosyncracies and bugs, and ultimately tweak it to your own needs. (And then the Library guy gives you hell for not properly documenting the precise difference to your final version.)

Any sane programmer would rather save time and nerves by just writing the thing, instead of all that drudgery!

All we'd really need is a C++ replacement, that comes with a comprehensive, well organised and orthogonal library, where each routine is properly documented (including examples), and that has a way to search quickly and *easily* for what you need.

But that's not sexy and can't get big funding.

rincewind
Nov 25, 2009

Rank: 3 / 5 (2)
All we'd really need is a C++ replacement, that comes with a comprehensive, well organised and orthogonal library, where each routine is properly documented (including examples), and that has a way to search quickly and *easily* for what you need.


Best solution I've seen to this issue has been provided by Microsoft: C# + .NET + MSDN. There are other such frameworks too, not just specific to Microsoft. But it's a sincere attempt that has worked well.
El_Nose
Nov 25, 2009

Rank: 4 / 5 (1)
I did not read the early post I can only imagine they might be similiar ---

NO one codes anything from scratch unless its a new company or they just got out of school... and building dependencies on a code base tends to make weak programmer's weaker. If there is an issue with the solution it becomes harded to find because there was no hands on/in most of the routine funtcions.

Personally we have seen what this does to solutions -- because of the fact we know we are writing code that will be reused and needs to be fault tolerant and output good error information we tend to write in a style similiar to java and lets face it java is slow because its programming with training wheels.
bfast
Nov 25, 2009

Rank: 4 / 5 (1)
Oooh, bust a gut laughing!

NO one codes anything from scratch, period. (Well, that might be a bit of an exaggeration, a few hacks might click out small control programs for embedded chips from scratch, but that's about it.) Just set up a modern compiler and you get gazillions of tools. Look on sites like www.planetsourcecode.com to get all manner of example and snippet code for free, or look in the programming mags or use a web search to purchase all manner of drop-in tools. Then, of course, there is your own library, and the library of the company you work at.

There's no story here folks, move along.

(I'm a 7 times patented software developer with 30 years experience.)
rincewind
Nov 25, 2009

Rank: 4.7 / 5 (3)
I'm a 7 times patented software developer with 30 years experience.


Nothing to be proud of! When it comes to software, that's called being a "patent troll", because it's a flawed system based on archaic concepts of mechanistic inventions.
antialias_physorg
Nov 28, 2009

Rank: 4 / 5 (1)
Being a programmer myself I'd say: this dosn't work for any type of programming where inventiveness/creativity is an issue.
You ALWAYS need to refine and adapt algorithms and datastructures as soon as you do something even marginally new.
For the simple tasks we have program libraries, but it's almost never 'plug and play'.

Especially in research it's most often better to write the code yourself from scratch - not because you'll do it better than the 'standard implementation' out there, but because having written it yourself you have full control over the architecture and interfaces. Whenever you tweak it you will be in control.

If you tweak 'standard packages' or 'foreign code' where you have never looked under the hood you will be in a world of hurt in no time once you start to do non-standard stuff.
OZGuy
Nov 28, 2009

Rank: 3 / 5 (1)
"The project has set up an online open-source repository with its own server, and project members from seven different countries have contributed software and trialled the system.

Once fully validated, the next step is to try to commercialise it."

So am I reading this right? It's being developed using open-source principles but as soon as it's any good it's going to be proprietary software?
Ensa
Nov 29, 2009

Rank: not rated yet
All we'd really need is a C++ replacement, that comes with a comprehensive, well organised and orthogonal library, where each routine is properly documented (including examples), and that has a way to search quickly and *easily* for what you need.


Best solution I've seen to this issue has been provided by Microsoft: C# + .NET + MSDN. There are other such frameworks too, not just specific to Microsoft. But it's a sincere attempt that has worked well.

HAHAHAHAHAHAAaaaaaaaaaa! :)
That had me laughing. Made my day!
patnclaire
Nov 29, 2009

Rank: not rated yet
Ah! Microsoft and MSDN. That might be a good choice except that they charge money for it. Those of us who cannot afford their price must look elsewhere. What a shame. Sun gives away its developer network. Microsoft could, also. Gordon Gecko is alive and well at Microsoft. Bill, how about some sanity and less philanthropy?
rincewind
Nov 29, 2009

Rank: not rated yet
The goals of this project are no less evil that of Micro$oft: commercialization of the software toolkit.
SteveMerrick
Nov 30, 2009

Rank: not rated yet
Reuse is new? Funny, that. IO seem to have been doing it for quite some time now...
Rank 3.6 /5 (19 votes)
Related Stories
Relevant PhysicsForums posts
  • Calling function with no input argument
    created15 hours ago
  • Force free body diagram problem on gym equipment
    created16 hours ago
  • Empirical data regarding shower heads and water
    createdFeb 10, 2012
  • feed hold button on CNC lathe
    createdFeb 09, 2012
  • RFAC in Fortran
    createdFeb 09, 2012
  • dynamics 2/32
    createdFeb 08, 2012
  • More from Physics Forums - General Engineering

More news stories

Anonymous knocks CIA website offline (Update)

The website of the Central Intelligence Agency was inaccessible on Friday after the hacker group Anonymous claimed to have knocked it offline.

Technology / Internet

created 9 hours ago | popularity 5 / 5 (9) | comments 16

Google users warned of threat to smartphone wallets

Users of Google smartphone wallets were being warned on Friday that there is a way to crack pass codes intended to thwart thieves from going on illicit shopping sprees.

Technology / Internet

created 8 hours ago | popularity 5 / 5 (2) | comments 0

New error-correcting codes guarantee the fastest possible rate of data transmission

Error-correcting codes are one of the triumphs of the digital age. They’re a way of encoding information so that it can be transmitted across a communication channel — such as an optical fiber o ...

Technology / Computer Sciences

created 18 hours ago | popularity 4.9 / 5 (8) | comments 6 | with audio podcast

New power source discovered

(PhysOrg.com) -- Researchers at the Massachusetts Institute of Technology (MIT) and RMIT University have made a breakthrough in energy storage and power generation.

Technology / Energy & Green Tech

created 17 hours ago | popularity 4.8 / 5 (29) | comments 8 | with audio podcast

Small modular reactor design could be a 'SUPERSTAR'

(PhysOrg.com) -- Though most of today's nuclear reactors are cooled by water, we've long known that there are alternatives; in fact, the world's first nuclear-powered electricity in 1951 came from a reactor ...

Technology / Energy & Green Tech

created 17 hours ago | popularity 4.4 / 5 (13) | comments 23 | with audio podcast


Humans may have helped the decline of African rainforests 3000 years ago

(PhysOrg.com) -- Large areas of rainforests in Central Africa mysteriously disappeared over three thousand years ago, to be replaced by savannas. The prevailing theory has been that the cause was a change ...

The power of estrogen -- male snakes attract other males

A new study has shown that boosting the estrogen levels of male garter snakes causes them to secrete the same pheromones that females use to attract suitors, and turned the males into just about the sexiest ...

Complex wiring of the nervous system may rely on a just a handful of genes and proteins

Researchers at the Salk Institute have discovered a startling feature of early brain development that helps to explain how complex neuron wiring patterns are programmed using just a handful of critical genes. ...

Could Venus be shifting gear?

(PhysOrg.com) -- ESA’s Venus Express spacecraft has discovered that our cloud-covered neighbour spins a little slower than previously measured. Peering through the dense atmosphere in the infrared, the ...

Advanced power-grid model finds low-cost, low-carbon future in West

(PhysOrg.com) -- The least expensive way for the Western U.S. to reduce greenhouse gas emissions enough to help prevent the worst consequences of global warming is to replace coal with renewable and other ...

Fool's gold may prove an unlikely alternative to overexploited catalytic materials

Catalytic materials, which lower the energy barriers for chemical reactions, are used in everything from the commercial production of chemicals to catalytic converters in car engines. However, with current catalytic materials ...