June 7-11, 1999 - Santander, SpainMonday, June 7thTutorial 1: Java for Ada Programmersby Benjamin M. Brosgol (full day) Tutorial
2: Windows Development with Ada
Tutorial
3: Software Interoperability: Principles and Practice
Tutorial
4: Building Ada Development Tools: ASIS and other GNAT Technologies
Tutorial
5: MetaH - An Architecture Description Language For Building Avionics
Systems With Ada
Friday, June 11thTutorial 6: High Integrity Ada - The SPARK Approachby John Barnes (full day) Tutorial
7: FUSION: An Object-Oriented Development Method, with Mapping to Ada
Tutorial
8: Ada & Java: A Manager's and Developer's Road Map
Tutorial
9: Using GNAT for the Java Platform
Tutorial 1 (Monday):Java for Ada ProgrammersBenjamin M. Brosgol (Aonix)brosgol@aonix.com Audience BackgroundThis introductory/intermediate level tutorial presents the main features of the Java language, with a strong focus on the Object-Oriented Programming Features. Since semantic points are often demonstrated by comparison with Ada, some previous experience with either Ada 83 or Ada 95 would be helpful. No previous knowledge of Java is required.AbstractSome of the questions that will be addressed are the following:Time permitting, the tutorial will also describe Java's approach to GUIs (the Abstract Windowing Toolkit) and applets. The handout material provides complete examples of these subjects, if time constraints prevent detailed coverage during the lecture. BiographyDr. Brosgol has been involved with Ada since its inception. He led the “Red” language team during the original design competition, served as a Distinguished Reviewer of Ada 83, and participated in the Ada 95 revision. He is a senior member of the Aonix Professional Services group and is also the current chair of ACM SIGAda. He has presented papers and tutorials at many Ada Europe and SIGAda conferences in the past, and delivered an invited keynote address at the 1998 AdaUK conference. Dr. Brosgol's continued participation and broad experience in almost all facets of Ada activity - as a designer, implementor, user, and educator - have gained him international recognition and acclaim in the Ada community.Tutorial 2 (Monday):Windows Development with AdaÖrjan Leringeol@mariadata.se Audience BackgroundKnowledge of Ada 95 is required. It is assumed also that the audience knows Microsoft Windows as a user. Knowledge of the inner working of Windows is not necessary. Acquaintance with C++ will be helpful in connection to the presentation of MFC and Ada (two hours).AbstractThis tutorial presents how Windows applications can be developed using Ada 95. The working principles of Windows are presented. This is done by showing how Windows programs traditionally are built using C and how these programs just as well, or better, can be written in Ada using the Win32Ada binding.The traditional development model for Windows programs, with a message loop managed directly by the programmer, results in poorly structured programs. OO frame-works like the Microsoft Foundation Classes (MFC) provides access to Windows on a much higher abstraction level. The tutorial will present the principals behind MFC and an Ada binding which gives access to all the features of MFC. The tutorial will also consist of an overview of other existing tools and bindings making Windows development with Ada easier. Among these are Claw from R & R Software, essentially a class library written almost altogether i Ada. GUIBuilder from Aonix is an Ada code generating tool. We will examine the inner working, pros and cons, of these tools and give some live demonstrations. BiographyÖrjan Leringe is the manager of Mariadata, a company specialised in education in system development. The last few years he has given a number of week-long courses on the subject of Ada and Windows development at Swedish companies. He has been working as a lecturer in Computer Science at the University of Lund and the Technical University of Stockholm. He has been working in the industry for many years as a consultant and manager. Most of the work has been technically oriented like being the project manager for the VAX 11 Simula Compiler. Örjan is the chairman of Ada in Sweden.Tutorial 3 (Monday morning):Software Interoperability: Principles and PracticeJack C. Wileden (University of Massachusetts), and Alan Kaplan (Clemson University)jack@cs.umass.edu, and kaplan@cs.clemson.edu Audience BackgroundThis tutorial is aimed at an introductory to intermediate level audience, primarily of software practitioners, but possibly of researchers as well. Teachers and students of object-oriented technology will also find this tutorial extremely useful. Some general appreciation of interoperability issues and some familiarity with software development, preferably using object-oriented technology and programming languages, will be helpful. Participants will benefit most if they are acquainted with one or more interoperability approaches already, but no detailed knowledge of any approach will be presumed.AbstractSoftware interoperability is fundamental to a number of contemporary software engineering topics, such as component-based software development, software reuse and distributed or network-based software. A variety of (often partial) approaches to interoperability exist, but what they do, how they compare, and exactly what problems they are solving is sometimes unclear. This tutorial is intended to provide a solid understanding of software interoperability problems and various proposed approaches to solving those problems. Participants should expect to gain a generally applicable foundation for assessing both problems and approaches, a detailed understanding of several specific approaches, and an ability to understand and critically evaluate new and different interoperability problems and approaches in the future.BiographyJack C. Wileden received the A.B. degree in mathematics and theM.S. and Ph.D. degrees in computer and communications sciences from the University of Michigan, Ann Arbor. He is a Professor in the Department of Computer Science at the University of Massachusetts at Amherst and Director of the Convergent Computing Systems Laboratory there. His current research interests centre on tools and techniques supporting seamless integration of advanced capabilities into computing systems. Recent projects in his laboratory have focused on object management topics, including persistent object systems and name management, and on interoperability support for multilingual programming. He has served as an ACM National Lecturer and an IEEE Distinguished Visitor and has presented tutorials on various software engineering topics in North and South America, Europe, Australia and Japan.Alan Kaplan received the B.S. degree in computer science from Duke University, Durham, NC, and the M.S. and Ph.D. degrees in computer science from the University of Massachusetts at Amherst. He is currently on the faculty of the Department of Computer Science at Clemson University in Clemson, South Carolina. Prior to his current appointment, he spent a year on the faculty of the Department of Computer Science at Flinders University in Adelaide, South Australia. His research interests include tools and techniques supporting software development, object-oriented databases, and interoperability. Professor Kaplan is a member of the IEEE Computer Society and the Association for Computing Machinery. Tutorial 4 (Monday afternoon):Building Ada Development Tools: ASIS and other GNAT TechnologiesCyrille Comar (ACT Europe), and Sergey I. Rybin (ACT Europe & Moscow State University)comar@act-europe.fr, and rybin@gnat.com Audience BackgroundThe tutorial is of introductory level. The audience should have a good understanding of Ada semantics. Basic experience on programming with GNAT is helpful, but not required.AbstractThe tutorial will explain how you can build your own Ada development and program analysis tool when using GNAT. The general architecture of the GNAT compilation system and the existing GNAT toolset will be presented. Different technologies for building additional tools will be discussed and compared. Using ASIS (the Ada Semantic Interface Specification) as the effective technology for building the wide range of useful tools will be discussed in detail. Using the ASIS implementation for GNAT for building and running ASIS-based tools will be explained.BiographyCyrille Comar is Managing Director at ACT Europe. He has been actively involved in the GNAT technology since 1993 first at New York University then at Ada Core Technologies.Sergey Rybin has more than 15 years of research, development and teaching activities with Ada. He is an active member of the ASIS Working Group and he has been participating in the development of the ASIS definition for Ada 95. Currently, Sergey Rybin is a principal architect of the ASIS implementation for GNAT. In the past, he was involved in various Russian Ada-related projects and in the development of the Russian national information technology standards. Tutorial 5 (Monday afternoon):MetaH—An Architecture Description Language For Building Avionics Systems With AdaBruce Lewis (US Army Aviation and Missile Command), and Dennis Cornhill (K&C Software Company)lewis@sed.redstone.ARMY.MIL, and dennis.cornhill@htc.honeywell.com Audience BackgroundThe tutorial will cover architecture description language concepts, MetaH impact on development and evolvability, MetaH language constructs, and application development using MetaH and Ada. The tutorial assumes a general understanding of embedded time-critical systems and software development methods. Expertise in Ada is not required. Project managers, systems engineers and software engineers should find the tutorial valuable.AbstractMetaH is a language and toolset for specifying, analyzing and integrating computer control systems. It was specifically developed to meet the requirements of aircraft and missile avionics and flight control but may be useful in many embedded time-critical applications where a highly integrated, rapidly evolvable approach is desired.Developers use MetaH to specify (1) how code modules, written in Ada or other programming languages, are combined to form an application, (2) execution behaviour, (3) the hardware target system, and (4) how the software is allocated to hardware. Given the specification, the engineer can use MetaH to model the architecture, generate in Ada the application executive and architectural glue, and integrate the software and hardware components into an executing system on the target hardware. The MetaH language is designed for the specification of real-time, fault-tolerant, securely partitioned, dynamically reconfigurable multi-processor system architectures. A draft Avionics Architecture Language standard is being developed using MetaH as a base under the Society of Automotive Engineers (SAE). BiographyBruce Lewis is a computer engineer responsible for the development, assessment and transition of new software engineering technology. He started working with Ada in 1983 and was a software engineer on several missile programs developed with Ada using object based approaches. He has worked with DARPA over the last 7 years on architecture based software development and re-engineering technology. He is the DARPA technical Agent for the development of the MetaH technology and is the Chairman of the SAE task group developing a standard Avionics Architecture Description Language.Dennis Cornhill has contributed to the development of the MetaH translation tool, application of the technology to avionics systems, and MetaH training. His involvement with Ada dates to the development of the Green language in the late 1970s. Subsequently, he investigated techniques for using Ada in distributed and hard deadline applications. Tutorial 6 (Friday):High Integrity Ada—The SPARK ApproachJohn Barnesjgpb@jbinfo.demon.co.uk Audience BackgroundAttendees will be expected to be familiar with the mainstream ideas of Ada (83 or 95). No knowledge of SPARK will be assumed. No prior knowledge of formal methods is required. Note: This tutorial is not for the novice but nor will it contain heavy indigestible proof stuff so it is classed as Intermediate. The audience will be expected to attempt some simple exercises.AbstractSPARK was designed for applications where the risk of an incorrect program causing damage to life or property must be minimized (the so-called safety-critical area). However, most programs deserve to be correct and SPARK is applicable to high integrity applications in general. SPARK can be seen as a subset of Ada 95 with embedded annotations (as comments) giving additional information about the program.The tutorial will present the key ideas behind SPARK including abstraction, refinement and flow analysis and how a program can be proved to be correct with respect to its specification. It will also discuss the SPARK tools which are the Examiner for flow analysis and the Simplifier and Proof Checker for generating proofs. Finally, the tutorial
will consider other aspects of writing reliable Ada software such as the
ISO Guide for the use of Ada in High Integrity Systems and the Safety and
Security Annex.
BiographyJohn Barnes read Mathematics at Trinity College Cambridge. His early career was with Imperial Chemical Industries where he worked on the development of languages for process control applications. He has been involved with Ada from the early days. He was a member of the Ada 83 and Ada 95 design teams and was principal author of the Rationale for Ada 95. He has written a number of books including High Integrity Ada - The SPARK Approach (upon which this tutorial is based) as well as Programming in Ada 95. He is currently President of Ada-Europe.Tutorial 7 (Friday):FUSION: An Object-Oriented Development Method, with Mapping to AdaAlfred Strohmeieralfred.strohmeier@epfl.ch Audience BackgroundThe tutorial is intended for anyone who wants to learn an object-oriented development method. We assume some acquaintance with object-oriented concepts, but no specific knowledge in object-oriented development methods is required.AbstractFusion is an object-oriented software development method. It is a full-coverage method, providing for all of analysis, design, and implementation. By integrating and extending existing approaches, Fusion provides a direct route from a requirements definition through to an implementation. The advantage of the Fusion method is that it offers not only notations for describing models, but a process for development.BiographyAlfred Strohmeier is a Professor of Computer Science at the Swiss Federal Institute of Technology in Lausanne (EPFL), Switzerland, where he leads the Software Engineering Laboratory. He has been teaching object-oriented technologies and Ada in academic and industrial settings. He was a Distinguished Reviewer of Ada 95 and participated in its definition. His current interests are software engineering; software development methodologies, especially object-oriented approaches; software development environments; and technologies related to the Ada language, including software components and bindings.Tutorial 8 (Friday morning):Ada & Java: A Manager's and Developer's Road MapFranco Gasperoni (ACT Europe), and Gary Dismukes (Ada Core Technologies)gasperon@act-europe.fr, and dismukes@gnat.com Audience BackgroundAny manager, project leader, software engineer or programmer that is interested in understanding the Java technology, its opportunities and how Ada can be used on this platform.AbstractThe objectives of this tutorial are:
BiographyFranco Gasperoni is managing director of ACT-Europe, the european GNAT company. He has been involved in the implementation of Ada compilers for 10 years. He has taught courses in programming languages, compilers, operating systems, and software engineering for 8 years. Franco is one of the main architects of the GNAT to Java effort that is currently underway.Gary Dismukes is a senior software engineer with Ada Core Technologies. He was involved with the development of Ada 95 as a Distinguished Reviewer and has worked on the development of Ada compilers for over 15 years. His training experience includes teaching Ada 95 courses to industry programmers. His most recent work has been on the design and implementation of the Ada Core Technologies project targeting the GNAT compiler to the Java Virtual Machine. Tutorial 9 (Friday afternoon):Using GNAT for the Java PlatformEmmanuel Briot (ACT-Europe), Gary Dismukes (Ada Core Technologies), and Franco Gasperoni (ACT Europe)briot@gnat.com, dismukes@gnat.com, and gasperon@act-europe.fr Audience BackgroundAttendees should have a reasonable understanding of Ada. Knowledge of the object-oriented features of Ada 95 would be helpful but is not required.AbstractThe objectives of this tutorial is to explain how to write Ada applications for the Java platform using JGNAT, the GNAT Ada 95 toolchain for the Java Virtual Machine. This includes writing new Ada applications as well as porting existing Ada code.Seamless interoperability between Ada and the Java programming language along with the use of the Java API (Application Programming Interface) from Ada will be discussed in depth. The tutorial will also show how native code written in Ada can use the Java API directly without the need to port the Ada code to the Java virtual machine. The tutorial will contain down-to-earth examples to help participants acquire a concrete grasp of the concepts presented. BiographyEmmanuel Briot is a software engineer at ACT-Europe. He recently got his diploma from the ENST Bretagne in Brest, France, and started working in the Ada Wonderland at Ada Core Technologies in New York. One of his contributions to the GNAT Technology is in the cross-referencing tools distributed with the compiler. He is currently working on the GNAT compiler targeted to the Java Virtual Machine.Back to main conference page |