Welcome to the 2011 Annual International Conference of the Association for Computing Machinery's (ACM's) Special Interest Group on the Ada Programming Language (SIGAda), being held in Denver, Colorado, in the heart of the western United States.
We offer you a conference featuring a top-quality technical program focused on important strengths of Ada: safety, security, distributed, real-time, and embedded systems. The visions of these systems reflected in Ada's original requirements in the 1970s have expanded in almost unimaginable ways with the Ada 95 and Ada 2005 implementations, and continue to be objects of envy by those in the programming language community who understand what the strengths of a language bring to implementers in terms of safety, security efficiency, reliability, and effectiveness.
Software challenges remain dominant in these domains with rapid hardware advances. Most other languages fail to meet the needs identified as far back as the 1978 Steelman, being able at best to do only 3/4 of the needed functions, while Ada performs over 95%. Ada's track record of safety, security, reliability, efficiency, robustness and all-around success is unparalleled at solving safety/security critical, real-time and/or distributed system challenges. Ada is used in air traffic control systems, space/satellite systems, most modern jetliner avionics, high-speed ground transportation systems, and battle automation systems. As such, it is an important part of the world's economies, transportation, and defenses.
Three days of technical papers, keynotes, and invited presentations will report how these successes are achieved and where remaining issues are leading. We are fortunate to have leaders in the software engineering community to provide keynote addresses to set the tone for our conference. Beyond the formal conference of selected papers and presentations, SIGAda 2011 also offers workshops and tutorials with the same duality of on-theme and complementary topics. SIGAda's tutorials provide full-day or halfdays on selected topics to enhance one's professional development. SIGAda's workshops allow those working related issues to share with each other and leverage everyone's accomplishments; workshop products are "delivered" to the community.
The broad offerings of career-enhancing tutorials include basic Ada language introductions for software engineers new to Ada, intermediate and advanced Ada topics for practitioners striving to expand their Ada expertise, and several language-independent technology topics. These topics are often coupled with Ada technology because only Ada's full and complete definition allows one to indicate what is expected, and to show that it can be achieved.
Join us in understanding how these topics mutually support the disciplined development and evolution of serious, high quality software systems. Finally, we hope SIGAda 2011 provides you an outstanding opportunity for rewarding affiliation with colleagues in industry, academia, and government --- discussions "in the hall," informal meal-time meetings, and even during the more relaxed moments we make for socializing. These associations can be as valuable as the technical program at professional conferences, and often extend the experience after you return home.
Proceeding Downloads
How to measure and optimize reliable embedded software
This tutorial explores some of the challenges of measuring performance and timing behaviour of reliable embedded systems and explains techniques and strategies for optimization of reliable software. The tutorial explains and compares different ...
Service-oriented architecture (SOA)concepts and implementations
This tutorial explains how to implement a Service-Oriented Architecture (SOA) for reliable systems using Enterprise Service Bus (ESB) technologies. The first half of the tutorial describes terms of Service-Oriented Architectures (SOA) including service, ...
Do-178c: the next avionics safety standard
The commercial avionics community's DO-178B software safety certification requirements document is being updated to take into account twenty years of experience, and the new version (DO-178C) is close to completion. This half-day tutorial covers the ...
Improving quality of Ada software with range analysis
Ada is a strong language with built-in mechanisms that naturally lead to less risky software programs. This is possible because Ada is a structured and strongly typed language with built-in run-time protection mechanisms. For example, subtyping allows ...
Introduction to Ada
Level -- Beginner, but attendees should have some experience with a high-level programming language.
This tutorial is designed for those who have some familiarity with a programming language, but who are new to Ada. In the morning, we will discuss the ...
Experimenting with parasail: parallel specification and implementation language
This tutorial provides an opportunity to experiment with a new language designed to support the safe, secure, and productive development of parallel programs. ParaSail is a new language with pervasive parallelism coupled with extensive compile-time ...
Designing and checking coding standards for ada
Most companies have developed coding standards (often because having one is a requirement for certification), but few have conducted a real analysis of the value, consistency, and efficiency of the coding standard. This tutorial presents the challenges ...
Building embedded real-time applications
The arrival and popularity of multi-core processors has sparked a renewed interest in the development of parallel programs. Similarly, the availability of low cost microprocessors and sensors has generated a great interest in embedded real-time ...
Everything i know i learned from ada
I entered the world of Ada at a most impressionable time in my career: I knew enough to be dangerous, but not so much that I was unwilling to try new things. Ada was full of new things that have informed much of what I do today. The role of abstraction, ...
A parallel programming model for ada
Over the last three decades, computer architects have been able to achieve an increase in performance for single processors by, e.g., increasing clock speed, introducing cache memories and using instruction level parallelism. However, because of power ...
Stack safe parallel recursion with paraffin
Recursion is a programming technique in which a solution can be expressed by a subroutine invoking itself either directly or indirectly. Many problems can be expressed simply using a recursive approach, however one of the drawbacks of using recursion is ...
How to make ada go 'viral'
Every Ada user wonders why Ada doesn't not enjoy the popularity it deserves. Experience shows that once people have been properly trained to it, they generally don't want to return to other languages -- but getting the word to the public-at-large -- ...
Why i came back to Ada
After the Air Force Academy switched its curriculum to Java, I extracted myself from the Ada community and moved on to other research interests, particularly computer security. In this talk, I'll explain the new developments that brought me back to Ada ...
Software vulnerabilities precluded by spark
Software vulnerabilities are defined as a property of a system's security requirements, design, implementation, or operation that could be accidentally triggered or intentionally exploited and result in a security failure [1]. Many organizations ...
Enhancing spark's contract checking facilities using symbolic execution
Spark, a subset of Ada for engineering safety and security-critical systems, is one of the best commercially available frameworks for formal-methods-supported development of critical software. Spark is designed for verification and includes a software ...
An Ada design pattern recognition tool for AADL performance analysis
This article deals with performance verification of architecture models of real-time embedded systems. Although real-time scheduling theory provides numerous analytical methods called feasibility tests for scheduling analysis, their use is a complicated ...
Improving quality of Ada software with range analysis
Software in critical embedded systems used in aerospace, military, and transport applications, that is, systems where quality and reliability are imperative, continues to become more complex. For example, the Boeing 787 aircraft flight control system ...
Making the non-executable ACATS tests executable
The Ada Conformity Assessment Test Suite (ACATS) includes both positive and negative tests. The negative tests have intentional errors that a compiler is intended to diagnose with a compile-time error message. Interestingly, the negative tests also ...
Language choice for safety critical applications
The programming languages currently most popular among software engineers for writing safety critical applications are C and, more recently, C++. The Ada language has been designed with software safety in mind. Although Ada is not perfect concerning ...