Entries Tagged as 'Development'

Remove all .svn folders

Remove all .svn folders in a directory tree:

find . -name “.svn” -type d -exec rm -rf {} \;

Sikuli – Development using graphical user interfaces and images

Sikuli is a visual technology to search and automate graphical user interfaces (GUI) using images (screenshots). The first release of Sikuli contains Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily. Sikuli Script automates anything you see on the screen without internal API’s support. You can programmatically control a web page, a desktop application running on Windows/Linux/Mac OS X, or even an iphone application running in an emulator.

Sikuli is a research project developed by User Interface Design GroupMIT Computer Science and Artificial Intelligence Laboratory (CSAIL). Sikuli Script and Sikuli IDE are both released under the MIT License.

Read the press Picture-driven computing by MIT News office.

http://sikuli.org

sikuli-uist2009

SixthSense on TED from MIT

The Zen of Scrum

Software development: speeding from sketchpad to smooth code

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, software developers 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 program 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.”

The VIDE project received funding from the ICT strand of the EU’s Sixth Framework Programme for research.

From ICT Results

Innovation and Economic Development

by J. Fagerberg, M. Srholec & B. Verspagen

[abstract]

Is innovation important for development? And if so, how? One popular perception of innovation, that one meets in media every day, is that has to do with developing brand new, advanced solutions for sophisticated, well-off customers, through exploitation of the most recent advances in knowledge. Such innovation is normally seen as carried out by highly educated labour in R&D intensive companies, being large or small, with strong ties to leading centers of excellence in the scientific world. Hence innovation in this sense is a typical “first world” activity. There is, however, another way to look at innovation that goes significantly beyond the high-tech picture just described. In this broader perspective, innovation – the attempt to try out new or improved products, processes or ways to do things – is an aspect of most if not all economic activities. It includes not only technologically new products and processes but also improvements in areas such as logistics, distribution and marketing. The term may also be used for changes that are new to the local context, even if the contribution to the global knowledge frontier is negligible. In this broader sense, it is argued, innovation may be as relevant in the developing part of the world as elsewhere. The paper surveys the existing literature on the subject with a strong emphasis on recent evidence on the macro and – in particular – micro level.

UNU-MERIT Working Papers ISSN 1871-9872
http://www.merit.unu.edu/publications/wppdf/2009/wp2009-032.pdf

get uri, port, host, url

$urI = $_SERVER['REQUEST_URI']; // includes query string…
$proto=substr($_SERVER['SERVER_PROTOCOL'],0,strpos(’/',$_SERVER['SERVER_PROTOCOL']));
$port=$_SERVER['SERVER_PORT'];
$host=$_SERVER['HTTP_HOST'];
$urL = strtolower($proto).’://’.$host.’:’.$port.$urI;

echo “uri:”.$urI.”<br>”;
echo “proto:”.$proto.”<br>”;
echo “port:”.$port.”<br>”;
echo “host:”.$host.”<br>”;
echo “urL:”.$urL.”<br>”;

Development of an artificial simulator of the human nervous system to do research into diseases and test new medicines

Scientists of the University of Granada have generated a computer which permits to reproduce any part of the body’s nervous system, such as the retina, the cerebellum, the hearing centres or the nervous centres
This is free and open software, so-called EDLUT, which can be freely downloaded through the Internet

UGR News Researchers of the University of Granada have developed a simulator, so-called EDLUT (‘Event driven look up table based simulator’), which permits to reproduce any part of the body’s nervous system, such as the retina, the cerebellum, the hearing centres or the nervous centres. This scientific advance permits to analyze and understand the functions of the nervous centres, to do research into new pathologies and diseases or test new medicines; it will also be useful to improve the robots and machines inspired in the human body and the nervous system.

This simulator has been developed by the research group CASIP, of the department of Architecture and Computer Technology of the University of Granada, to which professor Eduardo Ros Vidal (coordinator of the projects in which the simulator has been developed) belongs to.

Unlike other simulators similar to the preceding versions, EDLUT permits to similar several hundreds of thousands neurons at the same time, instead of several tens. This is possible thanks to the fact that the simulator “compiles” the behaviour of a neuron or several types of neurons in a first stage and next, it simulates medium and great-scale neuronal systems based on these pre-compiled models.

“This fact means an essential technological advance and indisputably affects the quality of nervous simulation”, says professor Eduardo Ros.

Free downloading
Another important advantage of the simulator developed at the University of Granada is that it is free software, this is, that it can be freely downloaded through the Internet at http://code.google.com/p/edlut/. In this sense, EDLUT means “an innovative version with regard to other simulators such as NEURON and GENESIS”, in the words of Ros, and those companies of the biotechnological sector or research centres interested in this field can use it freely and adapt it to their own needs.

This simulator developed at the UGR has been financed by different research projects such as SpikeFORCE and SENSOPAC, initiatives of the European Commission through which research groups of different fields such as neuroscience, biocomputing and electronic engineers have been working since the year 2002 in order to get that robots have similar movement skills to those of the animals, and can also perceive a great number of signs of sensors and motors in order to draw cognitive notions.

Eduardo Ros Vidal insists that ¡ SENSOPAC –a project which also has the participation of DLR (German Aerospace Agency), besides several universities such as the University of Edinburgh, Erasmus, Pavia, Lund, Cambridge- “intends to be the definitive boost that technology needs to generalize the use of robots in our everyday life”.

The results of this research project have been partly published in the renowned journals ‘Neural Computation’ and ‘Biosystems’.

Reference
Prof Eduardo Ros Vidal
Department of Architecture and Computer Technology of the University of Granada
Tlfno: 958 246 128 / 657 556 034
E-mail eduardo@atc.ugr.es | Web http://www.sensopac.org | http://atc.ugr.es/~eduardo