• Gem #148 : Su(per)btypes in Ada 2012 - Part 3

    In the previous two Gems of this series, we saw how the aspects Static_Predicate and Dynamic_Predicate can be used to state properties of objects that should be respected at all times. This Gem is concerned with the Type_Invariant aspect.

    Continue Reading »

    Yannick Moy
    AdaCore
  • Gem #147 : Su(per)btypes in Ada 2012 - Part 2

    In the previous Gem in this series, we saw how the aspect Static_Predicate can be used to state properties of scalar objects that should be respected at all times. This Gem is concerned with the Dynamic_Predicate aspect.

    Continue Reading »

    Yannick Moy
    AdaCore
  • Gem #146 : Su(per)btypes in Ada 2012 - Part 1

    The new revision of Ada is full of features for specifying properties of types. In this series of three Gems, we describe three aspects that can be used to state invariant properties of types. This first Gem is concerned with the Static_Predicate aspect.

    Continue Reading »

    Yannick Moy
    AdaCore
  • Gem #130 : Type-Safe Database API - Part 2

    The first Gem in this series discussed how to write syntactically correct and type-safe SQL queries. We now need to execute these queries on the DBMS of choice and retrieve the results. This Gem explains how to use the DBMS-agnostic API in GNATColl to do this. Continue Reading »

  • Gem #126 : Aggregate Library Projects

    An aggregate library project provides a way to create a single library using multiple other library project files. In this Gem we show how to create such libraries. Continue Reading »

    Pascal Obry
    EDF R&D
  • Gem #124 : Scripting GPS for Static Analysis

    This Gem shows how to use the scripting capabilities of the GNAT Programming Studio IDE to perform some simple static analysis.

    Continue Reading »

    Yannick Moy, Nicolas Setton
  • Gem #115: Lego Mindstorms Ada Environment — Part 2

    This series of Gems explores the GNAT Ada programming environment for the Lego Mindstorms robotics kit. The series examines the high- and low-level interfaces to the hardware, the language subset supported by the underlying run-time library, and how to use the environment effectively. We’ll examine other topics as well. This Gem introduces the basic steps of the Mindstorms hardware initialization and shutdown. Continue Reading »

    Pat Rogers
    AdaCore
  • Gem #114: Logging with GNATCOLL.Traces

    The GNAT Components Collection provides a package with facilities for logging information to various text files. Extra information can be output for each log, providing convenient ways to understand the behavior of an application when a debugger is not available. Continue Reading »

  • Gem #113: Visitor Pattern in Ada

    The visitor pattern is a design pattern that provides a way to execute specific methods on an object (the visitor) depending on the type of another object. Since the exact subprogram called depends on both types of the objects, this pattern is often called double dispatching. Continue Reading »

  • Gem #112: Lego Mindstorms Ada Environment—Part 1

    This series of Gems explores the GNAT Ada programming environment for the Lego Mindstorms robotics kit. The series will examine the high- and low-level interfaces to the hardware, the language subset supported by the underlying run-time library, and how to use the environment effectively. We’ll examine other topics as well. This first Gem introduces the general issue of the Ada language subset available to programmers and shows how the Ada interfaces address one specific aspect of that subset. Continue Reading »

    Pat Rogers
    AdaCore
  • Gem #110: Ada Plug-ins and Shared Libraries—Part 2

    In this Gem, we continue the discussion of GNAT's support for shared libraries and explain how to build Ada plug-ins. Continue Reading »

    Pascal Obry
    EDF R&D
  • Gem #109: Ada Plug-ins and Shared Libraries—Part 1

    In this Gem, we discuss GNAT's support for shared libraries as a prelude to understanding how to build Ada plug-ins. Continue Reading »

    Pascal Obry
    EDF R&D
  • Gem #108: Gprbuild and Configuration Files—Part 2

    In this second of a series of three Gems about gprbuild, we explain in more detail how to configure the tool, again with the help of configuration files.

    Continue Reading »

    Johannes Kanig
    AdaCore
  • Gem #106: Lady Ada Kisses Python—Part 2

    This series of two Gems explains how to use the GNAT Components Collection to interface your Ada code with Python. The first Gem described what benefits this could bring to your application, and the difficulties there would be in interfacing directly to the Python library. The second Gem shows how to get started with GNATCOLL to make the interfacing much easier.

    Continue Reading »

  • Gem #105: Lady Ada Kisses Python—Part 1

    This series of two Gems explains how to use the GNAT Components Collection to interface your Ada code with Python. The first Gem describes the benefits this could bring to your application as well as the difficulties there would be in interfacing directly to the Python library. The second Gem will show how to get started with GNATCOLL to greatly simplify the interfacing process.

    Continue Reading »

  • Gem #104: Gprbuild and Configuration Files—Part 1

    In this first of a series of three Gems about configuration capabilities of gprbuild, we explain how to configure gprbuild to use a custom compiler, with the help of configuration files.

    Continue Reading »

    Johannes Kanig
    AdaCore
  • Gem #103: Code Archetypes for Real-Time Programming—Part 5

    In the programming of real-time systems, code that deals with concurrency and real-time often draws from explicit or implicit recurring patterns. It therefore is best factored out. In this series of Ada Gems, we illustrate a set of code pattern archetypes that are intended to ease the development of real-time systems.

    Continue Reading »

    Marco Panunzio
    University of Padua
  • Gem #102: SOAP/WSDL client part

    In this Gem we will use web services as described in a WSDL document.

    Continue Reading »

    Pascal Obry
    EDF R&D
  • Gem #101: SOAP/WSDL server part

    In this Gem we build a server providing Web services on the network.

    Continue Reading »

    Pascal Obry
    EDF R&D
  • Gem #100: Reference Counting in Ada - Part 3: Weak References

    This series of three Gems describes a possible implementation for automatic memory management via the use of reference counting. Part 1 explains how controlled types can be used to achieve automatic reference counting, and addresses some aspects of correct handling of reference counts. Part 2 analyzes a few issues related to tasking. Finally, Part 3 describes the use of weak reference counting. Continue Reading »

   1  2  3     Next »