Nov
10

Unlimited parallelism & concurrency with recursive dataflow

by Tomi Maila, Nov 10, 2009 at 4:09 pm
1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 4.50 out of 5)
Loading ... Loading ...

In my previous post I introduced the design pattern of worker pool based on dataflow recursion. In this post the pattern is revisited. I explain the theoretical concept of unlimited parallelism and concurrency that is a consequence of recursion in dataflow based programming languages. Furthermore I present how worker threads can be reused to manage system resource consumption.

more…

Print This Post Print This Post

Oct
23

Introduction to generic programming with type parameters

by Tomi Maila, Oct 23, 2009 at 1:28 pm
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Many modern programming languages implement generic programming support with the concept of type parameters. Generic programming using type parameters is the feature I have been missing the most in LabVIEW. Generic programming is about writing reusable blocks of code in terms of types that are specified in later time. In LabVIEW terminology type parameters would specify the type of wires and terminals of generic type. Type parameters can either be implicit or explicit. Implicit type parameters are determined by the compiler automatically where as explicit type parameters are specified by the developer. Furthermore type parameters can have variation limits, specifying what kind of type are accepted. Type parameters could be in principle applied to a VI, to a class, to a library, to a mixin class (trait), to an interface or any other kind of module that includes executable code or front panels. (EDITED Introduction & title 10/25/2009 9:36 GMT)

more…

Print This Post Print This Post

Feb
01

Will Microsoft’s bid for Yahoo! have an affect on visual programming

by Tomi Maila, Feb 1, 2008 at 10:53 pm
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Today’s big news is that Microsoft made a $44.6bn takeover bid for Yahoo! And I thought Yahoo! was so 90′s.

If the deal goes ahead, will it have implications related the visual programming? We all know that NI is the leading developer of visual programming languages with its LabVIEW integrated programming language and development environment. However neither Microsoft nor Yahoo! have been completely quiet in this scene. Yahoo! has developed a domain specific visual programming environment Yahoo! Pipes for aggregating web feeds and other online information resources. Microsoft has developed a little similar tool, Mashup Creator, for their Popfly online web development environment. In addition Microsoft has a product called Microsoft Robotics Studio for robotics application development.

Even though the products of both Microsoft and Yahoo! are rather simple and restricted, they indicate that visual programming is slowly coming of age. However consolidation of services from the two companies doesn’t necessarily mean anything good for a minor field like visual programming. It’s very plausible that projects like Popfly and Pipes end up dead when giants like Microsoft and Yahoo integrate their organizations.

What do you think? Will Microsoft’s possible deal with Yahoo! have implications in the field of visual programming?

Print This Post Print This Post

Nov
12

Two Paths to Concurrency – Comparing Erlang and LabVIEW

by Tomi Maila, Nov 12, 2007 at 11:46 pm
1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 4.60 out of 5)
Loading ... Loading ...

The clock speed of computer processors has reached the ceiling and the processor manufactures have moved from developing even faster single core processors into developing processors with increasing number of cores on a single chip. The increasing number of parallel processors is a challenge for software industry as writing parallelly executing software with mainstream programming languages is a challenging job. This dilemma is sometimes referred to as the multicore crisis.

Even though writing parallel programs with languages like C++, Java or C# is a rather complicated job, programming for parallel environments doesn’t necessarily have to be a challenge. Two programming languages both having their roots in the end of 80′s, Erlang and LabVIEW, have both been inherently concurrent from the very beginning. Both languages have started as special purpose programming languages and during the last two decades evolved into full featured general purpose programming languages. Although being both inherently concurrent languages, Erlang and LabVIEW solve the problem of concurrency in rather different ways.

more…

Print This Post Print This Post

Get Adobe Flash playerPlugin by wpburn.com wordpress themes