Modern CASE tools and formal methods systems are more than just repositories of specification and design information. They can also be used for refinement and code generation. Refinement is the process of transforming one specification into a more detailed specification. Specifications and their refinements typically do not use the same specification language. Code generation is also a transformation, where the target language is a programming language. Although object-oriented (OO) programming languages and tools have been available for a long time, refinement and transformation are still based on grammars and parse trees. The purpose of this paper is to compare grammar-based transformation with object-oriented transformation and to introduce a toolkit that automates the generation of parsers and transformers. A more specific objective is to apply these techniques to the problem of translating a CASE repository into logical theories of a formal methods system.
KeywordsCASE tool formal methods specification modeling language transformational reuse code generation context-free grammar
Unable to display preview. Download preview PDF.
- [Bac90a]K. Baclawski. The nu&object-oriented semantic data modeling tool: intermediate report. Technical Report NU-CCS-90-18, Northeastern University, College of Computer Science, 1990.Google Scholar
- [Bac90b]K. Baclawski. Transactions in the nu& system. In OOPLSA/ECOOP’90 Workshop on Transactions and Objects, pages 65–72, October 1990.Google Scholar
- [Bac91]K. Baclawski. Panoramas and grammars: a new view of data models. Technical Report NU-CCS-91-2, Northeastern University College of Computer Science, 1991.Google Scholar
- [BMNR89]K. Baclawski, T. Mark, R. Newby, and R. Ramachandran. The nu& object-oriented semantic data modeling tool: preliminary report. Technical Report NU-CCS-90-17, Northeastern University, College of Computer Science, 1989.Google Scholar
- [B092]D. Batory and S. O’Malley.The design and implementation of hierarchical software systems with reusable components. ACM TOSEM, October 1992.Google Scholar
- [BRJ97a]G. Booch, J. Rumbaugh, and I. Jacobsen. UML Notation Guide, Version 1.1, September 1997.Google Scholar
- [BRJ97b]G. Booch, J. Rumbaugh, and I. Jacobsen. UML Semantics, September 1997.Google Scholar
- [DeL96]S. DeLoach. Formal Transformations from Graphically-Based Object-Oriented Representations to Theory-Based Specifications. PhD thesis, Air Force Institute of Technology, WL AFB, OH, June 1996. Ph.D. Dissertation.Google Scholar
- [GT87]G. Gonnet and F. Tompa. Mind your grammar: a new approach to modelling text. In Proc. 13th VLDB Conf., pages 339–346, Brighton, UK, 1987.Google Scholar
- [Nei84]J. Neighbors. The Draco approach to constructing software from reusable components. IEEE Trans. Software Engineering, pages 564–574, Sept. 1984.Google Scholar
- Refine 3.0 User’s Guide, May 25, 1990.Google Scholar
- [Spe94]Specware™ User Manual: Specware™ Version Core4, October 1994.Google Scholar
- [W+98]R. Waldinger et al. Specware™ Language Manual: Specware™ 2.0.2, 1998.Google Scholar