News & Analysis
Comment
prabhakar_deosthali
Will this new language do the CPU resource allocation at compile time? That kind ...
stixoffire
Who cares about Legacy software - those that are left behind.. As for this ...
SofCheck preps ParaSail parallel language
Peter Clarke
7/28/2011 1:14 PM EDT
LONDON – SofCheck Inc., best known as a vendor of software analysis and verification technology and Ada Compilers, is working on a parallel programming language called ParaSail that has been presented at two learned conferences recently.
ParaSail – for Parallel Specification and Implementation Language – is being developed "from scratch" and is particularly aimed at safety-critical systems where C/C++, and parallelizations of C/C++ are notoriously unsafe but it is also intended to make use of abundant processing resources that will soon be potentially available. It is SofCheck's assertion that chips with more than 64 cores will become relatively easy to make, but they will prove difficult to program effectively without a well-constructed parallel programming language.
SofCheck (Burlington, Mass.) is led by chairman and chief technology officer Tucker Taft who is well known as an industry leader in compiler construction and programming language design. It was Taft, while employed at Intermetrics Inc., who was the lead designer of the Ada 95 programming language and who helped add formal methods to parts of the Ada language.
Taft presented a paper entitled An introduction to ParaSail at the Ada Europe conference held in Valencia, Spain, in June 2010 and a paper by the same title at the Open Source Convention being held this week in Portland Oregon. Taft was also scheduled to present a tutorial on experimenting with ParaSail, for which there is now a prototype compiler.
According to the abstract of Taft's Oscon paper "ParaSail is a new language, but it borrows concepts from other programming languages, including the ML/OCaml/F# family, the Lisp/Scheme/Clojure family, the Algol/Pascal/Modula/Ada/Eiffel family, the C/C++/Java/C# family, and the region-based languages, especially Cyclone."
The language is described as being simpler than many others with only four basic concepts; modules, types, objects, and operations. It does not include pointers, exceptions and uses stack- and region-based data storage management rather than garbage collection. It supportds implicit parallelism, making programmers have to work to achieve sequential operation, rather than the other way around. By default the program constructs run in parallel and it promotes a formal approach to software with compile-time checks for correctness with respect to the formal annotations.
In the Oscon paper Taft was set to describe the status of a prototype compiler and a ParaSail Virtual Machine.
Progress in the development of the ParaSail language is the subject of a dedicated blog at http://parasail-programming-language.blogspot.com
Related links and articles:
www.sofcheck.com
http://www.sofcheck.com/news/AdaEurope_ParaSail_2010.pdf
http://www.oscon.com/oscon2011/public/schedule/detail/18557
http://conferences.ncl.ac.uk/adaconnection2011/tutorials/T1.html
http://parasail-programming-language.blogspot.com
News articles:
SOFTWARE TOOLS: CodePeer to automate code review
Software checker gains European channel
Navigate to related information


DrQuine
7/28/2011 11:42 PM EDT
As an intermediate development step, can processes which can be proven to be free standing be carved out for parallel processing while other processes remain sequential? Perhaps algorithmic emphasis needs to be devoted to determining which subroutines can be proven to be independent and where programming checkpoints need to be introduced to ensure that no thread goes any further until all previous threads have completed and their results have been made available for subsequent calculations.
Sign in to Reply
DKC
7/29/2011 3:00 AM EDT
http://parallel.cc
New languages are usually dead languages. You can view them as mutant strains - interesting but unlikely to survive.
Sign in to Reply
Code Monkey
7/29/2011 12:27 PM EDT
Lua, Python and Perl are not dead. In fact, a study at the Univ of Dusseldorf found that people were twice as productive in these languages than in C/C++/Java. The Linguas Franca are pretty awful. 50 years of Algol is enough.
Sign in to Reply
cemark10
7/29/2011 12:47 PM EDT
I believe you have a nice page here… i just happened to find it doing a yahoo search. anyway, excellent post.. i’ll be bookmarking this page for certain.
[url=http://www.eurocert.asia/]sedex[/url]
[url=http://www.meddevices.net/]clinical research organization[/url]
[url=http://www.getcemark.org/]european authorized representative[/url]
[url=http://www.itcindia.org/]EMC Testing[/url]
[url=http://www.dordognevakantiehuizen.nl/]Vakantiehuis Dordogne[/url]
[url=http://www.huiskopenfrankrijk.net/]Huis Kopen in Frankrijk[/url]
[url=http://www.vakantiehuizenveilingen.net]Vakantie Beoordelingen[/url]
[url=http://www.bestseogroup.com/]SEO Company[/url]
[url=http://www.omwebx.com]SEM[/url]
[url=http://www.newiphonestore.com/]iphone 5 release date[/url]
[url=http://newhollywoodbeautyparlor.jimdo.com/]Beauty Parlor[/url]
[url=http://www.newiphonestore.in/]iphone store[/url]
[url=http://www.bestseogroup.in/]SEO Services[/url]
Sign in to Reply
cemark10
7/29/2011 12:48 PM EDT
Related sites:
http://www.eurocert.asia/
http://www.meddevices.net/
http://www.getcemark.org/
http://www.itcindia.org/
http://www.dordognevakantiehuizen.nl/
http://www.huiskopenfrankrijk.net/
http://www.vakantiehuizenveilingen.net/
http://www.bestseogroup.com/
http://www.omwebx.com/
http://www.newiphonestore.com/
http://newhollywoodbeautyparlor.jimdo.com/
http://www.newiphonestore.in
http://www.bestseogroup.in/
Sign in to Reply
prabhakar_deosthali
7/30/2011 7:26 AM EDT
This grounds approach to the programming language for multi_core CPU is a welcome development as it would not have to carry any legacies that any enhancements to C++ or c# would have to worry about.
Sign in to Reply
Neo1
7/30/2011 7:53 AM EDT
Another one on the block. There have been quite a few parallel languages which are being implemented in select areas which are amenable to parallelisation but not in general computing domain. The issue with adoption is the huge wall of legacy so until that is addressed there is not much hope, nobody wants to devote expensive engineering resources to re-write those legacy software.
Sign in to Reply
stixoffire
7/30/2011 11:06 PM EDT
Who cares about Legacy software - those that are left behind.. As for this approach Parallel by default - work to make soemthing sequential is probably a good idea - since that is how most programmers are going to think. Sequences - rather than autonomous code running around. It kind of fits with someone coordinating a multitasked function all at once - all the plans are layed out with contingencies - those contingencies that can not be preplanned must have a route or path to handle them. Who to take those unplanned contingencies to is also something that needs to be set forth - some things should be done (by the person there) at the lowest level possible and others must be escalated - knowing what to escallate and to how high and to whom is a challenge for parallel processing.
Sign in to Reply
prabhakar_deosthali
7/31/2011 1:40 AM EDT
Will this new language do the CPU resource allocation at compile time? That kind of feature may make the system to have a predictable performance from a multi core CPU with distributed allocation of the tasks.
Sign in to Reply