Master Thesis Project Plan. Reusable Mathematical Models
|
|
- Marshall Cook
- 5 years ago
- Views:
Transcription
1 Master Thesis Project Plan Reusable Mathematical Models Tobias K. Widmer Supervisors: Prof. Dr. B. Meyer B. Schoeller Chair of Software Engineering Department of Computer Science, ETH Zurich January 13, 2004
2 Chapter 1 Project Description 1.1 Overview Proving programs in a fully mathematical and rigorous way is hard and time consuming. Although there exist a number of formal approaches to software engineering like the Z specification language or the B method, these environments strongly focus on refinement based programming and do not directly support object-oriented programming. On the other side, the JML specification language is an object-oriented extension to the JAVA programming language, which allows annotating existing JAVA programs with specification attributes and contracts. But neither of these approaches really take advantage of the most beneficial concept in software engineering: Reuse of already available software elements. It should not only be possible to reuse units of implemented software, but also rely on units of already proven software. Unfortunately, the traditional methods like B and JML only gradually support the reuse of already proven software units. In the Eiffel method, contracts have become first-class citizens of the programming language. Designed as taking an integral part in the software specification process and providing expressive semi-formal definitions of software interfaces, it turns out that Eiffel contracts are not powerful enough to express the complicated relationships in object graphs of modern object-oriented environments. Faced with these shortcomings, the idea to combine the reusability and extendibility of object-oriented methods with the rigorous mathematical models used in formal method like B seams reasonable. The idea of applying mathematical models to prove contract equipped classes has been developed by [Mey03]. The open question remains how these mathematical concepts can be modeled as software components to help making Eiffel contracts even more expressive and powerful. The goal of this thesis is therefore to create a collection of extendible and reusable software components that allow Eiffel programmers to write more rigorous and expressive contracts using abstract mathematical models. 1.2 Scope of the work Translating mathematical concepts into reusable software models requires several subproblems to be solved. In the first part of this thesis, the basic blocks of mathematical reasoning over programs have to be identified and categorized. We therefore give an overview about the necessary mathematical concepts and justify their necessity with respect to the aim of providing a minimal, yet expressive enough set of software facilities to describe Eiffel contracts. The approaches taken in B and Z are certainly influencing the result. The ideas behind JML are considered as well, since JML promises to be much closer to object-oriented methods than the other approaches. After the necessary mathematical concepts have been identified, a representative set of data structures 1
3 has to be chosen to deliver the proof of concept, meaning that these data structures can be specified using the acquired models. For us, the EiffelBase library serves this purpose. Only the most fundamental data structures are specified. As time permits, more advanced data structures are treated as well. This specification phase is followed by an implementation phase, during which we create the necessary software facilities to support the specification of the above data structures. This collection of software classes will be called Mathematical Model Library (MML) and is written in a defined subset of the Eiffel language, which we name Intermediate Functional Language (IFL). This language provides the client programmer with the necessary constructs to define expressive contracts and is restricted to use features from the MML class library only. 1.3 Intended results Mathematical Model Library The library of mathematical models forms the most important deliverable. It will comprise the following items: 1. A library of thoroughly documented classes modeling the mathematical concepts identified in the first part of this thesis 2. A user s manual describing the scope and usage of the library classes Thesis Report The report associated with this thesis covers the following topics: 1. An overview about the existing formal approaches to software engineering. We introduce the concepts and ideas behind B and JML and how they could be used in the context of Eiffel contracts 2. A compilation of basic mathematical concepts used for the design of the MML class library 3. Mathematical models of the most fundamental data structures contained in the EiffelBase library 4. The specification of the functional language IFL needed by the MML classes 5. The design ideas and architectural decisions behind the MML class library In the end, this master thesis should result in reusable software components that are ready to be used in contracts of programs written in the Eiffel language. 2
4 Chapter 2 Background Material 2.1 Reading List In this chapter we introduce the tentative list of bibliographic sources used in this thesis: Formal Methods: The B-Book [Abr96], The B-Method: An Introduction [Sch01] The Z notation [Spi89] JML Reference Manual Draft [LPC + ], JML: A notation for detailed design [LBR], Design by Contract with JML [LC] Program Verification: Towards practical proofs of class correctness [Mey03], A logic for the Verification of Object- Oriented Programs [PHM97], Formal Verification of a Doubly Linked List Implementation: A Case Study Using the JIVE System [LMMPH00] Mathematical Concepts: Introduction to the Theory of Programming Languages [Mey90], The Z notation [Spi89] Eiffel Language: Object-Oriented Software Construction [Mey97], Eiffel: The language [Mey92] Software Engineering Design Patterns: Elements of Reusable Object-Oriented Software [GHJV95], Introduction to Algorithms [CLRS01] This list is certainly not exhaustive and is likely to be extended during the course of this master thesis. 3
5 Chapter 3 Project Management 3.1 Objectives and priorities The primary objective of this thesis is to deliver in a timely fashion a powerful collection of Eiffel classes that can be used to write expressive and precise contracts. 3.2 Criteria for Success Mathematical Model Library The following criteria have to be met by the implementation of this class library: Extendible and reusable library classes that directly model the needed mathematical concepts A carefully designed class hierarchy which is easily understandable Well documented code with precise and rigorous contracts Easy to use class interfaces that hide the internal mathematical complexity Thesis Report The thesis report should complement the work of the class library: It should give a comprehensive overview about the mathematical concepts necessary to define the intermediate functional language IFL The report should present the specification of the EiffelBase data structures in a clear and concise way addressing Eiffel programmers primarily It has to provide a rigorous specification of the functional language IFL It should contain a broad presentation of the design ideas behind the MML class library 4
6 3.3 Method of work The thesis report and the library classes are created in parallel, hopefully influencing each other positively. The development of the source code is guided by the Seamless Development Process described in [Mey97]. The use of a version control system facilitates the source code management both at home and at work. Frequent validation steps ensure constant progress and minimal deviation from the project plan. 3.4 Quality Management Validation Steps The following validation steps are planned to perform regularly during the course of this thesis: Frequent discussion meetings with the assigned supervisors Weekly reviews and wrap-ups to ensure consistent progress Monthly position-fixings to avoid loosing the plot Test Cases For the software-related part of this thesis, the MML class library, we additionally provide example programs to display the successful application of the mathematical models to Eiffel contracts. This demonstrative examples are accompanied by test cases to ensure a high level of software quality Documentation The class library is fully documented using Design by Contract T M and the Eiffel method style guide lines. The user s manual describes the usage of the library classes from the client programmer s point of view. Information about the design ideas and the architecture of the MML class library can be found in the thesis report. 5
7 Chapter 4 Project Schedule 4.1 Deadlines Project Start: Mo, Project End: Fr, Gantt Chart ID Task Name Duration Start Finish 1 Identify Mathematical 20 days Mon Fri Concepts 2 Reading 5 days Mon Fri Collecting Concepts 4 days Mon Thu Writing Report Chapter 11 days Fri Fri Specify Data Structures 25 days Mon Fri Examine EiffelBase 2 days Mon Tue Create Collection 3 days Wed Fri Write Specification 15 days Mon Fri Write Report Chapter 5 days Mon Fri Define IFL 25 days Mon Fri Review Identified Concepts 5 days Mon Fri Create IFL Draft 10 days Mon Fri Verify Draft on Specifications 4 days Mon Thu Write Report Chapter 6 days Fri Fri Implement MML 35 days Mon Fri Design Class Hierarchy 3 days Mon Wed Specify Interfaces 7 days Thu Fri Implement Classes 15 days Mon Fri Test Classes 5 days Mon Fri Write Examples 5 days Mon Fri Finalization 25 days Mon Fri Write Design and Architecture 6 days Mon Mon Write User's Manual 4 days Tue Fri General Clean-Up 3 days Mon Wed Proof Reading 6 days Thu Thu Reserved 6 days Fri Fri Dec '0 05 Jan '0 19 Jan '0 02 Feb '0 16 Feb '0 01 Mar '0 15 Mar '0 29 Mar '0 12 Apr '0 26 Apr '0 10 May '0 24 May '0 07 Jun '0 21 Jun '0 05 Jul '04 6
8 Bibliography [Abr96] J. R. Abrial. The B-Book. Cambridge University Press, [CLRS01] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms, Second Edition. MIT Press, [GHJV95] E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, [LBR] G. T. Leavens, A. L. Baker, and C. Ruby. JML: a notation for detailed design. ftp://ftp.cs.iastate.edu/pub/leavens/jml/jmlkluwer.pdf. [LC] G. T. Leavens and Y. Cheon. Design by Contract with JML. ftp://ftp.cs.iastate.edu/pub/leavens/jml/jmldbc.pdf. [LMMPH00] M. Labeth, J. Meyer, P. Müller, and A. Poetzsch-Heffter. Formal verification of a doubly linked list implementation: A case study using the JIVE system. Technical Report 270, Fernuniversität Hagen, [LPC + ] G. T. Leavens, E. Poll, C. Clifton, Y. Cheon, C. Ruby, D. Cok, and J. Kiniry. JML Reference Manual Draft. ftp://ftp.cs.iastate.edu/pub/leavens/jml/jmlrefman.pdf. [Mey90] B. Meyer. Introduction to the Theory of Programming Languages. Prentice Hall, [Mey92] B. Meyer. Eiffel: The Language. Prentice Hall, [Mey97] B. Meyer. Object-Oriented Software Construction. Prentice Hall, 2nd edition, [Mey03] [PHM97] B. Meyer. Towards practical proofs of class correctness. In ZB 2003 (D. B. et al., ed.), LNCS 2651, pp Springer-Verlag Berlin, A. Poetzsch-Heffter and P. Müller. A logic for the verification of object-oriented programs. In R. Berghammer and F. Simon, editors, Programming Languages and Fundamentals of Programming, volume 9717 of Technical Report. Christian-Albrechts-Universität Kiel, [Sch01] S. Schneider. The B-Method: An Introduction. Palgrave, [Spi89] J. M. Spivey. The Z notation. Prentice Hall International,
Research Collection. Reusable mathematical models. Master Thesis. ETH Library. Author(s): Widmer, Tobias K. Publication Date: 2004
Research Collection Master Thesis Reusable mathematical models Author(s): Widmer, Tobias K. Publication Date: 2004 Permanent Link: https://doi.org/10.3929/ethz-a-005115737 Rights / License: In Copyright
More informationEIFFEL TEST STUDIO Locating faults in external code Master Thesis Project Plan
EIFFEL TEST STUDIO Locating faults in external code Master Thesis Project Plan Reto Ghioldi Department of Computer Science ETH Zürich September 6, 2005 Project period 8.September 2005-9.March 2006 Student
More informationContract Wizard II: Developing a GUI
Contract Wizard II: Developing a GUI PROJECT PLAN Diploma project Project period 2004-04-26 2004-08-25 Student name Petra Marty Status 9 th semester Email address martypet@student.ethz.ch Supervisor name
More informationConcurrency Patterns in SCOOP
Concurrency Patterns in SCOOP Master Thesis Project Plan Project period: 10. March to 8. September 2014 Student name: Roman Schmocker, 09-911-215 Status: 4. semester, Msc in Computer Science Email address:
More informationCanica: An IDE for the Java Modeling Language
Canica: An IDE for the Java Modeling Language Angelica B. Perez, Yoonsik Cheon, and Ann Q. Gates TR #06-36 August 2006 Keywords: Integrated development environment, specification tool, programming tool,
More informationBibliography. [Baldwin 01] Baldwin, D., Gries, D., Henderson, P., Marion, B., Schwartz, D. Panel:
Bibliography [Baber 97] Baber, R. L., The Ariane 5 Explosion: A Software Engineer s View, Technical Report, Computer Science, University of the Witwatersrand, South Africa, February 1997; http://www.cs.wits.ac.za/ariane5.htm.
More informationReflection Library for Eiffel PROJECT PLAN
Reflection Library for Eiffel PROJECT PLAN Master thesis Project period: Monday, 2004-03-15 Wednesday, 2004-09-15 Student: Beat Fluri (fluribe@student.ethz.ch) Status: 9th semester Supervising Assistant:
More informationVerifying JML specifications with model fields
Verifying JML specifications with model fields Cees-Bart Breunesse and Erik Poll Department of Computer Science, University of Nijmegen Abstract. The specification language JML (Java Modeling Language)
More informationYork University Department of Computer Science & Engineering Revised January 27, 2014
York University Department of Computer Science & Engineering Revised January 27, 2014 CSE 1019 3.0 Discrete Math for Computer Science Discrete Mathematics and Its Applications, by Kenneth.H. Rosen ISBN:
More informationEiffel as a Framework for Verification
Eiffel as a Framework for Verification Bertrand Meyer ETH Zurich http://se.inf.ethz.ch Eiffel Software www.eiffel.com Abstract. The Eiffel method and language integrate a number of ideas originating from
More informationJava-MOP: A Monitoring Oriented Programming Environment for Java
Java-MOP: A Monitoring Oriented Programming Environment for Java Feng Chen and Grigore Roşu Department of Computer Science, University of Illinois at Urbana - Champaign, USA {fengchen, grosu}@uiuc.edu
More informationTrusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout
1 Last update: 15 October 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 1: Issues of software quality Agenda for today 3 Introduction Some statistics
More informationA Small Survey of Java Specification Languages *
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 409 416. A Small Survey of Java Specification Languages * Gábor Kusper a, Gergely
More informationUK EPR GDA PROJECT. Name/Initials Date 30/06/2011 Name/Initials Date 30/06/2011. Resolution Plan Revision History
RP unique number: Page GI-UKEPR-RP-01-RP 0 30/06/2011 1 of 5 Approved for EDF by: A. PETIT Approved for AREVA by: C. WOOLDRIDGE Name/Initials Date 30/06/2011 Name/Initials Date 30/06/2011 Resolution Plan
More informationA System of Patterns for Web Navigation
A System of Patterns for Web Navigation Mohammed Abul Khayes Akanda and Daniel M. German Department of Computer Science, University of Victoria, Canada maka@alumni.uvic.ca, dmgerman@uvic.ca Abstract. In
More informationModeling Systems Using Design Patterns
Modeling Systems Using Design Patterns Jaroslav JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia jakubik@fiit.stuba.sk
More informationSYLLABUS Type of evaluation
SYLLABUS 1. Information regarding the programme 1.1 Higher education Babeș-Bolyai University, Cluj-Napoca institution 1.2 Faculty Faculty of Mathematics and Computer Science 1.3 Department Department of
More information2 nd UML 2 Semantics Symposium: Formal Semantics for UML
2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany
More informationWrapping a complex C++ library for Eiffel. FINAL REPORT July 1 st, 2005
Wrapping a complex C++ library for Eiffel FINAL REPORT July 1 st, 2005 Semester project Student: Supervising Assistant: Supervising Professor: Simon Reinhard simonrei@student.ethz.ch Bernd Schoeller Bertrand
More informationHow Efficient Can Fully Verified Functional Programs Be - A Case Study of Graph Traversal Algorithms
How Efficient Can Fully Verified Functional Programs Be - A Case Study of Graph Traversal Algorithms Mirko Stojadinović Faculty of Mathematics, University of Belgrade Abstract. One approach in achieving
More informationA MULTI-DIMENSIONAL DATA ORGANIZATION THAT ASSISTS IN THE PARSING AND PRODUCTION OF A SENTENCE
A MULTI-DIMENSIONAL DATA ORGANIZATION THAT ASSISTS IN THE PARSING AND PRODUCTION OF A SENTENCE W. Faris and K. Cheng Department of Computer Science University of Houston Houston, TX, 77204, USA http://www.cs.uh.edu
More informationTowards Better Support for Pattern-Oriented Software Development
Towards Better Support for Pattern-Oriented Software Development Dietrich Travkin Software Engineering Research Group, Heinz Nixdorf Institute & Department of Computer Science, University of Paderborn,
More information11 days Mon 12/7/15 Mon 12/21/15. 4 days Tue 12/8/15 Fri 12/11/ days Mon 1/4/16 Mon 2/29/16. External Milestone. Manual Summary Rollup Split
ID Mode WBS Name Duration Start Finish 1 1 Behavioral Health Center (BHC) Grant writing Proposal with BRG 11 days Mon 12/7/15 Mon 12/21/15 2 1.1 BRG draft for Jay Mittal and 5 days Mon 12/7/15 Fri 12/11/15
More informationJava Modelling Language (JML) References
Java Modelling Language (JML) References G. T. Leavens and Y. Cheon. Design by Contract with JML, August 2005. L. Burdy, Y. Cheon, D. Cok, M. Ernst, J. Kiniry, G. T. Leavens, K. R. M. Leino, and E. Poll.
More informationAutomatic Verification of Closures and Lambda-Functions in Python Master s Thesis Project Description
Automatic Verification of Closures and Lambda-Functions in Python Master s Thesis Project Description Benjamin Weber March 2017 Introduction Higher-order functions take other functions as parameters. Thus,
More informationConcurrent Object-Oriented Development with Behavioral Design Patterns
Concurrent Object-Oriented Development with Behavioral Design Patterns Benjamin Morandi 1, Scott West 1, Sebastian Nanz 1, and Hassan Gomaa 2 1 ETH Zurich, Switzerland 2 George Mason University, USA firstname.lastname@inf.ethz.ch
More informationCourse specification
The University of Southern Queensland Course specification Description: Object-Oriented Programming in C++ Subject Cat-nbr Class Term Mode Units Campus CSC 2402 30366 1, 2004 ONC 1.00 TWMBA Academic group:
More informationSpecifying Reusable Components
Specifying Reusable Components Nadia Polikarpova, Carlo A. Furia, and Bertrand Meyer Chair of Software Engineering, ETH Zurich, Switzerland {nadia.polikarpova,carlo.furia,bertrand.meyer}@inf.ethz.ch Abstract.
More informationOn Preserving Domain Consistency for an Evolving Application
On Preserving Domain Consistency for an Evolving Application João Roxo Neves and João Cachopo INESC-ID / Instituto Superior Técnico, Universidade Técnica de Lisboa, Portugal {JoaoRoxoNeves,joao.cachopo}@ist.utl.pt
More informationVISUALIZING NP-COMPLETENESS THROUGH CIRCUIT-BASED WIDGETS
University of Portland Pilot Scholars Engineering Faculty Publications and Presentations Shiley School of Engineering 2016 VISUALIZING NP-COMPLETENESS THROUGH CIRCUIT-BASED WIDGETS Steven R. Vegdahl University
More informationFrom Event-B Models to Dafny Code Contracts
From Event-B Models to Dafny Code Contracts Mohammadsadegh Dalvandi, Michael Butler, Abdolbaghi Rezazadeh Electronic and Computer Science School, University of Southampton Southampton, United Kingdom {md5g11,mjb,ra3}@ecs.soton.ac.uk
More informationINCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM
INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM Charles S. Saxon, Eastern Michigan University, charles.saxon@emich.edu ABSTRACT Incorporating advanced programming
More informationBON-CASE: An Extensible CASE Tool for Formal Specification and Reasoning
BON-CASE: An Extensible CASE Tool for Formal Specification and Reasoning Richard Paige Department of Computer Science, University of York, York, U.K. Liliya Kaminskaya AMDocs Inc., Toronto, Ontario, Canada
More informationCS342 Operating Systems
Bilkent University Department of Computer Engineering CS342 Operating Systems CS342 Operating Systems Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 About the Course Will teach operating systems
More informationAdvanced Algorithms and Data Structures
Advanced Algorithms and Data Structures Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Prerequisites A seven credit unit course Replaced OHJ-2156 Analysis of Algorithms We take things a bit further than
More informationAn Approach to Software Component Specification
Page 1 of 5 An Approach to Software Component Specification Jun Han Peninsula School of Computing and Information Technology Monash University, Melbourne, Australia Abstract. Current models for software
More informationReasoning about Object Structures Using Ownership
Reasoning about Object Structures Using Ownership Peter Müller ETH Zurich, Switzerland Peter.Mueller@inf.ethz.ch Abstract. Many well-established concepts of object-oriented programming work for individual
More informationSYLLABUS. 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca
SYLLABUS 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca institution 1.2 Faculty Faculty of Mathematics and Computer Science 1.3 Departament Departament
More informationFaithful mapping of model classes to mathematical structures
Faithful mapping of model classes to mathematical structures Ádám Darvas ETH Zurich adam.darvas@inf.ethz.ch Peter Müller Microsoft Research mueller@microsoft.com Abstract Abstraction techniques are indispensable
More informationHelping Programmers to Adopt Set-Based Specifications
Helping Programmers to Adopt Set-Based Specifications Maximiliano Cristiá 1, Gianfranco Rossi 2, and Claudia Frydman 3 1 CIFASIS and UNR, Rosario, Argentina cristia@cifasis-conicet.gov.ar 2 Università
More informationPennington County Government Justice Center. Schematic Design - October 27, 2015
Government Schematic Design - October 27, 2015 N Architecture 2 Proposed - Site Plan Proposed Jail / LEC Addition Proposed Addition 3 County Board Room Public Entrance County Attorney Proposed - Ground
More informationStatic program checking and verification
Chair of Software Engineering Software Engineering Prof. Dr. Bertrand Meyer March 2007 June 2007 Slides: Based on KSE06 With kind permission of Peter Müller Static program checking and verification Correctness
More informationJML tool-supported specification for Java Erik Poll Radboud University Nijmegen
JML tool-supported specification for Java Erik Poll Radboud University Nijmegen Erik Poll - JML p.1/41 Overview The specification language JML Tools for JML, in particular runtime assertion checking using
More informationFormal Methods for Java
Formal Methods for Java Lecture 30: Conclusion Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Feb 17, 2012 Jochen Hoenicke (Software Engineering) FM4J Feb 17, 2012 1 / 21 Topics
More informationModular verification of static class invariants
Modular verification of static class invariants K. Rustan M. Leino 1 and Peter Müller 2 1 Microsoft Research, Redmond, WA, USA, leino@microsoft.com 2 ETH Zürich, Switzerland, peter.mueller@inf.ethz.ch
More informationDiagnosing Java code: Designing extensible applications, Part 3
Diagnosing Java code: Designing extensible applications, Part 3 Examine when, where, and how black box extensibility works best Level: Introductory Eric Allen (eallen@cs.rice.edu), Ph.D. candidate, Java
More informationA Prototype for Guideline Checking and Model Transformation in Matlab/Simulink
A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink Holger Giese, Matthias Meyer, Robert Wagner Software Engineering Group Department of Computer Science University of Paderborn
More informationIntroduction to Software Engineering
Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,
More informationPolynomial Size Analysis for an Imperative Language
Polynomial Size Analysis for an Imperative Language Master Thesis Research Plan Rody Kersten Supervised by Marko van Eekelen February 16, 2009 Abstract Analysis of heap space consumption is a valuable
More informationAutomatic Black-Box Method-Level Test Case Generation Based on Constraint Logic Programming
Automatic Black-Box Method-Level Test Case Generation Based on Constraint Logic Programming i-tin Hu and ai-wei Lin Department of Computer Science and Information Engineering ational Chung Cheng University
More informationJOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, No. 2, July-August 2002 The Theory of Classification Part 2: The Scratch-Built
More informationIntroduction to JML David Cok, Joe Kiniry, and Erik Poll Eastman Kodak Company, University College Dublin, and Radboud University Nijmegen
Introduction to JML David Cok, Joe Kiniry, and Erik Poll Eastman Kodak Company, University College Dublin, and Radboud University Nijmegen David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial p.1/30
More informationCS2 Algorithms and Data Structures Note 1
CS2 Algorithms and Data Structures Note 1 Analysing Algorithms This thread of the course is concerned with the design and analysis of good algorithms and data structures. Intuitively speaking, an algorithm
More informationNORTHWEST. Course Schedule: Through June 2018 MICROSOFT ACCESS. Access 2016 / Access 2010 / Last Revised: 11/13/2017
2659 Commercial Street SE, Suite 210 Salem, Oregon 97302 The Professional s Choice since 1983 Locally Owned & Operated Course Schedule: Through June 2018 Last Revised: 11/13/2017 Phone: (503) 362-4818
More informationUPCOMING PROGRAMMES/COURSES APRIL 2016 MARCH 2017 (MIND KINGSTON & MANDEVILLE CAMPUSES)
UPCOMING PROGRAMMES/ IL CH 2 UPCOMING PROGRAMMES/ IL CH Award Categories Certificate Budget Preparation & Effective Corporate Governance Effective Report Writing Finance for NonFinancial Managers Fundamentals
More informationA Class-Level Unit Testing Tool for Java
A Class-Level Unit Testing Tool for Java Tz-Fan Hu and Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University Chiayi 621, Taiwan, R.O.C. Email: {htf97m,naiwei}@cs.ccu.edu.tw
More informationSoftware Specification, Implementation and Execution with Perfect
National University of Ireland, Maynooth MAYNOOTH, Co. KILDARE, IRELAND. DEPARTMENT OF COMPUTER SCIENCE, TECHNICAL REPORT SERIES Software Specification, Implementation and Execution with Perfect Gareth
More informationAn Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com
An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com Department of Software Systems Engineering University of Isfahan Fall 2013 Overview Model & Modeling UML & UML Profile
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Picture is from the cover of the textbook CLRS. COMP 3170 - Analysis of Algorithms & Data
More informationTo: Prof. Chang, Prof. Lasser From: Mark Robinton, Brandon Balkind Subject: Senior Project Proposal Date: 12/2/2004
Page 1 of 8 To: Prof. Chang, Prof. Lasser From:, Subject: Senior Project Proposal Date: 12/2/2004 1. Introduction Managing artificial aquatic environments currently requires significant human interaction
More informationCIS24 Project #3. Student Name: Chun Chung Cheung Course Section: SA Date: 4/28/2003 Professor: Kopec. Subject: Functional Programming Language (ML)
CIS24 Project #3 Student Name: Chun Chung Cheung Course Section: SA Date: 4/28/2003 Professor: Kopec Subject: Functional Programming Language (ML) 1 Introduction ML Programming Language Functional programming
More informationw3.ualg.pt/~jvo/poo
POO - Programação Orientada por Objetos OOP - Object-oriented programming 2015/2016 José Valente de Oliveira jvo@ualg.pt 1 www.ualg.pt w3.ualg.pt/~jvo/poo 1 http://www.fct.ualg.pt/gcal?curso=lei What is
More informationA Thought on Specification Reflection
A Thought on Specification Reflection Yoonsik Cheon, Yoshiki Hayashi Department of Computer Science, University of Texas at El Paso El Paso, Texas 79912 USA cheon@cs.utep.edu Gary T. Leavens Department
More informationLECTURE 6: INTRODUCTION TO FORMAL METHODS. Software Engineering Mike Wooldridge
LECTURE 6: INTRODUCTION TO FORMAL METHODS Mike Wooldridge 1 What are Formal Methods? Formal methods is that area of computer science that is concerned with the application of mathematical techniques to
More informationUnit 1: Introduction
Unit 1: Introduction Course: M225 Software Engineering Lecturer: email: Alessandra Russo ar3@doc.ic.ac.uk office hours: available in my office (room 560) between 1:30-3:30pm on Tuesday. Duration: 12 lectures
More informationAutomatic Generation of Graph Models for Model Checking
Automatic Generation of Graph Models for Model Checking E.J. Smulders University of Twente edwin.smulders@gmail.com ABSTRACT There exist many methods to prove the correctness of applications and verify
More informationv. T_visit (Current) t.accept (v) CLIENT t v The Visitor pattern
608 INHERITANCE 16.14 The Visitor pattern The Visitor pattern is an architectural technique enabling you to define arbitrary facilities applicable to instances of existing classes. The idea is very simple:
More informationAlgorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures
Richard Mayr Slides adapted from Mary Cryan (2015/16) with some changes. School of Informatics University of Edinburgh ADS (2018/19) Lecture 1 slide 1 ADS (2018/19) Lecture 1 slide 3 ADS (2018/19) Lecture
More informationCSE 504: Compiler Design
http://xkcd.com/303/ Compiler Design Course Organization CSE 504 1 / 20 CSE 504: Compiler Design http://www.cs.stonybrook.edu/~cse504/ Mon., Wed. 2:30pm 3:50pm Harriman Hall 116 C. R. Ramakrishnan e-mail:
More informationSCHEDULED PROGRAMMES/COURSES APRIL 2017 MARCH 2018 (MIND KINGSTON / MANDEVILLE CAMPUSES & MONTEGO BAY)
SCHEDULED PROGRAMMES/ IL CH 2 SCHEDULED PROGRAMMES/ IL CH Award Categories Certificate Advanced Records (Modules 1 5)** Auditing Fundamentals Level 1: Modules 1 4 (NEW) Budget Preparation & Effective Corporate
More informationAlgorithms and Data Structures, or
Algorithms and Data Structures, or... Classical Algorithms of the 50s, 60s and 70s Mary Cryan A&DS Lecture 1 1 Mary Cryan Our focus Emphasis is Algorithms ( Data Structures less important). Most of the
More informationSyllabus DATABASE I Introduction to Database (INLS523)
Syllabus DATABASE I Introduction to Database (INLS523) Course Description Databases are the backbones of modern scholarly, scientific, and commercial information systems. For example, NASA uses databases
More informationThe architecture of Eiffel software 3.1 OVERVIEW classes clusters systems
3 Draft 5.02.00-0, 15 August 2005 (Santa Barbara). Extracted from ongoing work on future third edition of Eiffel: The Language. Copyright Bertrand Meyer 1986-2005. Access restricted to purchasers of the
More informationFinding Specifications of While Statements Using Patterns
Finding Specifications of While Statements Using Patterns Aditi Barua and Yoonsik Cheon TR #13-67 November 2013 Keywords: code pattern, functional program verification, intended functions, program specification,
More informationTest Driven Development with Oracles and Formal Specifications
Test Driven Development with Oracles and Formal Specifications Shadi Alawneh and Dennis Peters Faculty of Engineering and Applied Science Memorial University, St.John s, NL Canada A1B 3X5 {shadi.alawneh,dpeters}@mun.ca
More informationMultiple Pivot Sort Algorithm is Faster than Quick Sort Algorithms: An Empirical Study
International Journal of Electrical & Computer Sciences IJECS-IJENS Vol: 11 No: 03 14 Multiple Algorithm is Faster than Quick Sort Algorithms: An Empirical Study Salman Faiz Solehria 1, Sultanullah Jadoon
More informationCIMA Certificate BA Interactive Timetable
CIMA Certificate BA Interactive Timetable 2018 Nottingham & Leicester Version 3.2 Information last updated 09/03/18 Please note: Information and dates in this timetable are subject to change. Introduction
More informationInformation Hiding and Visibility in Interface Specifications
Information Hiding and Visibility in Interface Specifications Gary T. Leavens and Peter Müller TR #06-28 September 2006 Keywords: Information hiding, visibility, behavioral interface specification language,
More informationA Type Graph Model for Java Programs
A Type Graph Model for Java Programs Arend Rensink and Eduardo Zambon Formal Methods and Tools Group, EWI-INF, University of Twente PO Box 217, 7500 AE, Enschede, The Netherlands {rensink,zambon}@cs.utwente.nl
More informationKent Academic Repository
Kent Academic Repository Full text document (pdf) Citation for published version Chitil, Olaf (2006) Promoting Non-Strict Programming. In: Draft Proceedings of the 18th International Symposium on Implementation
More informationMs. Bhawna Sharma 1, Ms. Kavita Choudhary 2, Mr Rajendra Purohit 3 1 M.Tech. Scholar, 2 Associate professor, 3 Research Scholar
Function Point Analysis: Converting various design elements into Function Points Ms. Bhawna Sharma 1, Ms. Kavita Choudhary 2, Mr Rajendra Purohit 3 1 M.Tech. Scholar, 2 Associate professor, 3 Research
More informationA Simplified Correctness Proof for a Well-Known Algorithm Computing Strongly Connected Components
A Simplified Correctness Proof for a Well-Known Algorithm Computing Strongly Connected Components Ingo Wegener FB Informatik, LS2, Univ. Dortmund, 44221 Dortmund, Germany wegener@ls2.cs.uni-dortmund.de
More informationSCHEDULED PROGRAMMES/COURSES APRIL 2018 MARCH 2019 (MIND KINGSTON / MANDEVILLE CAMPUSES & MONTEGO BAY)
SCHEDULED PROGRAMMES/ IL CH 2 SCHEDULED PROGRAMMES/ IL CH Award Categories Certificate Advanced Records : Modules 1 5** Audit Fundamentals: Modules 1 4 Budget Preparation & Effective Corporate Governance
More informationCourse specification
The University of Southern Queensland Course specification Description: Object-Oriented Programming in C++ Subject CSC Cat-nbr 2402 Class 40341 Term 1, 2005 Mode ONC Units 1.00 Campus Toowoomba Academic
More informationModel-View-Controller
CNM STEMulus Center Web Development with PHP November 11, 2015 1/8 Outline 1 2 2/8 Definition A design pattern is a reusable and accepted solution to a particular software engineering problem. Design patterns
More informationSCHEDULED PROGRAMMES/COURSES APRIL 2018 MARCH 2019 (MIND KINGSTON / MANDEVILLE CAMPUSES & MONTEGO BAY)
SCHEDULED PROGRAMMES/ IL CH 2 SCHEDULED PROGRAMMES/ IL CH Award Categories Certificate Advanced Records : Modules 1 5** Audit Fundamentals: Modules 1 4 Budget Preparation & Effective Corporate Governance
More informationGuidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process
Guidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process UK MathWorks Aerospace & Defence Industry Working Group Guidelines for deployment of MathWorks R2010a toolset within
More informationAIMMS Function Reference - Date Time Related Identifiers
AIMMS Function Reference - Date Time Related Identifiers This file contains only one chapter of the book. For a free download of the complete book in pdf format, please visit www.aimms.com Aimms 3.13 Date-Time
More informationDesign and Analysis of Algorithms. Comp 271. Mordecai Golin. Department of Computer Science, HKUST
Design and Analysis of Algorithms Revised 05/02/03 Comp 271 Mordecai Golin Department of Computer Science, HKUST Information about the Lecturer Dr. Mordecai Golin Office: 3559 Email: golin@cs.ust.hk http://www.cs.ust.hk/
More informationProperties Preservation during Transformation
Properties Preservation during Transformation Daniela da Cruz 1, Jorge Sousa Pinto 1, and Pedro Rangel Henriques 1 University of Minho - Department of Computer Science, CCTC - Centro de Ciências e Tecnologias
More informationFormal Specification of Software Systems
Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software
More informationWhat if Analysis, Charting, and Working with Large Worksheets. Chapter 3
What if Analysis, Charting, and Working with Large Worksheets Chapter 3 What we will cover Rotating Text Using the fill handle to create a series of month names Copying and pasting What we will cover Inserting,
More informationPart V: Annotated Bibliography of RESOLVE Research
SOFTWARE ENGINEERING NOTES 19, 4 (OCT. 1994), 64-67. Part V: Annotated Bibliography of RESOLVE Research Stephen H. Edwards This brief annotated bibliography describes a select subset of the RESOLVE literature,
More informationLecture 1. Introduction
Lecture 1 Introduction 1 Lecture Contents 1. What is an algorithm? 2. Fundamentals of Algorithmic Problem Solving 3. Important Problem Types 4. Fundamental Data Structures 2 1. What is an Algorithm? Algorithm
More informationLecture 06 Tabu Search
Lecture 06 Tabu Search s.l. dr. ing. Ciprian-Bogdan Chirila chirila@cs.upt.ro http://www.cs.upt.ro/~chirila Heuristic Methods Outline Introduction The TS framework Example Notation and problem description
More informationHigh-Level Information Interface
High-Level Information Interface Deliverable Report: SRC task 1875.001 - Jan 31, 2011 Task Title: Exploiting Synergy of Synthesis and Verification Task Leaders: Robert K. Brayton and Alan Mishchenko Univ.
More informationAdvanced Algorithms and Data Structures
Advanced Algorithms and Data Structures Prof. Tapio Elomaa Course Basics A new 7 credit unit course Replaces OHJ-2156 Analysis of Algorithms We take things a bit further than OHJ-2156 We will assume familiarity
More informationDesign by Contract and JML: concepts and tools
Métodos Formais em Engenharia de Software Design by Contract and JML: concepts and tools José Carlos Bacelar Almeida Departamento de Informática Universidade do Minho MI/MEI 2008/2009 1 Talk Outline Design
More informationOn the correctness of template metaprograms
Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007 Vol 2 pp 301 308 On the correctness of template metaprograms Ádám Sipos, István Zólyomi, Zoltán
More informationPattern-Based Architectural Design Process Model
Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying
More information