The Recursion Scheme of the Trace Function Method

Baltasar Trancón y Widemann

2012

Abstract

The Trace Function Method (TFM) is a fundamental approach to the description of system behavior for requirements analysis, specification, and documentation. External behavior of systems or components is given in mathematically direct form, but with full abstraction from internal state, by defining output at discrete interface events as recursive functions of the complete history of previous interaction at the same interface, including both input and output. In order to understand and evaluate the semantics of the notation, and in particular the executable semantics, that is, the potential for automatic simulation and construction of prototype implementations from TFM descriptions, a recursion-theoretic analysis is given. It is demonstrated that a single run and the full reactive behavior of a TFM description can be presented as instances of first-order and higher-order course-of-value iteration, respectively. A simple sufficient condition for correct implementations of TFM descriptions in terms of state systems is given. The spectrum of possible state-based implementations of a TFM description, ranging from straightforward simulation to minimized state space, is explored. Implications for semantically calculated and hence formally verifiable prototype implementations are summarized.

References

  1. Baber, R. L., Parnas, D. L., Vilkomir, S. A., Harrison, P., and O'Connor, T. (2005). Disciplined methods of software specification: A case study. In ITCC (2), pages 428-437. IEEE Computer Society.
  2. Bird, R. and de Moor, O. (1997). Algebra of Programming, volume 100 of International Series in Computing Science. Prentice Hall.
  3. Bonfante, G. (2011). Course of value distinguishes the intentionality of programming languages. In Proceedings 2nd Symposium on Information and Communication Technology (SoICT 7811), pages 189-198. ACM.
  4. Box, G. E. and Jenkins, G. M. (1970). Time series analysis: Forecasting and control. Holden-Day, San Francisco.
  5. Erwig, M. (1998). Categorical programming with abstract data types. In Haeberer, A. M., editor, AMAST, number 1548 in Lecture Notes in Computer Science, pages 406-421. Springer.
  6. Granger, C. W. J. and Joyeux, R. (1980). An introduction to long-memory time series models and fractional differencing. Journal of Time Series Analysis, 1:15-30.
  7. Liu, Z., Parnas, D. L., and Trancón y Widemann, B. (2010). Documenting and verifying systems assembled from components. Front. Comput. Sci. China, 4(2):151- 161.
  8. Meijer, E., Fokkinga, M. M., and Paterson, R. (1991). Functional programming with bananas, lenses, envelopes and barbed wire. In Hughes, J., editor, Proceedings 5th International Conference on Functional Programming Languages and Computer Architecture (FPCA 1991), number 523 in Lecture Notes in Computer Science, pages 124-144. Springer.
  9. Montanari, A., Rosso, R., and Taqqu, M. S. (1997). Fractionally differenced arima models applied to hydrologic time series: Identification, estimation, and simulation. Water Resources Research, 33(5):1035-1044.
  10. Parnas, D. L. (1993). Predicate logic for software engineering. IEEE Trans. Softw. Eng., 19:856-862.
  11. Parnas, D. L. (2009). Document based rational software development. Knowledge-Based Systems, 22(3):132- 141.
  12. Quinn, C., Vilkomir, S. A., Parnas, D. L., and Kostic, S. (2006). Specification of software component requirements using the trace function method. In Proceedings International Conference on Software Engineering Advances (ICSEA 2006), page 50. IEEE Computer Society.
  13. Reynolds, J. (1972). Definitional interpreters for higherorder programming languages. In Proceedings of the ACM Annual Conference, pages 717-740, Boston, Massachusetts.
  14. Trancón y Widemann, B. (2012). State-based simulation of linear course-of-value iteration. In Proceedings 11th International Workshop on Coalgebraic Methods in Computer Science (CMCS 2012). Short contribution.
  15. Trancón y Widemann, B. and Parnas, D. L. (2008). Tabular expressions and total functional programming. In Chitil, O., Horváth, Z., and Zsók, V., editors, Implementation and Application of Functional Languages (IFL 2007), Revised Selected Papers, number 5083 in Lecture Notes in Computer Science, pages 219-236. Springer.
  16. Turner, D. A. (2004). Total functional programming. Journal of Universal Computer Science, 10(7):751-768.
  17. Uustalu, T. and Vene, V. (1999). Primitive (co)recursion and course-of-value (co)iteration, categorically. Informatica, 10(1):5-26.
Download


Paper Citation


in Harvard Style

Trancón y Widemann B. (2012). The Recursion Scheme of the Trace Function Method . In Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8565-13-6, pages 146-155. DOI: 10.5220/0003994501460155


in Bibtex Style

@conference{enase12,
author={Baltasar Trancón y Widemann},
title={The Recursion Scheme of the Trace Function Method},
booktitle={Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2012},
pages={146-155},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003994501460155},
isbn={978-989-8565-13-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - The Recursion Scheme of the Trace Function Method
SN - 978-989-8565-13-6
AU - Trancón y Widemann B.
PY - 2012
SP - 146
EP - 155
DO - 10.5220/0003994501460155