skip to main content
10.1145/2554850.2554897acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Translating event-B to JML-specified Java programs

Published: 24 March 2014 Publication History

Abstract

We present a translation from Event-B machines to JML-specified Java class implementations and the EventB2Java Rodin plug-in that automates the translation. Producing JML specifications in addition to Java implementations enables users to write bespoke implementations that can then be checked for correctness using existing JML tools. We have validated the proposed translation by applying the EventB-2Java tool to various programs and systems.

References

[1]
J.-R. Abrial. Sequential program development: Teaching resources. http://deploy-eprints.ecs.soton.ac.uk/122/1/sld.ch15\%2Cseq.pdf, 2009.
[2]
J.-R. Abrial. Modeling in Event-B: System and Software Design. Cambridge University Press, New York, NY, USA, 2010.
[3]
J.-R. Abrial, M. Butler, S. Hallerstede, T. Son Hoang, F. Mehta, and L. Voisin. Rodin: an open toolset for modelling and reasoning in Event-B. Software Tools for Technology Transfer, 12(6): 447--466, 2010.
[4]
J.-R. Abrial and S. Hallerstede. Refinement, decomposition and instantiation of discrete models: Application to Event-B. Fundamentae Informatica, 77(1, 2): 1--24, 2007.
[5]
C. Breunesse, N. Cataño, M. Huisman, and B. Jacobs. Formal methods for smart cards: An experience report. Science of Computer Programming, 55(1--3): 53--80, March 2005.
[6]
M. Butler. Decomposition structures for event-b. In Proceedings of the 7th International Conference on IFM, IFM '09, pages 20--38, Berlin, Heidelberg, 2009. Springer-Verlag.
[7]
N. Cataño, C. Rueda, and T. Wahls. A Machine-Checked Proof for a Translation of Event-B Machines to JML. ArXiv e-prints, September 2013.
[8]
N. Cataño and M. Huisman. Chase: A static checker for JML's assignable clause. In L. Zuck, P. Attie, A. Cortesi, and S. Mukhopadhyay, editors, VMCAI, volume 2575 of LNCS, pages 26--40, New York, NY, USA, January 9--11 2003. Springer-Verlag.
[9]
N. Cataño and C. Rueda. Teaching formal methods for the unconquered territory. In 2nd International FME Conference on TFM, LNCS, The Netherlands, 2009. Springer-Verlag.
[10]
N. Cataño and C. Rueda. Matelas: A predicate calculus common formal definition for social networking. In M. Frappier, editor, Proceedings of ABZ 2010, volume 5977 of LNCS, pages 259--272, Québec, Canada, 2010. Springer Berlin Heidelberg.
[11]
N. Cataño and T. Wahls. Executing JML specifications of Java Card applications: A case study. In 24th ACM SAC, Software Engineering Track, Waikiki Beach, Honolulu, Hawaii, 2009.
[12]
N. Cataño, T. Wahls, C. Rueda, V. Rivera, and D. Yu. Translating B machines to JML specifications. In 27th ACM SAC-SVT, pages 1271, 1277, Trento, Italy, March 26--30 2012.
[13]
D. Cok. OpenJML: JML for Java 7 by extending OpenJDK. In NFM, pages 472--479, Pasadena, California, 2011. Springer-Verlag.
[14]
K. Damchoom. An Incremental Refinement Approach to a Development of a Flash-Based File System in Event-B. PhD thesis, University of Southampton, 2010.
[15]
A. Edmunds and M. Butler. Tool support for Event-B code generation. In WS-TBFM2010, Québec, Canada, 2010. John Wiley and Sons.
[16]
A. Edmunds and M. Butler. Tasking Event-B: An extension to Event-B for generating concurrent code. In PLACES, Saarbrucken, Germany, 2011. Springer.
[17]
A. Edmunds and A. Rezazedah. Development of a Heating Controller System, 2011. Available at http://wiki.eventb.org/index.php/Development_of_a_Heating_Controller_System.
[18]
Google Inc. The Android Platform. http://developer.android.com/design/index.html, 2012.
[19]
B. Krause and T. Wahls. jmle: A tool for executing JML specifications via constraint programming. In Proceedings of FMICS, volume 4346 of LNCS, Bonn, Germany, 2006. Springer-Verlag.
[20]
L. Lamport. A new solution of Dijkstra's concurrent programming problem. Commun. ACM, 17(8): 453--455, August 1974.
[21]
G. T. Leavens, A. L. Baker, and C. Ruby. Preliminary design of JML: A behavioral interface specification language for Java. ACM SIGSOFT, 31(3): 1--38, 2006.
[22]
R. Mejer. Professional Android 4 Application Development. Wrox, Indiana, USA, 2012.
[23]
D. Méry and N. K. Singh. Automatic code generation from Event-B models. In Proceedings of the Second SoICT, SoICT '11, Hanoi, Vietnam, 2011. ACM.
[24]
S. Ostroumov and L. Tsiopoulos. Vhdl code generation from formal event-b models. In Proceedings of the 2011 14th Euromicro DSD, DSD '11, pages 127--134, Washington, DC, USA, 2011. IEEE Computer Society.
[25]
V. Rivera and N. Cataño. The Social-Event Planner, 2012. Available at http://poporo.uma.pt/Projects/favas/Social-Event_Planner.html.
[26]
State-Machines and Code Generation, 2013. Available at http://wiki.event-b.org/index.php/State-Machines_and_Code_Generation.
[27]
S. Wright. Automatic generation of C from Event-B. In Workshop on IM_FMT, Nantes, France, 2009. Springer-Verlag.

