Towards Test-Driven Semantics Specification

  • Christian Soltenborn
  • Gregor Engels
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5795)

Abstract

Behavioral models are getting more and more important within the software development cycle. To get the most use out of them, their behavior should be defined formally. As a result, many approaches exist which aim at specifying formal semantics for behavioral languages (e.g., Dynamic Meta Modeling (DMM), Semantic Anchoring). Most of these approaches give rise to a formal semantics which can e.g. be used to check the quality of a particular language instance, for instance using model checking techniques.

However, if the semantics specification itself contains errors, it is more or less useless, since one cannot rely on the analysis results. Therefore, the language engineer must make sure that the semantics he develops is of the highest quality possible. To help the language engineer to achieve that goal, we propose a test-driven semantics specification process: the semantics of the language under consideration is first informally demonstrated using example models, which will then be used as test cases during the actual semantics specification process. In this paper, we present this approach using the already mentioned specification language DMM.

Keywords

Semantics specification testing model checking 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Object Management Group: OMG Unified Modeling Language (OMG UML) – Superstructure, Version 2.2. (February 2009), http://www.omg.org/docs/formal/09-02-02.pdf
  2. 2.
    van der Aalst, W.: Verification of Workflow Nets. In: Azéma, P., Balbo, G. (eds.) ICATPN 1997. LNCS, vol. 1248, pp. 407–426. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  3. 3.
    Engels, G., Soltenborn, C., Wehrheim, H.: Analysis of UML Activities using Dynamic Meta Modeling. In: Bosangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 76–90. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Hausmann, J.H.: Dynamic Meta Modeling. PhD thesis, University of Paderborn (2005)Google Scholar
  5. 5.
    Zhang, K.B., Orgun, M.A., Zhang, K.: Visual Language Semantics Specification in the VisPro System. In: Jin, J.S., Eades, P., Feng, D.D., Yan, H. (eds.) Selected papers from the 2002 Pan-Sydney workshop on Visualisation (VIP 2002). ACM International Conference Proceeding Series, vol. 161, pp. 121–127. Australian Computer Society, Inc., Darlinghurst (2003)Google Scholar
  6. 6.
    Plotkin, G.D.: A Structural Approach to Operational Semantics. J. Log. Algebr. Program. 60–61, 17–139 (2004)MathSciNetMATHGoogle Scholar
  7. 7.
    Hemingway, G., Su, H., Chen, K., Koo, T.J.: A semantic anchoring infrastructure for the design of embedded systems. In: COMPSAC (1), pp. 287–294. IEEE Computer Society, Los Alamitos (2007)Google Scholar
  8. 8.
    Beck, K.: Test-Driven Development by Example. Addison-Wesley Longman, Amsterdam (2002)Google Scholar
  9. 9.
    Eclipse Foundation: Graphical Modeling Framework (2009), http://www.eclipse.org/modeling/gmf/ (accessed 5-5-2009)
  10. 10.
    Microsoft: DSL Tools (2009), http://msdn.microsoft.com/en-us/library/bb126235.aspx (accessed 5-5-2009)
  11. 11.
    Rensink, A.: The GROOVE Simulator: A Tool for State Space Generation. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 479–485. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  12. 12.
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic Verification of Finite-State Concurrent Systems using Temporal Logic Specifications. ACM Trans. Program. Lang. Syst. 8(2), 244–263 (1986)CrossRefMATHGoogle Scholar
  13. 13.
    Xuandong, L., Linzhang, W., Xiaokang, Q., Bin, L., Jiesong, Y., Jianhua, Z., Guoliang, Z.: Runtime Verification of Java Programs for Scenario-Based Specifications. In: Pinho, L.M., Harbour, M.G. (eds.) Ada-Europe 2006. LNCS, vol. 2006, pp. 94–105. Springer, Heidelberg (2006)Google Scholar
  14. 14.
    Smolander, K., Lyytinen, K., Tahvanainen, V.P., Marttiin, P.: MetaEdit: a Flexible Graphical Environment for Methodology Modelling. In: Andersen, R., Solvberg, A., Bubenko Jr., J.A. (eds.) CAiSE 1991. LNCS, vol. 498, pp. 168–193. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  15. 15.
    Cook, S., Jones, G., Kent, S., Wills, A.: Domain-Specific Development with Visual Studio DSL Tools. Addison-Wesley Professional, Reading (2007)Google Scholar
  16. 16.
    Haase, A., Völter, M., Efftinge, S., Kolb, B.: Introduction to openArchitectureWare 4.1.2. MDD Tool Implementers Forum (Part of the TOOLS 2007 conference, Zürich) (2007)Google Scholar
  17. 17.
    Milner, R., Parrow, J., Walker, D.: A Calculus of Mobile Processes, I. Information and Computation 100(1), 1–40 (1992)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Christian Soltenborn
    • 1
  • Gregor Engels
    • 1
  1. 1.Institut für InformatikUniversität PaderbornPaderbornGermany

Personalised recommendations