Chair of Software Engineering OOSC - Summer Semester 2005 1 Object-Oriented Software Construction Bertrand Meyer Lecture 14: Presentation of EiffelStudio.

Slides:



Advertisements
Similar presentations
Introduction to Visual Basic.NET Uploaded By: M.Sheraz anjum.
Advertisements

Chair of Software Engineering Concurrent Object-Oriented Programming Prof. Dr. Bertrand Meyer Exercise Session 1: Eiffel Introduction.
COMPUTER PROGRAMMING I Essential Standard 5.02 Understand Breakpoint, Watch Window, and Try And Catch to Find Errors.
Using Eclipse. Getting Started There are three ways to create a Java project: 1:Select File > New > Project, 2 Select the arrow of the button in the upper.
Chair of Software Engineering OOSC - Summer Semester Object-Oriented Software Construction Bertrand Meyer.
The Web Warrior Guide to Web Design Technologies
Georgia Institute of Technology DrJava Appendix A Barb Ericson Georgia Institute of Technology May 2006.
Lecture Roger Sutton CO331 Visual programming 15: Debugging 1.
Java Integrated Development Environments: ECLIPSE Part1 Installation.
Chair of Software Engineering OOSC - Summer Semester Object-Oriented Software Construction Bertrand Meyer Lecture 10: Project Presentation Ilinca.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 2.
Chair of Software Engineering 1 Introduction to Programming Bertrand Meyer Exercise Session 3 29 September 2008.
The IDE (Integrated Development Environment) provides a DEBUGGER for locating and correcting errors in program logic (logic errors not syntax errors) The.
Chair of Software Engineering OOSC - Summer Semester Object-Oriented Software Construction Bertrand Meyer Lecture 12: Design by Contract™
Advanced Object-Oriented Programming Features
Chair of Software Engineering OOSC - Summer Semester Object-Oriented Software Construction Bertrand Meyer.
Chair of Software Engineering OOSC - Summer Semester Object-Oriented Software Construction Bertrand Meyer Lecture 5: Project and EiffelStudio Presentation.
Chair of Software Engineering ATOT - Lecture 2, 2 April Advanced Topics in Object Technology Bertrand Meyer.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Debugging Logic Errors CPS120 Introduction to Computer Science Lecture 6.
Creating a Console Application with Visual Studio
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Digital Image Processing Lecture3: Introduction to MATLAB.
Ranga Rodrigo. Class is central to object oriented programming.
1 Chapter One A First Program Using C#. 2 Objectives Learn about programming tasks Learn object-oriented programming concepts Learn about the C# programming.
A First Program Using C#
Tips and Tricks to Speed LabVIEW Development Useful Nuggets to Save You Time ni.com/labviewzone.
Debugging applications, using properties Jim Warren – COMPSCI 280 S Enterprise Software Development.
Department of Computer Science, York University Slides based on Object Oriented Software Construction 12/09/ :05 PM 0 COSC3311 – Software Design.
Chapter 11: Introduction to the Visual Basic Environment Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 2.
Lecture Set 2 Part B – Configuring Visual Studio; Configuration Options and The Help System (scan quickly for future reference)
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
Lecture Set 1 Part C: Understanding Visual Studio and.NET – Applications, Solutions, Projects (no longer used – embedded in Lecture Set 2A)
© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures for Java William H. Ford William R. Topp Appendix E The EZJava.
Creating, Editing, & Debugging a VI A.How to Create VIs B.How to Edit VIs C.How to Debug VIs You Will Learn:
CPSC1301 Computer Science 1 Overview of Dr. Java.
Chapter One An Introduction to Visual Basic 2010 Programming with Microsoft Visual Basic th Edition.
Introduction It is developed to create software applications. It is a tool for developers of any program that uses both basic and expert settings. It.
Active-HDL Interfaces Debugging C Code Course 10.
Lecture Set 2 Part A: Creating an Application with Visual Studio – Solutions, Projects, Files.
Chapter 3 The Visual Basic Editor. Important Features of the VBE Alt-F11 will open the Visual Basic Editor. The Code window is to the right, Project Explorer.
Copyright (c) 2003 by Prentice Hall Provided By: Qasim Al-ajmi Chapter 2 Introduction to Visual Basic Programming Visual Basic.NET.
Object-Oriented Application Development Using VB.NET 1 Chapter 2 The Visual Studio.NET Development Environment.
Chapter 3 I Need a Tour Guide (Introduction to Visual Basic 2010) Clearly Visual Basic: Programming with Visual Basic nd Edition.
Lecture Set 2 Part A: Creating an Application with Visual Studio – Solutions, Projects, Files 8/10/ :35 PM.
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
GDT Tips and Tricks. GDT Tips and Tricks Doug Evans GDT 2004 International User Conference – Evolving the Legacy July  Tucson, Arizona GDT Tips.
Chapter – 8 Software Tools.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
Microsoft Visual Basic 2012: Reloaded Fifth Edition Chapter One An Introduction to Visual Basic 2012.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
 Wind River Systems, Inc Chapter - 4 CrossWind.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
