Practical Application of a Translation Tool from UML/OCL to Java Skeleton with JML Annotation

Kentaro Hanada, Kozo Okano, Shinji Kusumoto, Kiyoyuki Miyazawa

Abstract

In recent years, MDA techniques have been strongly developed. Thus, translation techniques such as UML to some program languages have gained a lot of attention. Translation techniques such as OCL to JML have been also researched. OCL is a language to describe detail properties of UML and standardized by OMG, while, JML is a language to specify properties of Java program. Both OCL and JML are based on DbC and able to provide properties of classes or methods. There are, however, not many researches on translating automatically OCL into JML and past researches often pay little attention to collection features, especially iteration. Our research group has proposed a concrete method which translates UML class diagram with OCL into Java skeleton with JML. This paper presents an implementation tool based on the technique. To evaluate the quality of the tool, we applied the tool to two real examples, a warehouse management program and a syllabus management system. As a result, we found that every OCL constraint described manually was translated successfully into JML. Also, we found some defects existed in the design of a syllabus management system.

References

  1. Atos Origin TOPCASED Team (2006). Java to UML. http://gforge.enseeiht.fr/projects/java2uml/.
  2. Avila, C., Flores, Jr., G., and Cheon, Y. (2008). A LibraryBased Approach to Translating OCL Constraints to JML Assersions for Runtime Checking. In International Conference on Softw. Eng. Research and Practice, pages 403-408.
  3. Eclipse Foundation (2012a). Papyrus http://www.eclipse.org/modeling/mdt/papyrus/.
  4. Eclipse Foundation (2012b). Xtext - Language Development Framework. http://www.eclipse.org/Xtext/.
  5. Hamie, A. (2004). Translating the Object Constraint Language into the Modeling Language. In In Proc. of the 2004 ACM symposium on Applied computing, pages 1531-1535.
  6. Kleppe, A., Warmer, J., and Bast, W. (2003). MDA explained: the model driven architecture: practice and promise. Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA.
  7. Leavens, G., Baker, A., and Ruby, C. (1999). JML: A Notation for Detailed Design. Behavioral Specifications of Businesses and Systems, pages 175-188.
  8. Meyer, B. (1992). Eiffel: the language. Prentice-Hall, Inc., Upper Saddle River, NJ.
  9. Ministry of Education, Culture, Sports, Science and Technology (2010). IT Spiral. http://it-spiral.ist.osakau.ac.jp/.
  10. Object Management Group (2006). Ocl 2.0 specification. http://www.omg.org/cgi-bin/apps/doc?formal/06-05- 01.pdf.
  11. Owashi, M., Okano, K., and Kusumoto, S. (2008). Design of Warehouse Management Program in JML and Its Verification with Esc/Java2 (in Japanese). The IEICE Transaction on Information and Systems, 91(11):2719-2720.
  12. Owashi, M., Okano, K., and Kusumoto, S. (2010). A Translation Method from OCL into JML by Translating the Iterate Feature into Java Methods (in Japanese). Computer Software, 27:106-111.
  13. Parr, T. (2007). The Definitive ANTLR Reference: Building Domain-Specific Language. Pragmatic Bookshelf.
  14. Rodion, M. and Alessandra, R. (2006). Implementing an OCL to JML translation tool. In In IEICE Technical Report, volume 106, pages 13-17.
  15. Sarcar, A. and Cheon, Y. (2010). A new Eclipse-based JML compiler built using AST merging. Department of Computer Science, The University of Texas at El Paso, Tech. Rep.
Download


Paper Citation


in Harvard Style

Hanada K., Okano K., Kusumoto S. and Miyazawa K. (2012). Practical Application of a Translation Tool from UML/OCL to Java Skeleton with JML Annotation . In Proceedings of the 14th International Conference on Enterprise Information Systems - Volume 2: MDDIS, (ICEIS 2012) ISBN 978-989-8565-11-2, pages 389-394. DOI: 10.5220/0004151403890394


in Bibtex Style

@conference{mddis12,
author={Kentaro Hanada and Kozo Okano and Shinji Kusumoto and Kiyoyuki Miyazawa},
title={Practical Application of a Translation Tool from UML/OCL to Java Skeleton with JML Annotation},
booktitle={Proceedings of the 14th International Conference on Enterprise Information Systems - Volume 2: MDDIS, (ICEIS 2012)},
year={2012},
pages={389-394},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004151403890394},
isbn={978-989-8565-11-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 14th International Conference on Enterprise Information Systems - Volume 2: MDDIS, (ICEIS 2012)
TI - Practical Application of a Translation Tool from UML/OCL to Java Skeleton with JML Annotation
SN - 978-989-8565-11-2
AU - Hanada K.
AU - Okano K.
AU - Kusumoto S.
AU - Miyazawa K.
PY - 2012
SP - 389
EP - 394
DO - 10.5220/0004151403890394