Web 2.0 communities emerge regularly with the growing need for domain-specific programming over Web APIs. Even though Web mashups provide access to Web APIs, they ignore domain-specific programming needs. On
the other hand, developing domain-specific languages (DSLs) is costly and not feasible for such ad hoc communities. We propose User Language Domain (ULD): an intermediate Web based architecture using a domain-specific embedded languages approach that reduces the cost of DSL development to plugging the Web APIs into a host end user programming language. We have implemented the proposed architecture in the context of
smart devices, where we plug the functionality of different Lego Mindstorms devices into a Web-based visual programming language. We expect that several domains, such as smart homes or wearable computers can use the ULD architecture to reduce development effort.

Recently I went into price models for cloud computing and this is an interesting figure from Amazon.

The picture came from the Amazon developer guide and is more or less a good summary. In few words you pay for CPUs, data coming in and out amazon and permanent storage.

What is not clearly shown in the picture is the costs for the amazon services. In other words every time you perform a change or monitor in the infrastructure with external tools you must pay something because you are using the web services of amazon. If you have a lot of datas or you are using many virtual machine this cost is negligible but if you plan a close monitoring to your infrastructure you should be prepare to add this extra costs.

Distributed Applications, such as Service Oriented Architectures, are more and more becoming a collection of huge quantity of heterogeneous software. This software needs to be installed, configured and maintained.
In an ideal situation, machines that have to cooperate together should retrieve information about the environment and adjust their functionality according to their needs, without trigger any human interaction.

Different possibilities have been explored to cope with this problem in diverse scenarios in which machines and Instruments are deployed. This kind of demand becomes even more crucial in those cases characterized by a huge number of sensors/probes involving a highly dynamic change in their distribution and inter-connections.
Peer to peer has been proposed as a possible approach for covering the aforementioned need. With this solution different instruments can discover information by the others and cooperate to optimize the overall system performances and/or repair possible system faults.
This video presents a simple and intuitive demonstration of self-configuration and self-optimization properties in a set of Instruments. Here you have the possibility to see the system deployment and to trigger a re-configuration by adding a new Instrument.
The map of this video shows several different markers, each representing one or more instruments spread about the entire world.
Different colours stand for different types of Instruments: adding a new marker on the map, that means to join your machine, as a new Instrument, into the Instrument Network, is as easy as clicking a “Join!” button.

In the Demo you will see the following actions:
1) Server that hosts a geo-location of existing devices is displayed
2) A sensor application is started in a local machine using javaWeb start.
3) The Map is automatically updated with the location and the information of the new node.
4) The sensor is de-instantiated and it disappear from the map.
5) The basic GUI of the core machine that maintains the information of the index is displayed
6) Different ways of showing the information acquired from the sensors are displayed

We just release the first version of jARC a java library that will allow the access to the grid from Java.

2 different ways to deal with the low level communications have been provided in order to support an access from a machine where the ARC-User Interface is not installed. This is he case of a remote user interface and he APIs support an SSH connection with the machine where the ARC command line interface runs in order to read/write strings into the wire and performs file transfers (using SCP).

Grid security is supported via an automatic regeneration of the user certificate and is optional. In other words, if you can assume that the machine where the User Interface is running support has a valid proxy installed the security become optional and can be turned off.

The key class is ARCFacade.java that Abstract the usual job submission functionalities and gives a “method oriented” way to interact with ARC.

The Swiss Grid School 2010 (SGS’10) is organized by the Swiss National Grid (SwiNG) association. Created in October 2007, SwiNG promotes Grid computing in several scientific and industry-related domains (physics, chemistry, life science, engineering, finance, computer science, etc.). One of SwiNG’s objectives is to run education and outreach activities. In this context, SGS’10 aims at transferring Grid knowledge to academia, research and industry. The following audience is particularly addressed:

Graduate students (master, Ph.D. level)

IT Department/services

Practitioners and researchers from industry, academia and government organizations interested in further advancing the use or the development of Grid technologies.

SGS’10 provides lectures and practical lab sessions that illustrate the current state-of-the-art in Grid computing in the following domains: Grid architecture, security and middleware, resource management, data management and scientific workflow management. It also focuses on a variety of practical case studies (applications).

According with Wikipedia smart grid delivers electricity from suppliers to consumers using two-way digital technology to control appliances at consumers’ homes to save energy, reduce cost and increase reliability and transparency.

As we can see from this talk the USA government has a growing interest in the Smart Grid topic:

Future Smart Grid in USA

Some of the needs include:

Improving reliability

Improving security

Integrated with the information technology

Connect homes to the electrical system in a way that they can organize themselves

It looks something that can be interesting for this project as we can read from the IE homepage

I am happy to inform you that today (actually yesterday AU time…) Prof. Mehdi Jazayeri give an interesting talk related to instruments and the growing need of deal with devices that are quite complex and need to be programmed by lay persons. Our Instrument Element project, together with the WEUP project, has been used for validating part of the claims of the talk.

Below you can find title and abstract of the talk and bio of the speaker:

Abstract: The rapid spread of computers and other smart devices means that an increasingly large population is faced with using such devices. In many situations, some users either have to, or simply want to, make modifications to the behavior of their devices. In the extreme, some of these users want to program their devices. Considering that some of these devices are quite complex, programming them by lay persons is a challenging task. To address this challenge, we have devised a software architecture called ULD that decomposes the problem into three distinct layers: the User, the Language, and the Domain layers. The domain layer abstracts the functionality of the domain in which the device is deployed; the language layer presents a programming language specific to the domain; the user layer offers a visual environment to the end-user for programming applications for the domain. The creation of each layer requires different kinds of expertise: domain expertise, programming language expertise, and application expertise. The ULD architecture enables people with these different kinds of expertise to collaborate and combine their work. We also attempt to automate the creation of the language layer as much as possible. Our work draws on early work on end-user programming and on later work on domain-specific architectures and languages.

We believe that this work has application in a wide range of areas including smart devices, instruments, smart home devices, and Web 2.0 communities. We have implemented the architecture in a prototype demonstration with Lego Mindstorms robots.

About the speaker: Mehdi Jazayeri is professor of computer science and founding dean of the Faculty of Informatics at the University of Lugano since October 2004. Before that he was a professor and head of the Distributed Systems Group at the Technical University of Vienna (1994-2004). He worked at several startup companies in Silicon Valley before joining Hewlett-Packard Laboratories in Palo Alto for ten years (1984-94). He began his career as an assistant professor at the Computer Science Department of the University of North Carolina at Chapel Hill (1975-1980). Mehdi Jazayeri is an IEEE Fellow and was program co-chair of ICSE 2000 and program chair of ESEC-FSE 1997, the two premier international software engineering conferences.