Skip to main content

2017 | OriginalPaper | Buchkapitel

Structured Behavioral Programming Idioms

verfasst von : Adiel Ashrov, Michal Gordon, Assaf Marron, Arnon Sturm, Gera Weiss

Erschienen in: Enterprise, Business-Process and Information Systems Modeling

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Behavioral Programming (BP) is a modelling and programming technique proposed for specifying and for implementing complex reactive systems. While effective, we report on a weakness that stems from the verbosity and from the complexity of the programming constructs in BP. Our analysis, described in this paper, shows that developers who work with BP use specific patterns that allow them to control the complexity of their specification. Thus, the main contribution of this paper is a set of specification constructs that represent those patterns. We report on the design of the new idioms, termed structured constructs for behavioral programming and on an empirical evaluation in a controlled experiment that proved their effectiveness. In particular, the experiment examined the comprehensibility differences between behavioral specifications with non-structured BP programming idioms and with the structured ones. The results indicate that the new structures improve the comprehension of the behavioral specification.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Anhänge
Nur mit Berechtigung zugänglich
Fußnoten
1
The experiment design and execution was also approved by an ethical committee.
 
Literatur
1.
Zurück zum Zitat Hendrix, T.D., Cross II, J.H., Maghsoodloo, S., McKinney, M.L.: Do visualizations improve program comprehensibility? experiments with control structure diagrams for Java. ACM SIGCSE Bull. 32(1), 382–386 (2000)CrossRef Hendrix, T.D., Cross II, J.H., Maghsoodloo, S., McKinney, M.L.: Do visualizations improve program comprehensibility? experiments with control structure diagrams for Java. ACM SIGCSE Bull. 32(1), 382–386 (2000)CrossRef
2.
Zurück zum Zitat Briand, L.C., Bunse, C., Daly, J.W., Differding, C.: An experimental comparison of the maintainability of object-oriented and structured design documents. Empirical Softw. Eng. 2(3), 291–312 (1997)CrossRef Briand, L.C., Bunse, C., Daly, J.W., Differding, C.: An experimental comparison of the maintainability of object-oriented and structured design documents. Empirical Softw. Eng. 2(3), 291–312 (1997)CrossRef
3.
Zurück zum Zitat Feo, J.T.: A Comparative Study of Parallel Programming Languages: The Salishan Problems. Elsevier, North Holland (2014) Feo, J.T.: A Comparative Study of Parallel Programming Languages: The Salishan Problems. Elsevier, North Holland (2014)
4.
Zurück zum Zitat Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Boston (1995) Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Boston (1995)
5.
Zurück zum Zitat Beck, K., Crocker, R., Meszaros, G., Vlissides, J., Coplien, J.O., Dominick, L., Paulisch, F.: Industrial experience with design patterns. In: Proceedings of the 18th International Conference on Software Engineering (1996) Beck, K., Crocker, R., Meszaros, G., Vlissides, J., Coplien, J.O., Dominick, L., Paulisch, F.: Industrial experience with design patterns. In: Proceedings of the 18th International Conference on Software Engineering (1996)
6.
Zurück zum Zitat Budinsky, F.J., Finnie, M.A., Vlissides, J.M., Yu, P.S.: Automatic code generation from design patterns. IBM Syst. J. 35(2), 151–171 (1996)CrossRef Budinsky, F.J., Finnie, M.A., Vlissides, J.M., Yu, P.S.: Automatic code generation from design patterns. IBM Syst. J. 35(2), 151–171 (1996)CrossRef
7.
Zurück zum Zitat Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. Wiley, New York (1996) Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. Wiley, New York (1996)
8.
Zurück zum Zitat Florijn, G., Meijers, M., Winsen, P.: Tool support for object-oriented patterns. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 472–495. Springer, Heidelberg (1997). doi:10.1007/BFb0053391 Florijn, G., Meijers, M., Winsen, P.: Tool support for object-oriented patterns. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 472–495. Springer, Heidelberg (1997). doi:10.​1007/​BFb0053391
9.
Zurück zum Zitat Prechelt, L., Unger, B., Philippsen, M., Tichy, W.: Two controlled experiments assessing the usefulness of design pattern information during program maintenance. IEEE Trans. Software Eng. 28(6), 595–606 (2002) Prechelt, L., Unger, B., Philippsen, M., Tichy, W.: Two controlled experiments assessing the usefulness of design pattern information during program maintenance. IEEE Trans. Software Eng. 28(6), 595–606 (2002)
10.
Zurück zum Zitat Prechelt, L., Unger, B., Tichy, W.F., Brossler, P., Votta, L.G.: A controlled experiment in maintenance: comparing design patterns to simpler solutions. IEEE Trans. Softw. Eng. 27(12), 1134–1144 (2001)CrossRef Prechelt, L., Unger, B., Tichy, W.F., Brossler, P., Votta, L.G.: A controlled experiment in maintenance: comparing design patterns to simpler solutions. IEEE Trans. Softw. Eng. 27(12), 1134–1144 (2001)CrossRef
11.
Zurück zum Zitat Harel, D., Marron, A., Weiss, G.: Behavioral programming. Commun. ACM 55(7), 90–100 (2012) Harel, D., Marron, A., Weiss, G.: Behavioral programming. Commun. ACM 55(7), 90–100 (2012)
12.
Zurück zum Zitat Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. J. Formal Methods Syst. Des. 19(1), 45–80 (2001) Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. J. Formal Methods Syst. Des. 19(1), 45–80 (2001)
13.
Zurück zum Zitat Harel, D., Marelly, R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Heidelberg (2003) Harel, D., Marelly, R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Heidelberg (2003)
15.
Zurück zum Zitat Ashrov, A., Marron, A., Weiss, G., Wiener, G.: A use-case for behavioral programming: an architecture in JavaScript and Blockly for interactive applications with cross-cutting scenarios. Sci. Comput. Program. 98(Part 2), 268–292 (2015) Ashrov, A., Marron, A., Weiss, G., Wiener, G.: A use-case for behavioral programming: an architecture in JavaScript and Blockly for interactive applications with cross-cutting scenarios. Sci. Comput. Program. 98(Part 2), 268–292 (2015)
16.
Zurück zum Zitat Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., et al.: Scratch: Programming for all. Comm. ACM 52(11), 60–67 (2009) Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., et al.: Scratch: Programming for all. Comm. ACM 52(11), 60–67 (2009)
17.
Zurück zum Zitat Maoz, S., Harel, D., Kleinbort, A.: A compiler for multi-modal scenarios: transforming LSCs into AspectJ. ACM Trans. Softw. Eng. Methodol. (TOSEM) 20(4) (2011). Article 18 Maoz, S., Harel, D., Kleinbort, A.: A compiler for multi-modal scenarios: transforming LSCs into AspectJ. ACM Trans. Softw. Eng. Methodol. (TOSEM) 20(4) (2011). Article 18
18.
Zurück zum Zitat Wand, Y., Weber, R.: On the ontological expressiveness of information systems analysis and design grammars. Inform. Syst. J. 3, 217–237 (1993)CrossRef Wand, Y., Weber, R.: On the ontological expressiveness of information systems analysis and design grammars. Inform. Syst. J. 3, 217–237 (1993)CrossRef
19.
Zurück zum Zitat Bajaj, A., Rockwell, S.: COGEVAL: applying cognitive theories to evaluate conceptual models. In: Advanced Topics in Database Research, pp. 255–282 (2005) Bajaj, A., Rockwell, S.: COGEVAL: applying cognitive theories to evaluate conceptual models. In: Advanced Topics in Database Research, pp. 255–282 (2005)
Metadaten
Titel
Structured Behavioral Programming Idioms
verfasst von
Adiel Ashrov
Michal Gordon
Assaf Marron
Arnon Sturm
Gera Weiss
Copyright-Jahr
2017
DOI
https://doi.org/10.1007/978-3-319-59466-8_20