1 Using an Integrated Development Environment. Integrated Development Environments An Integrated Development Environment, or IDE, permits you to edit,
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
Appendix A Barb Ericson Georgia Institute of Technology May 2006
Chapter 2: The Visual Studio .NET Development Environment
Appendix A Barb Ericson Georgia Institute of Technology May 2006
1. Introduction to Visual Basic
CIS 470 Mobile App Development
Einführung in die Programmierung Introduction to Programming Prof. Dr
CIS 470 Mobile App Development
Scripts In Matlab.
Workshop for Programming And Systems Management Teachers
CIS 694/EEC 693 Android Sensor Programming
Presentation transcript:

Chair of Software Engineering OOSC - Summer Semester Object-Oriented Software Construction Bertrand Meyer Lecture 14: Presentation of EiffelStudio and Ace Files Ilinca Ciupa

Chair of Software Engineering OOSC - Summer Semester Agenda for today  EiffelStudio: The ISE Eiffel environment  Ace files: Control files for Eiffel projects

Chair of Software Engineering OOSC - Summer Semester Agenda for today  EiffelStudio: The ISE Eiffel environment  Ace files: Control files for Eiffel projects

Chair of Software Engineering OOSC - Summer Semester EiffelStudio  Introduction to the IDE  The Diagram Tool  Debugging

Chair of Software Engineering OOSC - Summer Semester Material available online  Guided tour: ion.pdf

Chair of Software Engineering OOSC - Summer Semester EiffelStudio  Introduction to the IDE  The Diagram Tool  Debugging

Chair of Software Engineering OOSC - Summer Semester Introduction to the IDE  One development window divided into four panels:  Editor  Context tool  Clusters pane  Features pane + Search and Favorites  Toolbar customization  Pick-and-drop mechanism

Chair of Software Engineering OOSC - Summer Semester The editor  Syntax highlighting  Syntax completion (CTRL+Space)  Class name completion (SHIFT+CTRL+Space)  Smart indenting  Block indent or exdent  Block commenting or uncommenting  Infinite level of Undo/Redo (reset after a save)  Quick search features (F3 and SHIFT+F3)

Chair of Software Engineering OOSC - Summer Semester The compiler  Uses incremental compilation  Supports.NET  Project Settings Tool

Chair of Software Engineering OOSC - Summer Semester EiffelStudio  Introduction to the IDE  The Diagram Tool  Debugging

Chair of Software Engineering OOSC - Summer Semester  Class types:  Cluster: A quick run through BON * DEFERRE D + EFFECTIV E ● PERSISTEN T ▲ INTERFACE D REUSED ROOT_CLASS ROOT_CLUSTER ▲ INTERFACED

Chair of Software Engineering OOSC - Summer Semester A quick run through BON (cont’d)  Inheritance link:  Client links: + EFFECTIV E * DEFERRE D ROOT_CLASS REUSED ROOT_CLASS REUSED f expanded_f

Chair of Software Engineering OOSC - Summer Semester The Diagram tool  Provides “Real time” roundtrip reverse engineering  Synchronized at each compilation  Allows for different views

