Some Fast Ada Programming News

First lets start with the fact that it just got easier to build Ada packages for Debian. YAY!

Second it’s great to know that the Ada networking library, Anet, just hit version 0.1 – Get it while it’s hot.

Third you’ll be thrilled to know that the What would you like in Ada 202X? thread on comp.lang.ada has gone berserk! Fun read, if you have the time.

Fourth we get ZanyBlue, which is a project implementing a finite element based solution of the Maxwell field equations. En route to that goal, supporting libraries and applications are being implemented. Initial functionality covers localization support for Ada. ZanyBlue is now at version 1.0.0 BETA. Here’s the release announcement.

Finally Stephe Leake did the entire Ada 2005, 2012 (draft 17) reference manual in info format. Pretty awesome, if you ask me.

 
Posted in Ada Programming | Tagged , , , , , | Leave a comment

The May 2012 Open Ada-DK Meeting

May 8th. 2012 from 1730 -> ? marks the day and time when the eighteenth open Ada-DK meeting is being held.

The “open” part means that the meeting is not a members-only affair, but that anybody interested in Ada is welcome, so feel free to invite whomever you might believe could be interested in spending an evening talking about Ada programming.

If you’re interested in participating, feel free to send us an email and we’ll inform you of the when and where. You can also ping me at Google+, identi.ca/thomaslocke or join the Freenode IRC #ada channel and look for ThomasLocke.

The meeting is of course free.

 
Posted in Ada-DK Meetings | Leave a comment

The Jeffrey R. Carter SIGAda Papers Freely Available

The other day Jeffrey R. Carter announced that all his SIGAda papers had been made available for free.

YAY!

You can now get instant access to such classics as:

And more!

These are some golden oldies – be sure not to miss them. There’s some valuable Ada programming gold in that stash.

 
Posted in Ada Programming | Tagged | Leave a comment

Ada on Slackware64

At Z’s space (the blog of Zhu Qun-Ying) you can find a post about building an Ada environment on Slackware64. It comes complete with a bunch of slackbuild scripts and some precompiled Slackware packages. Awesome!

I haven’t tried the packages myself, since I just download the stuff I need straight from libre.adacore.com, but there are obvious advantages to having the software packaged as a standard Slackware packages, so I might give ‘em a whirl in the future.

If you’re interested in seeing how the default libre.adacore.com packages are installed on a Slackware64 box, then feel free to take a look at the 5 videos I did on the subject a while ago: Ada on Slackware.

No matter which path you choose, it’s great to know that Ada programming on Slackware is as easy as it gets. A big “Thank you Zhu Qun-Ying!” for making it even simpler.

 
Posted in Ada Compilers, Ada Libraries, Ada Programming | Tagged | 2 Comments

Fuzzy Machine Learning Framework v1.0

Shortly after I’d posted yesterday’s A Slew of Dmitry Kazakov Updates news, a release announcement for version 1.0 of his Fuzzy Machine Learning Framework program was made to comp.lang.ada. The Fuzzy Machine Learning Framework allows us to operate uncertain and contradictory data in a unified, certain and feasible way. I’m sure you know that I did not come up with that last sentence. I found it on the website for the project, where this quote is also from:

Based on the intuitionistic fuzzy sets and the possibility theory. Fuzzy approach is fully utilized by using intuitionistic sets extended to represent not only uncertain, but also contradictory data within same framework. Consequently the results of the possibility theory are generalized for the case of contradictory data. Same as with the shades of uncertainty we introduce the shades of contradiction from feasible to infeasible. This allows us to operate uncertain and contradictory data in a unified, certain and feasible way.

Fuzzy features. All the data the system operates on are considered fuzzy. For this a notion of fuzzy feature is introduced as a generalization of crisp features known in classical machine learning. Similar to statistical pattern recognition, a feature is a measurable function with the possibility used as the measure. Both the features and the things viewed through features are consistently supposed fuzzy. By these two ways uncertainty comes into play. It might be a crisp thing described in vague terms, like a number being big or small. Or it can be a precise description of something uncertain, like a temperature said to be n degrees. There could be a mixture of both.

I gotta admit that most of that text is quite a bit above my pay grade, but I’m sure that if you have a need for fuzzy machine learning, then you probably “get” exactly what he’s talking about. You can read the full release announcement here.

 
Posted in Ada Programming | Tagged | Leave a comment

Buffers Galore! Now in Version 1.2

Dequesterity is a set of Ada 2005 generics that provide various forms of general purpose buffer containers. There are currently 75 (yes, seventy-five) buffer types in Dequesterity, so if you’re in the market for a buffer, chances are high that you’ll find what you need here.

Dequesterity is a set of Ada 2005 generics that provide various forms of general purpose buffer containers. Buffers may be used as deques, queues, ring buffers, stacks, double ended stacks, vectors, and similar abstractions.

The generics are combinable and pluggable such that lower level buffer implementations may be combined with higher level buffer generics to create a wide selection of buffer types with specific sets of functionality.

Lower level buffer implementations include bounded and unbounded buffer forms. Higher level buffer implementations add concurrency support, and streaming capabilities. Buffer instances may be streamed, or may be accessed remotely using the Distributed Systems Annex. Most buffers can store their state persistently. Some buffer implementations operate entirely on secondary (file based) storage. The buffers may be instantiated with user defined types, and indefinite buffer forms also exist.

