http://iet.metastore.ingenta.com
1887

I2SD: reverse engineering Sequence Diagrams from Enterprise Java Beans with interceptors

I2SD: reverse engineering Sequence Diagrams from Enterprise Java Beans with interceptors

For access to this article, please select a purchase option:

Buy article PDF
£12.50
(plus tax if applicable)
Buy Knowledge Pack
10 articles for £75.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
Why are you recommending this title?
Select reason:
 
 
 
 
 
IET Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

An Enterprise JavaBeans (EJB) interceptor is a software mechanism that provides for introducing behaviour implemented as separate code into the execution of a Java application. In this way, EJB interceptors provide a clear separation of the core functionality of the bean and other concerns, such as logging or performance analysis. Despite the beauty of the idea behind the i nterceptors, developing, testing and managing dependencies introduced by the interceptors are considered to be daunting tasks. For example, the developers can specify interceptors at multiple locations and by multiple means. However, different locations and specification means influence the order of the interceptor invocation, which is governed by more than 15 different intertwined rules defined in the EJB standard. To facilitate development of EJB applications, we have designed I2SD, Interceptors to Sequence Diagrams, a tool for reverse engineering EJB applications with interceptors to unified modeling language (UML) sequence diagrams. I2SD provides the developer with a visual feedback and can be used by quality managers to obtain insights in the ways interceptors are used in their project.