Cited By

View all
  • (2021)Integrating Formal Verification and Assurance: An Inspection Rover Case StudyNASA Formal Methods10.1007/978-3-030-76384-8_4(53-71)Online publication date: 19-May-2021
  • (2021)A formal approach to rigorous development of critical systemsJournal of Software: Evolution and Process10.1002/smr.233433:4Online publication date: 1-Apr-2021
  • (2019)Towards Static Verification of Clojure Contract-Based ProgramsSoftware Technology: Methods and Tools10.1007/978-3-030-29852-4_5(73-80)Online publication date: 8-Oct-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '14: Proceedings of the 29th Annual ACM Symposium on Applied Computing
March 2014
1890 pages
ISBN:9781450324694
DOI:10.1145/2554850
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 March 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. EventB2Java
  2. JML
  3. automated translation
  4. combined formal methods
  5. event-B
  6. refinement calculus
  7. rodin

Qualifiers

  • Research-article

Conference

SAC 2014
Sponsor:
SAC 2014: Symposium on Applied Computing
March 24 - 28, 2014
Gyeongju, Republic of Korea

Acceptance Rates

SAC '14 Paper Acceptance Rate 218 of 939 submissions, 23%;
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Integrating Formal Verification and Assurance: An Inspection Rover Case StudyNASA Formal Methods10.1007/978-3-030-76384-8_4(53-71)Online publication date: 19-May-2021
  • (2021)A formal approach to rigorous development of critical systemsJournal of Software: Evolution and Process10.1002/smr.233433:4Online publication date: 1-Apr-2021
  • (2019)Towards Static Verification of Clojure Contract-Based ProgramsSoftware Technology: Methods and Tools10.1007/978-3-030-29852-4_5(73-80)Online publication date: 8-Oct-2019
  • (2019)Mapping Event-B Machines into Eiffel Programming LanguageProceedings of 6th International Conference in Software Engineering for Defence Applications10.1007/978-3-030-14687-0_23(255-264)Online publication date: 19-Mar-2019
  • (2018)Translation from Event-B into EiffelModeling and Analysis of Information Systems10.18255/1818-1015-2018-6-623-63625:6(623-636)Online publication date: 19-Dec-2018
  • (2018)Initial Steps Towards Assessing the Usability of a Verification ToolProceedings of 5th International Conference in Software Engineering for Defence Applications10.1007/978-3-319-70578-1_4(31-40)Online publication date: 4-Jan-2018
  • (2018)Evaluating the suitability of state‐based formal methods for industrial deploymentSoftware: Practice and Experience10.1002/spe.263448:12(2350-2379)Online publication date: 13-Sep-2018
  • (2017)Code generation for Event-BInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-015-0381-219:1(31-52)Online publication date: 1-Feb-2017
  • (2016)Undertaking the tokeneer challenge in event-bProceedings of the 4th FME Workshop on Formal Methods in Software Engineering10.1145/2897667.2897671(8-14)Online publication date: 14-May-2016
  • (2016)MedicationChecker: Development of a Formally Verified Android Application with EventB2SQL2016 IEEE International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS.2016.42(307-314)Online publication date: Aug-2016
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media