• Tomáš Bureš
  • Martin Děcký
  • Petr Hnětynka
  • Jan Kofroň
  • Pavel Parízek
  • František Plášil
  • Tomáš Poch
  • Ondřej Šerý
  • Petr Tůma
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5153)


This chapter presents our solution to the CoCoME assignment that is based on the SOFA 2.0 (SOFtware Appliances) hierarchical component model. The solution involves (i) modeling architecture in SOFA meta-model, (ii) speci fication of component behavior via extended behavior protocols, (iii) checking behavior compliance of components, (iv) verification of correspondence be tween selected component Java code and behavior specification, (v) deploy ment to SOFA run-time envi ronment (using connectors that support RMI and JMS), and (vi) modeling of performance and resource usage via layered queue ing networks. We faced sev eral issues during implementation of the CoCoME assignment in SOFA 2.0. Most notably, the architecture was modified in order to improve clarity of the design – in particular, the hierarchical bus was re placed by two separate buses and the Inventory component was restructured. Extended behavior protocols for all the components are based on the provided plain-English use cases, the UML sequence diagrams, and the reference Java implementation (the assignment does not include a complete UML behavior specification e.g. via activity dia grams and state charts).


Resource Usage Reference Implementation Page Cache Error Trace Primitive Component 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Adamek, J., Bures, T., Jezek, P., Kofron, J., Mencl, V., Parizek, P., Plasil, F.: Component Reliability Extensions for Fractal Component Model (2006),
  2. 2.
    Adamek, J., Plasil, F.: Component Composition Errors and Update Atomicity: Static Analysis. Journal of Software Maintenance and Evolution: Research and Practice 17(5) (September 2005)Google Scholar
  3. 3.
    Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting Software Architecture to Implementation. In: Proc. of ICSE 2002, Orlando, USA (May 2002)Google Scholar
  4. 4.
    Allen, R.J.: A Formal Approach to Software Architecture, Ph.D. Thesis, School of Computer Science, Carnegie Mellon University (May 1997)Google Scholar
  5. 5.
    Balsamo, S., DiMarco, A., Inverardi, P., Simeoni, M.: Model-based Performance Prediction in Software Development. IEEE Transactions on Software Engineering 30(5) (May 2004)Google Scholar
  6. 6.
    Baumeister, H., Hacklinger, F., Hennicker, R., Knapp, A., Wirsing, M.: A Component Model for Architectural Programming. In: ENTCS, Vol. 160 (August 2006)Google Scholar
  7. 7.
    Bruneton, E., Coupaye, T., Leclercq, M., Quema, V., Stefani, J.-B.: The Fractal Component Model and Its Support in Java. Software Practice and Experience, Special issue on Experiences with Auto-adaptive and Reconfigurable Systems 36(11-12) (2006)Google Scholar
  8. 8.
    Bures, T.: Generating Connectors for Homogeneous and Heterogeneous Deployment, Ph.D. Thesis, Dep. of SW Engineering, Charles University, Prague (September 2006)Google Scholar
  9. 9.
    Bures, T., Hnetynka, P., Plasil, F.: SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model. In: Proc. of SERA 2006, Seattle, USA, August 2006, IEEE CS, Los Alamitos (2006)Google Scholar
  10. 10.
    Eclipse Modeling Framwork,
  11. 11.
    Enterprise Java Beans specification, version 2.1, Sun Microsystems (November 2003)Google Scholar
  12. 12.
    Ghosh, A., Givargis, T.: Cache optimalization for embedded processor cores: An analytical approach. ACM Transactions on Design Automation of Electronic Systems (TODAES), 9(4) (October 2004)Google Scholar
  13. 13.
    Haas, P.J.: Stochastic Petri Nets: Modelling. Springer, New York (2002)zbMATHGoogle Scholar
  14. 14.
    Hirsch, D., Kramer, J., Magee, J., Uchitel, S.: Modes for Software Architectures. In: Gruhn, V., Oquendo, F. (eds.) EWSA 2006. LNCS, vol. 4344. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  15. 15.
    Hnetynka, P., Plasil, F.: Dynamic Reconfiguration and Access to Services in Hierarchical Component Models. In: Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063. Springer, Heidelberg (2006)Google Scholar
  16. 16.
    Kofron, J.: Extending Behavior Protocols With Data and Multisynchronization, Tech. Report No. 2006/10, Dep. of SW Engineering, Charles University in Prague (October 2006)Google Scholar
  17. 17.
    Magee, J., Kramer, J.: Concurrency State Models & Java Programs. Wiley, Chichester (1999)zbMATHGoogle Scholar
  18. 18.
    Magee, J., Kramer, J.: Dynamic structure in software architectures. In: Proc. of FSE 2004, San Francisco, USA (October 1996)Google Scholar
  19. 19.
    Mencl, V., Bures, T.: Microcomponent-Based Component Controllers: A Foundation for Component Aspects. In: Proc. of APSEC 2005, Taipei, Taiwan, December 2005, IEEE CS, Los Alamitos (2005)Google Scholar
  20. 20.
    OMG: UML Profile for Schedulability, Performance and Time, OMG document formal/2005-01-02 (January 2005) Google Scholar
  21. 21.
    OMG: CORBA Components, v 3.0, OMG document formal/02-06-65 (June 2002) Google Scholar
  22. 22.
    OMG: MDA Guide, v. 1.0.1, OMG document omg/03-06-01 (Jun 2003) Google Scholar
  23. 23.
    van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala Component Model for Consumer Electronics Software. IEEE Computer 33(3) (March 2000)Google Scholar
  24. 24.
    Plasil, F., Balek, D., Janecek, R.: SOFA/DCUP: Architecture for Component Trading and Dynamic Updating. In: Proc. of ICCDS 1998, Annapolis, USA. IEEE CS Press, Los Alamitos (May 1998)Google Scholar
  25. 25.
    Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Transactions on Software Engineering 28(11) (November 2002)Google Scholar
  26. 26.
    Seinturier, L., Pessemier, N., Duchien, L., Coupaye, T.: A Component Model Engineered with Components and Aspects. In: Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  27. 27.
  28. 28.
    SOFA 2.0 implementation,
  29. 29.
  30. 30.
    Sun Microsystems, JSR 220: Enterprise JavaBeansTM, Version 3.0 Google Scholar
  31. 31.
    Woodside, C.M., Neron, E., Ho, E.D.S., Mondoux, B.: An Active-Server Model for the Performance of Parallel Programs Written Using Rendezvous. Journal of Systems and Software (1986)Google Scholar
  32. 32.
    Xu, J., Oufimtsev, A., Woddside, C.M., Murphy, L.: Performance Modeling and Prediction of Enterprise JavaBeans with Layered Queueing Network Templates. ACM SIGSOFT Software Engineering Notes 31(2) (March 2006)Google Scholar
  33. 33.
    Wu, X.P., Woodside, C.M.: Performance Modeling from Software Components. In: Proc. of WOSP 2004, Redwood Shores, USA (January 2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Tomáš Bureš
    • 1
    • 2
  • Martin Děcký
    • 1
  • Petr Hnětynka
    • 1
  • Jan Kofroň
    • 1
    • 2
  • Pavel Parízek
    • 1
  • František Plášil
    • 1
    • 2
  • Tomáš Poch
    • 1
  • Ondřej Šerý
    • 1
  • Petr Tůma
    • 1
  1. 1.Department of Software Engineering Faculty of Mathematics and PhysicsCharles UniversityCzech Republic
  2. 2.Institute of Computer ScienceAcademy of Sciences of the Czech RepublicCzech Republic

Personalised recommendations