Design of a translation tool from OCL into JML by translating the iterate feature into Java methods [10, 11]
|
|
- Lynette Mosley
- 5 years ago
- Views:
Transcription
1 OCL JML Design of a translation tool from OCL into JML by translating the iterate feature into Java methods Summary. The paper presents design of a translation library from OCL (Object Constraint Language) into JML (Java Modelling Language). Several approaches have proposed automatic generation methods of Java skeleton files from UML class diagrams. Some of them are publicized as plug-ins for Eclipse. On the other hand, less papers are found for automatic generation of JML from OCL. They deal with not all of the standard OCL library. Especially, some features of collections including iterate feature are not implemented. We resolve the problem by translating the iterate feature into Java methods. This paper also provides a concrete translation algorithm. The advantages of the proposed approach are as follows: 1. it helps to develop in Model Driven Development (MDD) with formal approach; 2. it conforms to test first which is often used in agile development, because designers can generate test cases using Java skeleton files with JML using JML standard tools; and 3. it helps to verify correctness of the program using model checking tools such as ESC/Java2. 1 UML MDA OMG OCL OCL UML OMG UML [10, 11] OCL UML Java OCL JML (Java Modeling Language) [7,8] JML OCL DbC (Design by Contract) (light-weight formal approach) OCL JML UML Java [19,20] EMF Eclipse [12] OCL JML Moiseev Russo [5] OCL JML Hamie [6] OCL JML Masayuki Owashi, Kozo Okano, Shinji Kusumoto,
2 FOSE2009 Collection iterate Eclipse OCL OCL JML OCL OCL [2] OMG 1 OCL UML OCL UML Design by Constract [9] 2.2 JML JML [4, 7, 8] Java Design by Constract [9] Java Java JML Java bool JML ensure, requrire, invariat signal, pure, assignable, assert JML Java JML Java ESC/Java2 [1] ( ) ESC/Java2 ESC/Java2 Simplify [3] 2.3 UML JML Engels [19] Harrison [20] UML OCL Moiseev Russo [5] OCL JML Hamie [6] OCL JML Collection iterate [6] ( 1) Collection Java UML OCL OCL
3 Design of a translation tool from OCL into JML by translating the iterate feature into Java methods 1 Feature Moiseev Russo Hamie Collection - Iterate (forall etc) Iterate (collect) - Iterate (iterate) - - Structures (Set etc) Structures (tuple) - OCL Spec. but partially Message OCL JML [6] JML 3.1 OCL 1. OCL Basic Collection OCL Essential 2. ( ) ( ) Bool, Integer, Real, String, Collection, Set, OrderedSet, Sequence, Bag Java(JML) ( ) 3. OCL 4. Message message 5. OclVoid Undefined Java(JML) null OCL OCL OCL OCL JML Collection OCL (feature call) iterate OCL Collection Java Collection Framework Java 1.5 ESC/Java [6] [6] OCL JML µ
4 FOSE µ Collection loop features µ(c 1 >exists(a 1 a 2 )) = µ(c 1 >iterate( a 1 ; res : Boolean = false res or a 2 )) µ(c 1 >forall(a 1 a 2 )) = µ(c 1 >iterate( a 1 ; res : Boolean = true res and a 2 )) µ(c 1 >isunique(a 1 a 2 )) = µ(c 1 >collect( a 1 Tuple {iter=tuple{a 1 }, value=a 2 } ) > forall(x, y (x.iter <> y.iter) implies x.value <> y.value) µ(c 1 >any(a 1 a 2 )) = µ(c 1 >select( a 1 a 2 ) >assequence() >first()) µ(c 1 >one(a 1 a 2 )) = µ(c 1 >select( a 1 a 2 ) >size()=1) µ(c 1 >collect(a 1 a 2 )) = µ(c 1 >collectnested( a 1 a 2 ) >flatten()) 3 µ Collection loop features Set µ(st 1 >select(a 1 a 2 )) = µ(st 1 >iterate( a 1 ; res : Set(T ) = Set {} if a 2 then res >includeing (a 1 ) else res endif)) µ(st 1 >reject(a 1 a 2 )) = µ(st 1 >select( a 1 not a 2 )) µ(st 1 >collectnested(a 1 a 2 )) = µ(st 1 >iterate( a 1 ; res : Bag(a 2.type)= Bag{} res >including(a 2 ))) µ(st 1 >sortedby(a 1 a 2 )) = µ(st 1 >iterate( a 1 ; res : OrderedSet(T )= OrderedSet{} if res >isempty() then res.append(a 1 ) else res.insertat(res >indexof( res >select(i a 2 (i) > a 2 (a 1 ) >first())),a 1 ) endif )) [6] µ µ Iterate Bool, Integer, Real, String, Collection, Set, OrederedSet, Sequence, Bag b m, i m, r m, s m, c m, st m, os m, sq m, bg m, u m (m = 1, 2, 3,...) a m Set 3 feature iterate collectnested() OCL featurecall [exp] UML OCL JML \old OCL primaryexp primaryexp literalcollection literal, (expression), ifexp, letexp, tupleexp if ifexp OCL JML Java Java cond?exp1:exp2 literalcollection 4 let OCL literalcollection Collection
5 Design of a translation tool from OCL into JML by translating the iterate feature into Java methods 4 µ Primary Expression µ(a 1 ) = a 1 µ(if b 1 then a 1 else a 2 endif) = (µ(b 1 )?µ(a 1 ):µ(a 2 )) µ((a 1 )) = (µ(a 1 )) 5 µ Primary Expression µ(collection {a 1 }) = (new ArrayList({µ e (a 1 )})) µ e (a 1, a 2 ) = µ(a 1 ), µ e (a 2 ) µ e (a 1 ) = µ(a 1 ) µ e (i 1..i 2 ) = seq(µ(i 1 ), µ(i 2 )) 6 µ(enum {a 1 }) = Enumn µ enumeration seq(i,j) i j Set OrderedSet Bag Sequence Collection OCL enumeratatype enum Java 1.5 enum enum OCL enum Enum{ kind, name } Java enum Enum01 { kind, name } enum Enumn ( 6) 1.4 String Set OCL ::. JML OclType JML Class 3.3 tuple tuple Java OCL tuple tuple Java field OCL tuple Java Tuple{name(: String), id= i } public final class Tuple_01 { public static String name; public static String id = "i023454" } 3.4 iterate iterate naive iterate feature OCL L L ( ) [17] JML Java OCL
6 FOSE2009 iterate feature OCL iteration m µ iterate feature OCL m OCL Java (JML ) m m body m JML Java private Java 1.5 for-each iterate feature for-each JML m 2 µ OCL OCL iterate feature (s) navigation (t) t s > OCL t t JML Context[] iterate feature init res for-each res Context[µ(a 1 >iterate(e; init body))] init T 2 res iterate res, JML private T 2 mprivateuseforjml01() { µ(init); for (T e: µ(a 1 )){ res = µ(body)} return res; } Context[mPrivateUseForJML01()] 2 Context[µ(a 1 >iterate(e; body))] a 1 T 2 JML private T 2 mprivateuseforjml01() { µ(init); for (T e: µ(a 1 )){ µ(body)} return µ(a 1 ); } Context[mPrivateUseForJML01()] [21] Java 1.4 for Iterator
7 Design of a translation tool from OCL into JML by translating the iterate feature into Java methods 1 Tool implementation as Eclipse plugin 3.5 OCL OCL Collection Java CF OCL OCL Java CF JML [16] OCL Java CF JML JML sum,includes Java CF size(), isempty(), notempty(), union(), intersection(), including(), excluding() ( ), as OrderedSet loop feature OCL interate Iteration Java 3.6 ( ) OCL Octopus tool [13], EMF OCL OCL OCL (ABST; Abstract Syntax Tree) ABST NTS: OCL Type: NodeList: token:,feature, token tokentype: token OCL SML 1 + a Integer a Integer if a > 0 then a + b else a endif OCL a, b Integer Real
8 FOSE Signatures of TranslationCore public static JMLNode transexpression(oclnode n); static JMLNode translogicalexp(oclnode n); static JMLNode transrelationalexp(oclnode n); static JMLNode transpostfixexp(oclnode n); static JMLNode transprimaryexp(oclnode n); static JMLNode transfeaturecallexp(oclnode n); OCL SML [15] JML ( ) signature OCL JML OCLNode, JMLNode( ) µ UML OCL UML 7 signature UML UML Java EclipseUML UML UML OCL UML 1 Eclpse IVE [18] JML4 [18] OCL UML OCL OCL UML Java OCL Java OCL UML JML Java JML Java JML ESC/Java2
9 Design of a translation tool from OCL into JML by translating the iterate feature into Java methods Eclipse 4 JML Java UML JML Java JML ESC/Java2 JML OCL 3.1 5
10 FOSE2009 OCL JML(Java Modeling Language) OCL JML [ 1 ] L. Burdy, Y. Cheon, D. R. Cok, M. Ernst, J. Kiniry, G. T. Leavens, K. R. M. Leino, and E. Poll: An overview of JML tools and applications, In T. Arts and W. Fokkink, editors, Eighth International Workshop on Formal Methods for Industrial Critical Systems (FMICS 03), Electronic Notes in Theoretical Computer Science, Vol.80, pp.73 89, [ 2 ] Object Management Group: OCL 2.0 Specification, [ 3 ] D. Detlefs: Simplify : A Theorem Prover for Program Checking, JACM, Vol.52 No.3, pp , [ 4 ] D. R. Cok: Specifying java iterators with JML and Esc/Java2, In Proceedings of the 2006 conference on Specification and verification of component-based systems pp.71 74, [ 5 ] R. Moiseev and A. Russo: Implementing an OCL to JML Translation Tool,, Vol.106, No.426, pp.13 17, 2006 [ 6 ] A. Hamie: Translating the Object Constraint Language into the Java Modelling Language, In Proceedings of the 2004 ACM symposium on Applied computing, pp , [ 7 ] G. Leavens, A. Baker, and C. Ruby: JML: A notation for detailed design, In Behavioral Specifications of Businesses and Systems (H. Kilov, B. Rumpe, and I.Simmonds, editors), pp , Kluwer Academic Publishers, Boston, [ 8 ] G. Leavens, A. Baker, and C. Ruby: Preliminary Design of JML: A Behavioral Interface Specification Language for Java, TR98-06, revised version [ 9 ] B. Meyer: Eiffel: the language, Prentice-Hall, Inc., Upper Saddle River, NJ, [10] M. Elaasar, and L.C. Briand: An Overview of UML Consistency Management, Technical Report SCE-04-18, Carleton University, [ 11] C. Lange, M.R.V. Chaudron, J. Muskens, L.J. Somers, and H.M. Dortmans: An Empirical Investigation in Quantifying Inconsistency and Incompleteness of UML Designs, In Proceedings of Workshop on Consistency Problems in UML-based Software Development II, pp.26 34, [ 12] Eclipse Foundation: Eclipse Modeling Framework, [ 13] K. Objecten: Octopus (OCL Tool for Precise UML Specifications), [ 14] J. Warner, and A. Kleppe: The Object Constraint Language Getting Your Models Ready for MDA, 2nd Ed. Pearson Education Inc., [ 15] B.C. Pierce: Types and Programming Languages, MIT press, [ 16] Samples of JML specifications leavens/jml/examples.shtml [ 17] M. Fowler: MF Bliki: Closure [ 18] P. Chalin, P. R. James, and G. Karabotsos: JML4: Towards an Industrial Grade IVE for Java and Next Generation Research Platform for JML, Proceedings of the International Conference on Verified Software: Theories, Tools, Experiments (VSTTE),2008 [ 19] G. Engels, R. Hücking, S. Sauer, A. Wagner: UML Collaboration Diagrams and Their Transformation to Java, UML1999 -Beyond the Standard, Second International Conference, pp , [ 20] W. Harrison, C. Barton, M. Raghavachari: Mapping UML designs to Java, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp , [21],, : iterate, m-owasi/ocljmltrans.pdf
JML OCL. Java. iterate
1 OCL JML OCL (Object Constraint Language) JML (Java Modelling Language) UML/OCL JML Java OCL JML iterate iterate Java OCL JML The paper presents a translation method from OCL (Object Constraint Language)
More informationImplementation of a Prototype Bi-directional Translation Tool between OCL and JML
Implementation of a Prototype Bi-directional Translation Tool between OCL and JML Kentaro Hanada, Hiroaki Shimba, Kozo Okano and Shinji Kusumoto, Graduate School of Information Science and Technology,
More informationImplementation of a Prototype Bi-directional Translation Tool between OCL and JML
International Journal of Informatics Society, VOL.5, NO.2 (2013) 89-95 89 Implementation of a Prototype Bi-directional Translation Tool between OCL and JML Kentaro Hanada, Hiroaki Shinba, Kozo Okano and
More informationPractical Application of a Translation Tool from UML/OCL to Java Skeleton with JML Annotation
Title Author(s) Practical Application of a Translation Tool from UML/OCL to Java Skeleton with JML Annotation Hanada, Kentaro; Okano, Kozo; Kusumoto, Shinji; Miyazawa, Kiyoyuki Citation Issue Date 2012
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 informationIndex. business modeling syntax 181 business process modeling 57 business rule 40
OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity
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 informationA Library-Based Approach to Translating OCL Constraints to JML Assertions for Runtime Checking
A Library-Based Approach to Translating OCL Constraints to JML Assertions for Runtime Checking Carmen Avila, Guillermo Flores, Jr., and Yoonsik Cheon TR #08-05 February 2008; revised May 2008 Keywords:
More informationUnified Modeling Language 2
Unified Modeling Language 2 Profiles 166 Usage scenarios Metamodel customization for adapting terminology to a specific platform or domain adding (visual) notation adding and specializing semantics adding
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 informationTIME-BASED CONSTRAINTS IN THE OBJECT CONSTRAINT LANGUAGE OCL
TIME-BASED CONSTRAINTS IN THE OBJECT CONSTRAINT LANGUAGE OCL Ali Hamie, John Howse School of Computing, Mathematical and Information Sciences, University of Brighton, Brighton, UK. {a.a.hamie@brighton.ac.uk,
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 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 informationSoftware Engineering
Software Engineering Lecture 15: OCL Peter Thiemann University of Freiburg, Germany 01.07.2013 Peter Thiemann (Univ. Freiburg) Software Engineering 01.07.2013 1 / 28 What is OCL? OCL = Object Constraint
More informationObject Oriented Program Correctness with OOSimL
Kennesaw State University DigitalCommons@Kennesaw State University Faculty Publications 12-2009 Object Oriented Program Correctness with OOSimL José M. Garrido Kennesaw State University, jgarrido@kennesaw.edu
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 informationAppendix A OCL 2.0 Grammar
Appendix A OCL 2.0 Grammar In this appendix we summarise the concrete syntax of OCL [113] using an extended Backus-Naur format [8]. The grammar in [113] is different from the grammar presented here. It
More informationResearch Paper on Implementation of OCL Constraints in JAVA
ISSN No. 0976-5697 Volume 8, No. 5, May June 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at www.ijarcs.info Research Paper on Implementation of OCL
More informationFormal Specification and Verification
Formal Specification and Verification Formal Specification, Part III Bernhard Beckert Adaptation of slides by Wolfgang Ahrendt Chalmers University, Gothenburg, Sweden Formal Specification and Verification:
More informationSpecification with OCL
Specification with OCL Jurriaan Hage Slides adapted from Birgit Demuth, TU Dresden e-mail: jur@cs.uu.nl homepage: http://www.cs.uu.nl/people/jur/ Department of Information and Computing Sciences, Universiteit
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 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 informationSpecification and Verification of Garbage Collector by Java Modeling Language
Specification and Verification of Garbage Collector by Java Modeling Language Wenhui Sun, Yuting Sun, Zhifei Zhang Department of Computer Science and Technology Beijing Jiaotong University Beijing, China
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 informationAutomatic Generation of Test Models and Properties from UML Models with OCL Constraints
Automatic Generation of Test Models and Properties from UML Models with OCL Constraints Miguel A. Francisco Interoud Innovation S.L. (Spain) miguel.francisco@interoud.com Laura M. Castro MADS Group Dept.
More informationOCL for the Specification of Model Transformation Contracts
OCL for the Specification of Model Transformation Contracts Eric Cariou, Raphaël Marvie, Lionel Seinturier, and Laurence Duchien LIFL - Université des Sciences et Technologies de Lille UMR CNRS 8022 -
More informationFormal Methods for Java
Formal Methods for Java Lecture 6: Introduction to JML Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg May 15, 2017 Jochen Hoenicke (Software Engineering) Formal Methods for Java
More informationThe Java Modeling Language JML
The Java Modeling Language JML Néstor Cataño ncatano@puj.edu.co Faculty of Engineering Pontificia Universidad Javeriana The Java Modelling Language JML p.1/47 Lecture Plan 1. An Introduction to JML 2.
More informationWhat is OCL? OCL/Context
What is? Software Engineering Lecture 5: Prof. Dr. Peter Thiemann Universität Freiburg SS 20 = object constraint language standard query language of UML 2 specify expressions and constraints in object-oriented
More informationHans Karlsen. MDriven The book. Doing effective Business by taking control of Information. Hans Karlsen, Stockholm, Sweden
Hans Karlsen MDriven The book Doing effective Business by taking control of Information Hans Karlsen, Stockholm, Sweden 2016-01-23 Part 8 Object Constraint Language 1 What is Object Constraint Language
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 informationThe University of Bradford Institutional Repository
The University of Bradford Institutional Repository http://bradscholars.brad.ac.uk This work is made available online in accordance with publisher policies. Please refer to the repository record for this
More informationJML. Outline. Métodos Formais em Engenharia de Software. MI, Braga these slides were prepared by adopting/adapting teaching material
Métodos Formais em Engenharia de Software JML José Carlos Bacelar Almeida Departamento de Informática Universidade do Minho MI, Braga 2008 Outline Design by Contract and JML Design by Contract Java Modeling
More informationFormal Methods for Java
Formal Methods for Java Lecture 5: JML and Abstract Data Types Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg November 9, 2011 Jochen Hoenicke (Software Engineering) Formal Methods
More informationVerification of JML Generic Types with Yices
1 Verification of JML Generic Types with Yices Néstor Cataño The University of Madeira, Carnegie Mellon University Portugal ncatano@uma.pt Camilo Rueda Pontificia Universidad Javeriana Colombia crueda@javerianacali.edu.co
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 informationFormal Methods for Software Engineers
Formal Methods for Software Engineers Professor Ray Welland Department of Computing Science University of Glasgow ray@dcs.gla.ac.uk INF3120-FM 1 Overview Motivation Why have formal specifications? Where
More informationMaster Thesis Project Plan. Reusable Mathematical Models
Master Thesis Project Plan Reusable Mathematical Models Tobias K. Widmer widmer@id.ethz.ch Supervisors: Prof. Dr. B. Meyer B. Schoeller Chair of Software Engineering Department of Computer Science, ETH
More informationAssertions & Design-by-Contract using JML Erik Poll University of Nijmegen
Assertions & Design-by-Contract using JML Erik Poll University of Nijmegen Erik Poll - JML p.1/39 Overview Assertions Design-by-Contract for Java using JML Contracts and Inheritance Tools for JML Demo
More informationA Catalog of Bad Smells in Design-by-Contract Methodologies with Java Modeling Language
Regular Paper Journal of Computing Science and Engineering, Vol. 7, No. 4, December 2013, pp. 251-262 A Catalog of Bad Smells in Design-by-Contract Methodologies with Java Modeling Language Thiago Viana*
More informationToward Instant Gradeification
Toward Instant Gradeification Daniel M. Zimmerman, Joseph R. Kiniry and Fintan Fairmichael University of Washington Tacoma, USA dmz@acm.org IT University of Copenhagen, Denmark kiniry@acm.org University
More informationAdvances in Programming Languages
O T Y H Advances in Programming Languages APL8: ESC/Java2 David Aspinall (including slides by Ian Stark and material adapted from ESC/Java2 tutorial by David Cok, Joe Kiniry and Erik Poll) School of Informatics
More informationKarsten Sohr Center for Computing Technologies Universität Bremen, Germany
Towards Formal Specification and Verification of a Role-Based Authorization Engine using JML [Position paper] Tanveer Mustafa Center for Computing Technologies Universität Bremen, Germany tanveer@tzi.de
More informationFormale Entwicklung objektorientierter Software
Formale Entwicklung objektorientierter Software Praktikum im Wintersemester 2008/2009 Prof. P. H. Schmitt Christian Engel, Benjamin Weiß Institut für Theoretische Informatik Universität Karlsruhe 5. November
More informationOCL parsing / type checking in the context of GF and KeY. Kristofer Johannisson
OCL parsing / type checking in the context of GF and KeY Kristofer Johannisson 1 I. Introduction 2 Typechecking? context OwnerPIN inv: maxpinsize > 0 and maxtries > 0 and triesremaining >= 0 and triesremaining
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 informationAdding native specifications to JML
Adding native specifications to JML Julien Charles INRIA Sophia-Antipolis, France Julien.Charles@sophia.inria.fr Abstract. In the specification language JML we can see pure methods as a way to express
More informationLecture 10 Design by Contract
CS 5959 Writing Solid Code Fall 2015 Nov-23 Lecture 10 Design by Contract Zvonimir Rakamarić University of Utah Design by Contract Also called assume-guarantee reasoning Developers annotate software components
More informationAdvances in Programming Languages
T O Y H Advances in Programming Languages APL4: JML The Java Modeling Language David Aspinall (slides originally by Ian Stark) School of Informatics The University of Edinburgh Thursday 21 January 2010
More informationModel-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript
Freiberg University of Mining and Technology The University of Resources. Since 1765. WEB3D 2012-17th International Conference on 3D Web Technology Model-Driven Iterative Development of 3D Web-Applications
More informationRigorous Software Development CSCI-GA
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 6 Disclaimer. These notes are derived from notes originally developed by Jochen Hoenicke. They are copyrighted
More informationIntegration of Java Generics Into The jmle Tool Within The Eclipse IDE
Integration of Java Generics Into The jmle Tool Within The Eclipse IDE by Adrian Kostrubiak Submitted in partial fulfillment of Honors Requirements For the Computer Science Major, Dickinson College, 2008-09.
More informationFormal Verification Technique for Consistency Checking between equals and hashcode Methods in Java
International Journal of Informatics Society, VOL.7, NO.2 (2015 77-87 77 Formal Verification Technique for Consistency Checking between equals and hashcode Methods in Java Kozo Okano, Hiroaki Shimba, Takafumi
More informationOCL Implementing the Standard for Multiple Metamodels
OCL 2.0 - UML 2003 Preliminary Version OCL 2.0 - Implementing the Standard for Multiple Metamodels David Akehurst 1 Computing Laboratory University of Kent Canterbury, UK Octavian Patrascoiu 2 Computing
More informationA Runtime Assertion Checker for the Java Modeling Language ( JML)
Computer Science Technical Reports Computer Science 4-2002 A Runtime Assertion Checker for the Java Modeling Language ( JML) Yoonsik Cheon Iowa State University Gary T. Leavens Iowa State University Follow
More informationMetamodeling. Janos Sztipanovits ISIS, Vanderbilt University
Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages
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 informationATL TRANSFORMATION EXAMPLE
1. ATL Transformation Example 1.1. Example: KM3 Problem The example describes a transformation a KM3 metamodel [1] in a Problem model. The generated Problem model contains the list of non-structural errors
More informationESC/Java2 extended static checking for Java Erik Poll Radboud University Nijmegen
ESC/Java2 extended static checking for Java Erik Poll Radboud University Nijmegen Erik Poll - JML p.1/19 Extended static checker for Java ESC/Java by Rustan Leino et.al. Extension ESC/Java2 by David Cok
More informationCombining Design by Contract and Inference Rules of Programming Logic towards Software Reliability
Combining Design by Contract and Inference Rules of Programming Logic towards Software Reliability Nuha Aldausari*, Cui Zhang and Jun Dai Department of Computer Science, California State University, Sacramento,
More informationStatic analysis and testing of executable DSL specification
Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:
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 informationMetamodeling with Metamodels. Using. UML/MOF including OCL
Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of
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 informationAutomation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1
Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:
More informationA Fitness Function to Find Feasible Sequences of Method Calls for Evolutionary Testing of Object-Oriented Programs
A Fitness Function to Find Feasible Sequences of Method Calls for Evolutionary Testing of Object-Oriented Programs Myoung Yee Kim and Yoonsik Cheon TR #7-57 November 7; revised January Keywords: fitness
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 informationProgramming with Contracts. Juan Pablo Galeotti, Alessandra Gorla Saarland University, Germany
Programming with Contracts Juan Pablo Galeotti, Alessandra Gorla Saarland University, Germany Contract A (formal) agreement between Method M (callee) Callers of M Rights Responsabilities Rights Responsabilities
More informationOverview The Java Modeling Language (Part 1) Related Work
Overview The Java Modeling Language (Part 1) Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at
More informationESC/Java2 Use and Features
ESC/Java2 Use and Features David Cok, Joe Kiniry, Erik Poll Eastman Kodak Company, University College Dublin, and Radboud University Nijmegen David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial
More informationESC/Java2 Use and Features
ESC/Java2 Use and Features The ESC/Java2 tool David Cok, Joe Kiniry, Erik Poll Eastman Kodak Company, University College Dublin, and Radboud University Nijmegen David Cok, Joe Kiniry & Erik Poll - ESC/Java2
More informationQVT: Query, Views, Transformations
QVT: Query, Views, Transformations Rubby Casallas Grupo de Construcción de Software Uniandes Basics Transformations are essential for the MDE A model transformation: takes as input a model conforming to
More informationNew Metrics for Program Specifications Based on DbC
International Journal of Informatics Society, VOL.6, NO.2 (2014) 67-77 67 New Metrics for Program Specifications Based on DbC Kozo Okano, Yuko Muto, Yukihiro Sasaki, Takafumi Ohta, Shinji Kusumoto, and
More informationSLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language]
Lecture day 2016-04-07 SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language] - System design in an object-oriented way employing USE
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 informationTesting Library Specifications by Verifying Conformance Tests
Testing Library Specifications by Verifying Conformance Tests Joseph R. Kiniry, Daniel M. Zimmerman, Ralph Hyland ITU Copenhagen, UW Tacoma, UCD Dublin 6th International Conference on Tests & Proofs Prague,
More informationIntegrating verification in programming languages
Integrating verification in programming languages Thomas Jensen, INRIA Seminar INRIA Rennes, 04/11/2015 Collège de France Chaire Algorithmes, machines et langages x / y Types For division to make sense,
More informationFull Verification of the KOA Tally System
Final Year Project Final Report A thesis submitted in part fulfilment of the degree of BSc. (Hons.) in Computer Science with the supervision of Dr. Joseph Kiniry and moderated by Mr. John Dunnion. Department
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 informationAn Aspect-Oriented Approach to Modular Behavioral Specification
Electronic Notes in Theoretical Computer Science 163 (2006) 45 56 www.elsevier.com/locate/entcs An Aspect-Oriented Approach to Modular Behavioral Specification Kiyoshi Yamada 1 Research Center for Information
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 informationAdvances in Programming Languages
T O Y H Advances in Programming Languages APL14: Practical tools for Java Correctness David Aspinall (slides originally by Ian Stark) School of Informatics The University of Edinburgh Friday 12 November
More informationModel Variables: Cleanly Supporting Abstraction in Design By Contract
SOFTWARE PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2004; 00:1 18 [Version: 2002/09/23 v2.2] Model Variables: Cleanly Supporting Abstraction in Design By Contract Yoonsik Cheon 1,,, Gary Leavens 2, Murali
More informationRubby Casallas Grupo de Construcción de Software Uniandes
UML OCL 2.0 Rubby Casallas Grupo de Construcción de Software Uniandes Why OCL? A UML diagram, such as a class diagram, is typically not refined enough to provide all the relevant aspects of a specification.
More informationDesign and Implementation of a UML/OCL Compiler
Design and Implementation of a UML/OCL Compiler Faridah Liduan Master Thesis INF/SCR-04/31 June 2004 Institute of Information and Computing Sciences Utrecht University Abstract The Dutch Tax and Customs
More informationThe syntax of the OUN language
The syntax of the OUN language Olaf Owe Department of Informatics, University of Oslo, Norway February 21, 2002 Contents 1 The OUN language 1 1.1 Interface and contract definition.................. 2 1.2
More informationHomework #1, on the class web pages later today
Assertions Reading assignment A. J. Offutt, A Practical System for Mutation Testing: Help for the Common Programmer, Proceedings of the 12th International Conference on Testing Computer Software, Washington,
More informationESC/Java2 Use and Features David Cok, Joe Kiniry, Erik Poll Eastman Kodak Company, University College Dublin, and Radboud University Nijmegen
ESC/Java2 Use and Features David Cok, Joe Kiniry, Erik Poll Eastman Kodak Company, University College Dublin, and Radboud University Nijmegen David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial
More informationResearch 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 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 informationSpecification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008
SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 4: Mutations, OCL etc. Course Outline L1:
More informationATL: Atlas Transformation Language. ATL User Manual
ATL: Atlas Transformation Language ATL User Manual - version 0.7 - February 2006 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 An Introduction to Model Transformation... 2 2.1 The Model-Driven
More informationAdvances in Programming Languages
Advances in Programming Languages Lecture 12: Practical Tools for Java Correctness Ian Stark School of Informatics The University of Edinburgh Friday 31 November 2014 Semester 1 Week 7 http://www.inf.ed.ac.uk/teaching/courses/apl
More informationOCL Tooling for OMG specifications
OCL Tooling for OMG specifications Edward Willink Thales representative for OMG OCL RTF Eclipse OCL Project Lead Thales representative for OMG QVT RTF Eclipse QVT Declarative Project Lead OMG Quarterly
More informationFormal Verification Technique for Consistency Checking between equals and hashcode methods in Java
Formal Verification Technique for Consistency Checking between equals and hashcode methods in Java Hiroaki Shimba, Takafumi Ohta, Hiroki Onoue, Kozo Okano and Shinji Kusumoto Graduate School of Information
More informationJava Modelling Language (JML) References
Java Modelling Language (JML) References www.jmlspecs.org G. T. Leavens and Y. Cheon, Design by Contract with JML, August 2005. C. Marché, C. Paulin-Mohring, and X. Urbain, The Krakatoa Tool for Cerification
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 informationESC/Java extended static checking for Java Erik Poll, Joe Kiniry, David Cok University of Nijmegen; Eastman Kodak Company
ESC/Java extended static checking for Java Erik Poll, Joe Kiniry, David Cok University of Nijmegen; Eastman Kodak Company Erik Poll - JML p.1/?? ESC/Java Extended static checker by Rustan Leino et.al.
More informationUNIT-II Introduction to UML
UNIT-II Introduction to UML - P. P. Mahale UML OVERVIEW OF UML :- We need a Modeling Language! We will use the Unified Modeling Language, UML), Provides a standard for artifacts produced during development
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 information