Edmond Schonberg
AdaCore
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Edmond Schonberg.
ACM Sigada Ada Letters | 2010
Edmond Schonberg
The Ada Rapporteur Group [ARG] following the directives of ISO/IEC/JTC1/SC22/WG9 is preparin and update to the Ada 2005 standard. This paper presents a snapshot of the more important language enhancements under discussion. Even though these enhancements are not yet in their final form and will not become part of the new standard until approved by ISO, the description that follows is an accurate reflection of the main directions in which the language is evolving. However, the names of packages, subprograms, and formal parameters, as well as some details of the syntax might change from what is presented here.
ACM Sigada Ada Letters | 2012
Johannes Kanig; Edmond Schonberg; Claire Dross
Formal program verification tools check that a program correctly implements its specification. Existing specification languages for well-known programming languages (Ada, C, Java, C#) have been developed independently from the programming language to which they apply. As a result, specifications are expressed separately from the code, typically as stylized comments, and the verification tools often bear no direct relation to the production compiler. We argue that this approach is problematic, and that the compiler and the verification tools should be integrated seamlessly. Based on our current work on the Hi-Lite project to develop a formal verification tool for Ada2012, we show that in an integrated setting, the compiler becomes the centerpiece of the verification architecture, and supports both static proofs and run-time assertion checking. Such an environment does much to simplify software certification.
international conference on reliable software technologies | 2005
Javier Miranda; Edmond Schonberg; Gary Dismukes
One of the most important object-oriented features of the new revision of the Ada Programming Language is the introduction of Abstract Interfaces to provide a form of multiple inheritance. Ada 2005 Abstract Interface Types are based on Java interfaces, and as such support inheritance of operation specifications, rather than the general complexity of inheritance of implementations as in full multiple inheritance. Real-time uses of Ada demand efficient and bounded worst-case execution time for interface calls. In addition, modern systems require mixed-language programming. This paper summarizes part of the work done by the GNAT Development Team to provide an efficient implementation of this language feature and simplifies interfacing with C++.
international conference on reliable software technologies | 2006
Javier Miranda; Edmond Schonberg
Ada 2005 Abstract Interface Types provide a limited and practical form of multiple inheritance of specifications. In this paper we cover the following aspects of their implementation in the GNAT compiler: interface type conversions, the layout of variable sized tagged objects with interface progenitors, and the use of the GNAT compiler for interfacing with C++ classes with compatible inheritance trees.
Archive | 2013
S. Tucker Taft; Robert A. Duff; Randall L. Brukardt; Erhard Ploedereder; Pascal Leroy; Edmond Schonberg
This clause describes the types in the language and the rules for declaring constants, variables, and named numbers.
Archive | 2013
S. Tucker Taft; Robert A. Duff; Randall L. Brukardt; Erhard Ploedereder; Pascal Leroy; Edmond Schonberg
The rules applicable to the different forms of name and expression, and to their evaluation, are given in this clause.
Archive | 2013
S. Tucker Taft; Robert A. Duff; Randall L. Brukardt; Erhard Ploedereder; Pascal Leroy; Edmond Schonberg
The overall structure of programs and the facilities for separate compilation are described in this clause. A program is a set of partitions, each of which may execute in a separate address space, possibly on a separate computer.
Archive | 2013
S. Tucker Taft; Robert A. Duff; Randall L. Brukardt; Erhard Ploedereder; Pascal Leroy; Edmond Schonberg
The execution of an Ada program consists of the execution of one or more tasks. Each task represents a separate thread of control that proceeds independently and concurrently between the points where it interacts with other tasks. The various forms of task interaction are described in this clause, and include: the activation and termination of a task; a call on a protected subprogram of a protected object, providing exclusive read-write access, or concurrent read-only access to shared data; a call on an entry, either of another task, allowing for synchronous communication with that task, or of a protected object, allowing for asynchronous communication with one or more other tasks using that same protected object; a timed operation, including a simple delay statement, a timed entry call or accept, or a timed asynchronous select statement (see next item); an asynchronous transfer of control as part of an asynchronous select statement, where a task stops what it is doing and begins execution at a different point in response to the completion of an entry call or the expiration of a delay; an abort statement, allowing one task to cause the termination of another task. In addition, tasks can communicate indirectly by reading and updating (unprotected) shared variables, presuming the access is properly synchronized through some other kind of task interaction.
ACM Sigada Ada Letters | 2012
Edmond Schonberg; Vincent Pucci
We present the design and implementation of a dimensionality checking system in Ada 2012. The system is implemented in the GNAT compiler, and performs compile-time checks to verify the dimensional consistency of physical computations. The system allows the user to define his own system of units, and imposes no run-time changes nor multiple compilation passes on the user.
international conference on reliable software technologies | 2010
Edmond Schonberg
The Ada Rapporteur Group (ARG), following the instructions of ISO/IEC JTC1/SC22/WG9 is preparing an update to the Ada 2005 standard. This paper presents a snapshot of the more important language enhancements under discussion. Even though these enhancements are not yet in their final form, and will not become part of the proposed new standard until approved by ISO, the description that follows is an accurate reflection of the main directions in which the language is evolving. However, the names of packages, subprograms, and formal parameters, as well as some details of the syntax might change from what is presented here.