References

    1. 1)
      • 1. Narasimhan, P., Moser, L.E., Melliar-Smith, P.M.: ‘Using interceptors to enhance CORBA’, IEEE Comput., 1999, 32, (7), pp. 6268 (doi: 10.1109/2.774920).
    2. 2)
      • 2. Sun Microsystems: Sun Microsystems. JSR-220 Enterprise JavaBeans 3.0 (Final Release), 2006.
    3. 3)
      • 3. EJB 3.1 Expert Group: EJB 3.1 Expert Group. JSR-318 Enterprise JavaBeans, Version 3.1 (Final Release), 2009.
    4. 4)
      • 4. EJB 3.1 Expert Group: EJB 3.1 Expert Group. Interceptors 1.1, 2009.
    5. 5)
      • 5. Vanbrabant, R.: ‘Google Guice: agile lightweight dependency injection framework’ (APress, Berkeley, CA, USA, 2008).
    6. 6)
      • 6. Red Hat: Red Hat. Seam – Contextual Components. A Framework for Java EE 5, 2007.
    7. 7)
      • 7. Bellur, U.: ‘A methodology & tool for determining inter-component dependencies dynamically in J2EE environments’. Proc. Third Int. Conf. Autonomic and Autonomous Systems, Washington, 2007, DC, USA, pp. 14:114:8.
    8. 8)
      • 8. Kehe, W., Zhuo, W., Xing, Z., Gang, M.: ‘Design and implementation of the monitoring system for ejb applications based on interceptors’. Thirdrd Int. Conf. Advanced Computer Theory and Engineering (ICACTE), 2010, vol. 4, pp. V4-5V4-9.
    9. 9)
      • 9. Tilley, S.R., Huang, S.: ‘A qualitative assessment of the efficacy of UML diagrams as a form of graphical documentation in aiding program understanding’, SIGDOC, 2003, pp. 184191.
    10. 10)
      • 10. Serebrenik, A., Roubtsov, S.A., Roubtsova, E.E., van den Brand, M.G.J.: ‘Reverse engineering sequence diagrams for Enterprise JavaBeans with business method interceptors’, WCRE, 2009, pp. 269273.
    11. 11)
      • 11. Murphy, G.C., Kersten, M., Findlater, L.: ‘How are Java software developers using the Elipse IDE?’, IEEE Softw., 2006, 23, (4), pp. 7683 (doi: 10.1109/MS.2006.105).
    12. 12)
      • 12. Muskens, J., Chaudron, M.R., Westgeest, R.: ‘Software architecture analysis tool: software architecture metrics collection’. Proc. Third PROGRESS Workshop on Embedded Systems, 2002, pp. 128139.
    13. 13)
      • 13. Panda, D., Rahman, R., Lane, D.: ‘EJB 3 in action’ (Manning Publications Co., Greenwich, CT, USA, 2007).
    14. 14)
      • 14. Goncalves, A.: ‘Beginning Java EE p Platform with GlassFish 3: from novice to professional’ (Apress, Berkely, CA, USA, 2009, 1st edn.).
    15. 15)
      • 15. Allen, R.B., Garlan, D.: ‘A formal approach to software architectures’. Proc. of the IFIP 12th World Computer Congress on Algorithms, Software, Architecture – Information Processing 1992, Amsterdam, The Netherlands, pp. 134141.
    16. 16)
      • 16. Copeland, T.: ‘Generating parsers with JavaCC’ (Centennial Books, Alexandria, VA, USA, 2009, 2nd edn.).
    17. 17)
      • 17. van den Brand, M.G.J., Roubtsov, S.A., Serebrenik, A.: ‘SQuAVisiT: a flexible tool for visual software analytics’, CSMR, 2009, pp. 331332.
    18. 18)
      • 18. Harold, E.R.: ‘Processing XML with Java’ (Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2002), URL http://www.cafeconleche.org/books/xmljava/.
    19. 19)
      • 19. Sun Microsystems: Sun Java System Application Server 9.1 Reference Manual, 2007.
    20. 20)
      • 20. Jackson, D.: ‘Scalable vector graphics (SVG): the world wide web consortium's recommendation for high quality web graphics’. ACM SIGGRAPH 2002 Conf. Abstracts and Applications, SIGGRAPH'02, New York, NY, USA, pp. 319319.
    21. 21)
      • 21. Savard, M.: ‘Development of OASIS v2’. Tech. Rep. CR 2008–332, Defence Research and Development Canada, October2008. URL http://pubs.drdc.gc.ca/PDFS/unc79/p530476.pdf.
    22. 22)
      • 22. Oracle: Java RMI over IIOP. Technology Documentation Home Page, 2010. URL http://docs.oracle.com/javase/1.4.2/docs/guide/rmi-iiop/index.html.
    23. 23)
      • 23. Object Management Group: Java to IDL Language Mapping, 2008. Version 1.4.
    24. 24)
      • 24. Yawn, M.: ‘J2EE and Jax: developing web applications and web services’ (Prentice-Hall Professional, Upper Saddle River, NJ, USA, 2003).
    25. 25)
      • 25. Baldoni, R., Marchetti, C., Verde, L.: ‘CORBA request portable interceptors: analysis and applications’, Concurrency Comput., Pract. Exp., 2003, 15, (6), pp. 551579 (doi: 10.1002/cpe.716).
    26. 26)
      • 26. Roubtsov, S.A., Serebrenik, A., van den Brand, M.G.J.: ‘Detecting modularity ‘Smells’ in dependencies injected with Java annotations’. Software Maintenance and Reengineering, European Conf., 2010, Los Alamitos, CA, USA, pp. 244247.
    27. 27)
      • 27. Roubtsov, S.A., Serebrenik, A., Mazoyer, A., van den Brand, M.G.J.: ‘I2SD: reverse engineering sequence diagrams from Enterprise Java Beans with interceptors’. SCAM, 2011, pp. 155164.
    28. 28)
      • 28. Perry, D.E., Porter, A.A., Votta, L.G.: ‘Empirical studies of software engineering: a roadmap’. Proc. of the Conf. The Future of Software Engineering, ICSE'00, New York, NY, USA, 2000, pp. 345355.
    29. 29)
      • 29. Klaczewski, P., Wytrebowicz, J.: ‘j2eeprof—a tool for testing multitier applications’, Software Engineering Techniques: Design for Quality, SET 2006, 17–20 October, 2006, Warsaw, Poland, IFIP, vol. 227, pp. 199210.
    30. 30)
      • 30. Arthur, J., Azadegan, S.: ‘Spring framework for rapid open source J2EE Web application development: a case study’. Sixth Int. Conf. Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, 2005 and First ACIS Int. Workshop on Self-Assembling Wireless Networks, SNPD/SAWN 2005, pp. 9095.
    31. 31)
      • 31. Rountev, A., Connell, B.H.: ‘Object naming analysis for reverse-engineered sequence diagrams’, Int. Conf. Software Engineering, 2005, pp. 254263.
    32. 32)
      • 32. Rountev, A., Volgin, O., Reddoch, M.: ‘Static control-flow analysis for reverse engineering of UML sequence diagrams’, PASTE, 2005, pp. 96102.
    33. 33)
      • 33. Tonella, P., Potrich, A.: ‘Reverse engineering of the interaction diagrams from C++ code’. Int. Conf. Software Maintenance, 2003, pp. 159168.
    34. 34)
      • 34. Korshunova, E., Petković, M., van den Brand, M.G.J., Mousavi, M.R.: ‘CPP2XMI: reverse engineering of UML class, sequence, and activity diagrams from C++ source code’. WCRE, 2004, pp. 297298.
    35. 35)
      • 35. Briand, L.C., Labiche, Y., Leduc, J.: ‘Toward the reverse engineering of UML sequence diagrams for distributed Java software’, IEEE Trans. Softw. Eng., 2006, 32, (9), pp. 642663 (doi: 10.1109/TSE.2006.96).
    36. 36)
      • 36. Briand, L.C., Labiche, Y., Miao, Y.: ‘Towards the reverse engineering of UML sequence diagrams’, WCRE, 2003, pp. 5766.
    37. 37)
      • 37. Delamare, R., Baudry, B., Le Traon, Y.: ‘Reverse-engineering of UML 2.0 sequence diagrams from execution traces’. Workshop on Object-Oriented Reengineering at ECOOP 06, Nantes, France.
    38. 38)
      • 38. Guéhéneuc, Y.G., Ziadi, T.: ‘Automated reverse-engineering of UML v2.0 dynamic models’, Proc. Sixth ECOOP Workshop on Object-Oriented Reengineering, 2005, Glasgow, UK.
    39. 39)
      • 39. Oechsle, R., Schmitt, T.: ‘JAVAVIS: automatic program visualization with object and sequence diagrams using the Java debug interface (JDI)’, Software visualization, 2002 (LNCS, 2269), pp. 176190.
    40. 40)
      • 40. Richner, T., Ducasse, S.: ‘Using dynamic information for the iterative recovery of collaborations and roles’. ICSM, 2002, pp. 3443.
    41. 41)
      • 41. Bennett, C., Myers, D., Storey, M.A.D., et al: ‘A survey and evaluation of tool features for understanding reverse-engineered sequence diagrams’, Journal of Softw. Maint., 2008, 20, (4), pp. 291315 (doi: 10.1002/smr.372).
    42. 42)
      • 42. Crawford, W., Kaplan, J.: ‘J2EE design patterns’ (O'Reilly & Associates, Inc., Sebastopol, CA, USA, 2003).
    43. 43)
      • 43. Dudney, B., Krozak, J., Wittkopf, K., Asbury, S., Osborne, D.: ‘J2EE antipatterns’ (John Wiley & Sons, New York, NY, USA, 2002, 1st edn.).
    44. 44)
      • 44. Stephan, M.: ‘Detection of Java EE EJB antipattern instances using framework-specific models’. Master's thesis, University of Waterloo, Waterloo, 04/2009 2009.
    45. 45)
      • 45. Antkiewicz, M., Czarnecki, K., Stephan, M.: ‘Engineering of framework-specific modeling languages’, Softw. Eng. IEEE Trans., 2009, 35, (6), pp. 795824 (doi: 10.1109/TSE.2009.30).
    46. 46)
      • 46. Stein, D., Hanenberg, S., Unland, R.: ‘Join point designation diagrams: a graphical representation of join point selections’, Int. J. Softw. Eng. Knowl. Eng., 2006, 16, (3), pp. 317346 (doi: 10.1142/S0218194006002811).
    47. 47)
      • 47. Deubler, M., Meisinger, M., Rittmann, S., Krüger, I.: ‘Modeling crosscutting services with UML sequence diagrams’, MoDELS, 2005 (LNCS, 3713), pp. 522536.
    48. 48)
      • 48. Xu, W., Xu, D.: ‘A model-based approach to test generation for aspect-oriented programs’. First Workshop on Testing Aspect-Oriented Programs, 2005, Chicago, IL, USA, pp. 16.
    49. 49)
      • 49. Sereni, D., de Moor, O.: ‘Static analysis of aspects’. Proc. of the Second Int. Conf. Aspect-Oriented Software Development, 2003, New York, NY, USA, pp. 3039.
    50. 50)
      • 50. Bernardi, M.L., Di Lucca, G.A.: ‘An interprocedural aspect control flow graph to support the maintenance of aspect oriented systems’. Int. Conf. Software Maintenance, 2007, pp. 435444.
    51. 51)
      • 51. Schmerl, B., Aldrich, J., Garlan, D., Kazman, R., Yan, H.: ‘Discovering architectures from running systems’. IEEE Trans. Softw. Eng., 2006, 32, (7), pp. 454466 (doi: 10.1109/TSE.2006.66).
    52. 52)
      • 52. Taïani, F., Killijian, M.O., Fabre, J.C.: ‘COSMOPEN: dynamic reverse engineering on a budget. How cheap observation techniques can be used to reconstruct complex multi-level behaviour’, Softw. Pract. Exp., 2009, 39, (18), pp. 14671514 (doi: 10.1002/spe.943).
    53. 53)
      • 53. Garlan, D., Shaw, M.: ‘An introduction to software architecture’, in Ambriola, V., Tortora, G., (Eds.): ‘Advances in software engineering and knowledge engineering’ (World Scientific Publishing Company), 1994, pp. 139.
    54. 54)
      • 54. JSR-299 Expert Group: JSR-299: Contexts and Dependency Injection for the Java EE platform, 2009.
    55. 55)
      • 55. Serebrenik, A., van den Brand, M.G.J.: ‘Theil index for aggregation of software metrics values’. Int. Conf. Softw. Maint, 2010, pp. 19.
    56. 56)
      • 56. Vasilescu, B., Serebrenik, A., van den Brand, M.G.J.: ‘You can't control the unfamiliar: a study on the relations between aggregation techniques for software metrics’. Int. Conf. Software Maintenance, 2011, pp. 313322.
    57. 57)
      • 57. IBM: EJB 3.x interceptors, 2012. http://www14.software.ibm.com/webapp/wsbroker/redirect?version=matt&product=was-nd-dist&topic=rejb_3interceptors.
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-sen.2012.0056
Loading

Related content

content/journals/10.1049/iet-sen.2012.0056
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address