Self-generating Programs – Cascade of the Blocks

  • Josef Kufner
  • Radek Mařík
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8407)


When building complex applications the only way not to get lost is to split the application into simpler components. Current programming languages, including object oriented ones, offer very good utilities to create such components. However, when the components are created, they need to be connected together. Unluckily, these languages are not a very suitable tool for that. To help with composition of the components we introduce cascade – a dynamic acyclic structure built from blocks, inspired by the Function Block approach. The cascade generates itself on-the-fly during its evaluation to match requirements specified by input data and automatically orders an execution of the individual blocks. Thus the structure of a given cascade does not need to be predefined entirely during its composing/implementation and fixed during its execution as it is usually assumed by the most approaches. It also provides a real-time and fully automatic visualization of all blocks and their connections to ease debugging and an inspection of the application.


Precedence Constraint Topological Order Programmable Logic Controller Automatic Parallelization Block Instance 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    John, K., Tiegelkamp, M.: IEC 61131-3: Programming Industrial Automation Systems: Concepts and Programming Languages, Requirements for Programming Systems, Decision-Making AIDS. Springer (2001),
  2. 2.
    Ritchie, D.M.: The evolution of the unix time-sharing system. Communications of the ACM 17, 365–375 (1984)CrossRefGoogle Scholar
  3. 3.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. The MIT Press (2009)Google Scholar
  4. 4.
    Curk, T., Demsar, J., Xu, Q., Leban, G., Petrovic, U., Bratko, I., Shaulsky, G., Zupan, B.: Microarray data mining with visual programming. Bioinformatics 21, 396–398 (2005), Scholar
  5. 5.
    Konstantinides, K., Rasure, J.: The Khoros software development environment for image and signal processing. IEEE Transactions on Image Processing 3(3), 243–252 (1994)CrossRefGoogle Scholar
  6. 6.
    Mierswa, I., Wurst, M., Klinkenberg, R., Scholz, M., Euler, T.: Yale: Rapid prototyping for complex data mining tasks. In: Ungar, L., Craven, M., Gunopulos, D., Eliassi-Rad, T. (eds.) KDD 2006: Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 935–940. ACM, New York (2006),,com_docman/task,doc_download/gid,25/Itemid,62/Google Scholar
  7. 7.
    Sohrabi, S., Baier, J.A., McIlraith, S.A.: Htn planning with preferences. In: Proceedings of the 21st International Jont Conference on Artifical Intelligence, IJCAI 2009, pp. 1790–1797. Morgan Kaufmann Publishers Inc., San Francisco (2009), Scholar
  8. 8.
    Rasconi, R., Policella, N., Cesta, A.: SEaM: analyzing schedule executability through simulation. In: Ali, M., Dapoigny, R. (eds.) IEA/AIE 2006. LNCS (LNAI), vol. 4031, pp. 410–420. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Schwarz, N., Lungu, M., Nierstrasz, O.: Seuss: Decoupling responsibilities from static methods for fine-grained configurability. Journal of Object Technology 11(1), 3:1–3:23 (2012),

Copyright information

© IFIP International Federation for Information Processing 2014

Authors and Affiliations

  • Josef Kufner
    • 1
  • Radek Mařík
    • 1
  1. 1.Department of Cybernetics,Faculty of Electrical EngineeringCzech Technical University in PragueCzech Republic

Personalised recommendations