The interface to the buffers is modelled after the Ada 2005 container library.

New in release 1.2 is:

  • Saving/Loading buffers from files, and Persistent Buffers were not working under Linux. The low level Preelaborated IO had some portability issues in the area of determining the size of a file. The Linux test executable, test_buffers now works as it should.
  • Prelaborated_IO Size now returns a long integer instead of Integer. (Which would be 64 bits on 64 bit OS’s) This allows buffers to work with much larger files, if buffer content is to be stored persistently.
  • Only one project file needed for an executable, that builds for both Windows and Linux.
  • Cleaned up compiler warnings.
  • Created a Buffer Demo executable, which is stripped down to demonstrate some buffer concepts.
  • Ravenscar example exits after 30 seconds, instead of executing indefinitely.
  • Persistent Stream Buffers do not need to be instantiated, similar to the other Stream Buffer types.
  • Fixed bug in Unbounded Buffer, if vector to read into is a zero element array, the Read routine does not generate a constraint error.
  • Fixed bug in indefinite Unbounded buffers. When finalizing the buffer if the internal buffer is null, don’t attempt to dereference the null value.

You can read the full release announcement from Brad Moore here.

 
Posted in Ada Libraries, Ada Programming | Tagged | Leave a comment

A Slew of Dmitry Kazakov Updates

Dmitry Kazakov refreshed a bunch of his Ada packages a few days ago:

If Ada programming is your game, then there’s a good chance you’ll find one or more of Dmitry’s Ada packages beneficial, so be sure to check them out.

 
Posted in Ada Libraries, Ada Programming | Tagged , , | 2 Comments

VTKAda 5.10, QtAda 4.8.1 Released

Today Leonid Dulman (PDF) announced the release of VTKAda 5.10 and QtAda 4.8.1:

VTKAda is an Ada-2012 port of VTK (Visualization Toolkit by Kitware, Inc) and Qt4 application and UI framework by Nokia ParaView 3.14.0 (VTK version 5.10.0), Qt version 4.8.1 open source and qt4c.dll(libqt4c.so) were build with Microsoft Visual Studio 2010 for Windows and gcc for Linux x86. Packages has been tested with gnat gpl 2011 ada compiler (-gnat12 option) for Windows XP Sp3 32bit, Windows 7 Sp1 64bit and Debian 5 x86.

VTKAda is powerful 2D/3D rendering and imaging system that works inside a Qt4 application.

You can read the full release announcement here.

 
Posted in Ada Bindings, Ada Libraries, Ada Programming | Tagged , | Leave a comment

Trimming cost and size: The software side of the story

In his Trimming cost and size: The software side of the story article Benjamin Brosgol from AdaCore delves into the subject matter with his usual gusto. If you’ve done any kind of software development, you’ll know that the cheapest bugs to fix are those found before the product is launched and this even more so for embedded software, where it can be a real pain to update the devices. Brosgol does a good job of describing these issues:

For several reasons, buggy software is especially acute in embedded applications. First, an embedded system typically monitors or controls some external device, so in critical applications an error or vulnerability could compromise safety, security or both; lives could be lost, and substantial assets could be at risk.

Second, debugging embedded software is harder than debugging native software. For example, embedded systems generally involve concurrency and real-time constraints, which introduce opportunities for errors such as deadlock, missed deadlines and corrupted data. Because some of these bugs are timing dependent and not easily reproduced, they could go undetected until the software is fielded. With perhaps thousands or even millions of systems in use, even a bug with low probability of being triggered will occur eventually.

Third, correcting a defect in an embedded product already in service is complex and expensive. Solutions that involve wireless uploads raise serious security issues that are just beginning to be addressed in equipment ranging from medical devices to automotive systems.

One solution to help programmers produce fewer bugs is design by contract or contract-based programming, and halfway down Brosgol introduce us to the contract features of Ada 2012, specifically the pre- and postconditions for subprograms:

Other language technologies treat contracts as run-time constructs. A recent example is Ada 2012, in which contracts take the form of Boolean conditions that are supplied in contexts such as invariants for types and preconditions and/or postconditions for subprograms. The programmer can control whether the software generates code to check these conditions at run-time; a failed check raises an exception. In this way, the specified contracts can be used either as formal comments that document the program’s intent or as run-time checks that are part of a testing regimen.

Next Brosgol goes on to talk about the extensive restrictions programmers can utilize in Ada to tailor the run-time requirements to their exact needs, using the Restrictions pragma. The entire article is a very nice and informative read, so be sure not to miss it.

 
Posted in Ada Programming, General | Tagged | Leave a comment

The April 2012 Open Ada-DK Meeting

April 3rd. 2012 from 1730 -> ? marks the day and time when the seventeenth open Ada-DK meeting is being held.

The “open” part means that the meeting is not a members-only affair, but that anybody interested in Ada is welcome, so feel free to invite whomever you might believe could be interested in spending an evening talking about Ada programming.

If you’re interested in participating, feel free to send us an email and we’ll inform you of the when and where. You can also ping me at Google+, identi.ca/thomaslocke or join the Freenode IRC #ada channel and look for ThomasLocke.

The meeting is of course free.

 
Posted in Ada-DK Meetings | Leave a comment