Specifying the Java Collections Framework in JavaDL
- cand. inform. Denis Lohner
Institut f¨ ur Theoretische Informatik - Universit¨ at Karlsruhe
6th KeY Symposium, 2007 Betreuer: Dipl.Inform. R. Bubel
- verantw. Betreuer: Prof. Dr. P. H. Schmitt
Specifying the Java Collections Framework in JavaDL cand. inform. - - PowerPoint PPT Presentation
Specifying the Java Collections Framework in JavaDL cand. inform. Denis Lohner Institut f ur Theoretische Informatik - Universit at Karlsruhe 6th KeY Symposium, 2007 Betreuer: Dipl.Inform. R. Bubel verantw. Betreuer: Prof. Dr. P. H.
Institut f¨ ur Theoretische Informatik - Universit¨ at Karlsruhe
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
3
4
5
6
7
Denis Lohner Specifying the JCF 2/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
3
4
5
6
7
Denis Lohner Specifying the JCF 2/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
3
4
5
6
7
Denis Lohner Specifying the JCF 2/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
3
4
5
6
7
Denis Lohner Specifying the JCF 2/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
3
4
5
6
7
Denis Lohner Specifying the JCF 2/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
3
4
5
6
7
Denis Lohner Specifying the JCF 2/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
3
4
5
6
7
Denis Lohner Specifying the JCF 2/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
Denis Lohner Specifying the JCF 3/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
Denis Lohner Specifying the JCF 3/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
Denis Lohner Specifying the JCF 3/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
Denis Lohner Specifying the JCF 3/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
1
2
Denis Lohner Specifying the JCF 3/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 4/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 4/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 4/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 4/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 4/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 4/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 4/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 5/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 5/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 5/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 5/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 5/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
Denis Lohner Specifying the JCF 5/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
i Exci::instance(exc) = TRUE ) &
i( !ψExci -> Exci::instance(exc) = FALSE ) &
i( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 6/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
i Exci::instance(exc) = TRUE ) &
i( !ψExci -> Exci::instance(exc) = FALSE ) &
i( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 6/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
i Exci::instance(exc) = TRUE ) &
i( !ψExci -> Exci::instance(exc) = FALSE ) &
i( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 6/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
i Exci::instance(exc) = TRUE ) &
i( !ψExci -> Exci::instance(exc) = FALSE ) &
i( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 6/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
i Exci::instance(exc) = TRUE ) &
i( !ψExci -> Exci::instance(exc) = FALSE ) &
i( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 6/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
i Exci::instance(exc) = TRUE ) &
i( !ψExci -> Exci::instance(exc) = FALSE ) &
i( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 6/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
i Exci::instance(exc) = TRUE ) &
i( !ψExci -> Exci::instance(exc) = FALSE ) &
i( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 6/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Normal Case Exceptional Case General Concept
i Exci::instance(exc) = TRUE ) &
i( !ψExci -> Exci::instance(exc) = FALSE ) &
i( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 6/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
Denis Lohner Specifying the JCF 7/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
Denis Lohner Specifying the JCF 7/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
Denis Lohner Specifying the JCF 8/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
Denis Lohner Specifying the JCF 8/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
Denis Lohner Specifying the JCF 8/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
Denis Lohner Specifying the JCF 8/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
1
2
Denis Lohner Specifying the JCF 9/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
1
2
Denis Lohner Specifying the JCF 9/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
1
2
Denis Lohner Specifying the JCF 9/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
1
2
Denis Lohner Specifying the JCF 9/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
1
2
Denis Lohner Specifying the JCF 9/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Model functions Problems
1
2
Denis Lohner Specifying the JCF 9/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 10/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 10/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 11/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 11/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 11/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 12/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 12/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 12/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 12/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 13/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 13/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix Behavioral subtyping Problems
Denis Lohner Specifying the JCF 13/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
Denis Lohner Specifying the JCF 14/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
Denis Lohner Specifying the JCF 14/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
Denis Lohner Specifying the JCF 14/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
Denis Lohner Specifying the JCF 14/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
k<i≤n !ψExci
1≤i≤k Exci::instance(exc) = TRUE ) &
1≤i≤k( !ψExci -> Exci::instance(exc) = FALSE ) &
1≤i≤k( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 15/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
k<i≤n !ψExci
1≤i≤k Exci::instance(exc) = TRUE ) &
1≤i≤k( !ψExci -> Exci::instance(exc) = FALSE ) &
1≤i≤k( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 15/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
k<i≤n !ψExci
1≤i≤k Exci::instance(exc) = TRUE ) &
1≤i≤k( !ψExci -> Exci::instance(exc) = FALSE ) &
1≤i≤k( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 15/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
k<i≤n !ψExci
1≤i≤k Exci::instance(exc) = TRUE ) &
1≤i≤k( !ψExci -> Exci::instance(exc) = FALSE ) &
1≤i≤k( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 15/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
k<i≤n !ψExci
1≤i≤k Exci::instance(exc) = TRUE ) &
1≤i≤k( !ψExci -> Exci::instance(exc) = FALSE ) &
1≤i≤k( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 15/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
k<i≤n !ψExci
1≤i≤k Exci::instance(exc) = TRUE ) &
1≤i≤k( !ψExci -> Exci::instance(exc) = FALSE ) &
1≤i≤k( Exci::instance(exc) = TRUE -> φExci )
Denis Lohner Specifying the JCF 15/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
Denis Lohner Specifying the JCF 16/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
Denis Lohner Specifying the JCF 17/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
Denis Lohner Specifying the JCF 17/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
Denis Lohner Specifying the JCF 17/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
Denis Lohner Specifying the JCF 19/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
implements implements
Denis Lohner Specifying the JCF 20/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
implements implements
Denis Lohner Specifying the JCF 20/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
implements implements
Denis Lohner Specifying the JCF 20/20
Motivation Specification Interfaces Using specs Method contract rule Conclusion Appendix
implements implements
Denis Lohner Specifying the JCF 20/20