Chair of Software Engineering OOSC - Summer Semester EiffelStudio  Introduction to the IDE  The Diagram Tool  Debugging

Chair of Software Engineering OOSC - Summer Semester Getting started with the debugger  The system must be melted/frozen (finalized systems cannot be debugged)  Use the Project Settings Tool to specify command line arguments  Click the launch button

Chair of Software Engineering OOSC - Summer Semester Setting breakpoints  Use the flat formats to add breakpoints  Tip: An efficient way of adding breakpoints consists in dropping a feature in the context tool  Click in the margin to enable/disable single breakpoints  Use the toolbar debug buttons to enable or disable all breakpoints globally

Chair of Software Engineering OOSC - Summer Semester Running the application  New display of the Development Window to include debugging information about:  The current object (Object Tool)  The arguments to the function being debugged (local variables)  Possibility to control the number of elements the debugger displays for special objects (Arrays, Strings)  Once on a breakpoint: possibility to step over / into / out next statement  Possibility to interrupt the application at anytime (Pause Application button or SHIFT+CTRL+F5)

Chair of Software Engineering OOSC - Summer Semester Agenda for today  EiffelStudio: The ISE Eiffel environment  Ace files: Control files for Eiffel projects

Chair of Software Engineering OOSC - Summer Semester Why do we need ace files?  Ace – Assembly of Classes in Eiffel  Lace – Language for Assembling Classes in Eiffel  Lace is the language for writing ace files  Ace files necessary for specifying:  The root class of the system  The files that contain the classes of the system (grouped in clusters)

Chair of Software Engineering OOSC - Summer Semester Generation and editing  Generation:  Automatically done by EiffelStudio when creating a new project Or  By hand  Editing  Through the “Project Settings” dialog Or  By hand

Chair of Software Engineering OOSC - Summer Semester Example ace file system sample root ROOT_CLASS: "make" default assertion (require) debug ("DEBUG_TAG") cluster root_cluster: "." option assertion (all): ROOT_CLASS end a_subcluster (root_cluster): "$/a_subcluster" all base: "$ISE_EIFFEL\library\base" exclude "desc";"table_eiffel3" end all vision2: "${ISE_EIFFEL}/library/vision2" external include_path: "$(ISE_EIFFEL)\library\wel\spec\windows\include" object: "$(ISE_EIFFEL)\library\wel\spec\$(ISE_C_COMPILER)\lib\wel.lib" end

Chair of Software Engineering OOSC - Summer Semester “system” clause  Gives the name of the system  Executable file produced will have same name system sample

Chair of Software Engineering OOSC - Summer Semester “root” clause  Specifies the root class and its creation procedure that will be called to start execution of the system root ROOT_CLASS: "make"

Chair of Software Engineering OOSC - Summer Semester “default” clause  Contains the compilation options of the project (for more options than illustrated here see EiffelStudio Help)  “assertion” option  Which types of assertions are checked  Possible values: no, require (default), ensure, invariant, loop, check, all  “debug” option  Activate code written inside debug blocks debug (“DEBUG_TAG") -- Debug code is here. end default assertion (require) debug ("DEBUG_TAG")

Chair of Software Engineering OOSC - Summer Semester “cluster” clause cluster root_cluster: "." option assertion (all): ROOT_CLASS end a_subcluster (root_cluster): "$/a_subcluster" all base: "$ISE_EIFFEL\library\base" exclude "desc";"table_eiffel3" end all vision2: "${ISE_EIFFEL}/library/vision2"  Locates the files that contain the classes of the system (files with the.e extension)  Possibility to override the assertion checking level of the whole system for individual classes  Use keyword all before cluster name to recursively explore subdirectories of specified directory

Chair of Software Engineering OOSC - Summer Semester Additional info on ace files  EiffelStudio Help (“Lace syntax”)  “Object-Oriented Software Construction”, 2 nd edition, Bertrand Meyer  Chapter 7: “The static structure: classes”, subsection “Assembling a system” (pp )  Chapter 11: “Design by Contract: building reliable software”, subsection “Monitoring assertions at run time” (pp )

Chair of Software Engineering OOSC - Summer Semester End of lecture 14