skip to main content
article

A formal approach for designing CORBA-based applications

Authors Info & Claims
Published:01 April 2003Publication History
Skip Abstract Section

Abstract

The design of distributed applications in a CORBA-based environment can be carried out by means of an incremental approach, which starts from the specification and leads to the high-level architectural design. This article discusses a methodology to transform a formal specification written in TRIO into a high-level design document written in an extension of TRIO, named TRIO/CORBA (TC). The TC language is suited to formally describe the high-level architecture of a CORBA-based application. As a result, designers are offered high-level concepts that precisely define the architectural elements of an application. Furthermore, TC offers mechanisms to extend its base semantics, and can be adapted to future developments and enhancements in the CORBA standard. The methodology and the associated language are presented through a case study derived from a real Supervision and Control System.

References

  1. Abrial, J. R. 1996. The B-Book: Assigning Programs To Meanings. Cambridge University Press. Google ScholarGoogle Scholar
  2. Alborghetti, A., Gargantini, A., and Morzenti, A. 1997. Providing automated support to deductive analysis of time critical systems. In Proceedings of the Sixth European Software Engineering Conference (ESEC 97), Zurich, Switzerland. Google ScholarGoogle Scholar
  3. Allen R. and Garlan D. 1997. A formal basis for architectural connection. ACM Trans. Softw. Eng. Method. 6, 3, pp. 213--249. Google ScholarGoogle Scholar
  4. Barbacci, M., Weinstock, C., Doubleday, D., Gardner, M., et al., 1993. Durra: A structure description language for developing distributed applications. IEE Softw. Eng. J. 8, 2, pp. 83--94.Google ScholarGoogle Scholar
  5. Boehm, B. W. 1988. A spiral model of software development and enhancement. IEEE Computer 21, 5, pp. 61--72. Google ScholarGoogle Scholar
  6. Booch, G. 1994. Object Oriented Analysis and Design with Applications. Benjamin Cummings. Google ScholarGoogle Scholar
  7. Booch, G. 1996. Object Solutions: Managing the Object-Oriented Project. Addison Wesley. Google ScholarGoogle Scholar
  8. Booch, G., Jacobson, I., and Rumbaugh, J. 1996. The unified modeling language for object oriented development. Documentation set, RationalRose. Google ScholarGoogle Scholar
  9. Borland. 2003. Borland® VisiBroker®-RT Product Overview. www.highlander.com/products/index.htmlGoogle ScholarGoogle Scholar
  10. Capobianchi, R., Carcagno, D., Coen-Porisini, A., Mandrioli, D., and Morzenti, A. 1999. A framework architecture for the development of new generation supervision and control systems, in Domain Specific Application Frameworks, Eds. M. Fayad, D. Schmidt. John Wiley, pp. 231--250.Google ScholarGoogle Scholar
  11. Ciapessoni, E., Coen-Porisini, A., Crivelli, E., Mandrioli, D., Mirandola, P., and Morzenti, A. 1999. From formal models to formal based methods: an industrial experience. ACM Trans. Softw. Eng. Method. 8, 1, pp 79--113. Google ScholarGoogle Scholar
  12. Coen-Porisini, A. and Mandrioli, D. 2000. Using TRIO for designing a CORBA-based application. Concurrency: Prac. Exp. 12, 8, pp 981--1015. Google ScholarGoogle Scholar
  13. Coen-Porisini, A., Pradella, M., Rossi, M., and Mandrioli, D. 2000. A formal approach for designing CORBA-based applications. In Proceedings of the International Conference on Software Engineering (ICSE2000), Limerick, Ireland. Google ScholarGoogle Scholar
  14. Cugola, G., Di Nitto, E., and Fuggetta A. 2001. The JEDI event-based infrastructure and its application to the development of the OPSS WFMS, IEEE Trans. Softw. Eng. 27, 9, pp 827--850. Google ScholarGoogle Scholar
  15. Di Nitto, E. and Rosenblum, D. 1999. Exploiting ADLs to specify architectural styles induced by middleware infrastructures. In Proceedings of the 21st International Conference on Software Engineering, Los Angeles, California. Google ScholarGoogle Scholar
  16. Douglass, B. P. 2000. Real-time UML: Developing Efficient Objects for Embedded Systems. Addison Wesley. Google ScholarGoogle Scholar
  17. Easterbrook, S., Lutz, R., Covington, R., Kelly, J., Ampo, Y., and Hamilton, D. 1998. Experiences using lightweight formal methods for requirements modeling. IEEE Trans. Softw. Eng. 24, 1, pp. 4--14. Google ScholarGoogle Scholar
  18. Eddon, G. and Eddon H. 1998. Inside Distributed COM. Microsoft Press. Google ScholarGoogle Scholar
  19. Fayad, M., Schmidt, D., and Johnson, R. 1999. Building Application Frameworks: Object-Oriented Foundations of Framework Design. John Wiley. Google ScholarGoogle Scholar
  20. Gargantini, A. and Morzenti, A. 2001. Automated deductive requirements analysis of critical systems. ACM Trans. Softw. Eng. Method. 3, 3, pp 225--307. Google ScholarGoogle Scholar
  21. Ghezzi, C., Mandrioli, D., and Morzenti, A. 1990. TRIO, a logic language for executable specifications of real-time systems. J. Syst. Softw. 12, 2, pp. 107--123. Google ScholarGoogle Scholar
  22. Guttag, J. V. and Horning, J. J. 1993. Larch: Languages and Tools for Formal Specification. Springer-Verlag. Google ScholarGoogle Scholar
  23. Hinchey M. and Bowen J. 1995. Application of Formal Methods. Prentice Hall International, Hertfordshire. Google ScholarGoogle Scholar
  24. Hoare, C. A. R. 1985. Communicating Sequential Processes. Prentice Hall. Google ScholarGoogle Scholar
  25. IEC---IS---1158-2. Field-Bus standard for use in industrial control system. Physical layer specification and service definition.Google ScholarGoogle Scholar
  26. Jackson, M. 1995. Software Requirements and Specification. Addison Wesley, Reading, MA. Google ScholarGoogle Scholar
  27. Jacobson, I., Booch, G., and Rumbaugh, J. 1999. The Unified Software Development Process. Addison Wesley. Google ScholarGoogle Scholar
  28. Kaveh N. and Emmerich W. 2001. Deadlock detection in distributed object systems. In Proceedings of the Eighth European Software Engineering Conference (ESEC2001), Wien, Austria. Google ScholarGoogle Scholar
  29. Kramer, J. and Magee, J. 1997. Exposing the skeleton in the coordination closet. In Proceedings of the Second International Conference on Coordination Languages and Models. Lecture Notes in Computer Science, No. 1282, pp. 18--31. Google ScholarGoogle Scholar
  30. Lano, K. 1996. Enhancing Object oriented methods with formal notations. Theo. Prac. Obj. Syst. 2, 4, pp. 247--268. Google ScholarGoogle Scholar
  31. Lavazza, L., Quaroni, G., and Venturelli, M. 2001. Combining UML and formal notations for modelling real-time systems. In Proceedings of the Eighth European Software Engineering Conference (ESEC2001), Wien, Austria. Google ScholarGoogle Scholar
  32. Luckham, D., Kenney, J., Augustin, L., Vera, J., Bryan, D., and Mann, W. 1995. Specification and analysis of system architecture using rapide. IEEE Trans. Softw. Eng. 21, 4, pp. 336--355. Google ScholarGoogle Scholar
  33. Luckham, D. 1998. Rapide: A language and toolset for causal event modeling of distributed system architectures. In Proceedings of the Second International Conference on Worldwide Computing and Its Applications (WWCA 98). Lecture Notes in Computer Science, No. 1368, pp. 88--96. Google ScholarGoogle Scholar
  34. Magee, J., Dulay., N, Eisenbach, S., and Kramer, J. 1995. Specifying distributed software architecture. In Proceedings of the ESEC '95. Lecture Notes in Computer Science, No. 989, pp. 137--153. Google ScholarGoogle Scholar
  35. Maher, A., Kuusela, J., and Ziegler, J. 1996. Object-Oriented Technology for Real-time Systems, A Practical Approach using OMT and Fusion. Prentice Hall. Google ScholarGoogle Scholar
  36. Mandrioli, D., Morasca, S., and Morzenti, A. 1995. Generating test cases for real-time systems from logic specifications. ACM Trans. Comp. Syst. 13, 4, pp. 365--398. Google ScholarGoogle Scholar
  37. Marotta, A., Morzenti, A., and Mandrioli, D. 2001. Modeling and Analyzing Real-time CORBA and Supervision & Control Framework and Applications. In Proceedings of the 21st International Conference on Distributed Computer Systems (ICDCS 2001). Google ScholarGoogle Scholar
  38. Mills, H., Dyer, M., and Linger, R. 1987. Cleanroom software engineering. IEEE Softw. 4, 5, pages 19--25.Google ScholarGoogle Scholar
  39. Morzenti, A., Pradella, M., Rossi, M., Russo, S., and Sergio, A. 1999. A case study in object-oriented modeling and design of distributed multimedia applications. In Proceedings of the Second Symposium on Software Engineering for Parallel and Distributed Systems (PDSE'99), Los Angeles (USA), IEEE Computer Society Press, pp 217--223. Google ScholarGoogle Scholar
  40. Morzenti, A. and San Pietro, P. 1994. Object-Oriented logic specifications of time critical systems, ACM Trans. Softw. Eng. Method. 3, 1 (Jan.). pp. 56--98. Google ScholarGoogle Scholar
  41. Neema, S., Bapty T., Gray J., and Gokhale A. 2002. Generators for synthesis of QoS adaptation in distributed real-time embedded systems. First ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE 2002), Pittsburgh (USA), pp. 236--251. Google ScholarGoogle Scholar
  42. OpenDREAMS Consortium. Final Report, Deliv. WP0/T0.1-ALCT-REP/R01e.Google ScholarGoogle Scholar
  43. OpenDREAMS II Consortium. 2000. Final Report, Deliv. WP0/T0.1-ALCT-REP/R01b-V1.Google ScholarGoogle Scholar
  44. OpenDREAMS II Consortium. 1998a. EMS application specification extensions. Deliv. WP7/T7.1-ENEL-REP/R71-V1.Google ScholarGoogle Scholar
  45. OpenDREAMS II Consortium. 1998b. Formalization of OD services. Deliv. WP1/T1.3-PdM-REP/R13-V1.Google ScholarGoogle Scholar
  46. OpenDREAMS II Consortium 1998c. Activity modules functional specification. Deliv. WP3/T3.3-ISR-REP/R33-V2.Google ScholarGoogle Scholar
  47. OpenDREAMS II Consortium. 1998d. Utility modules functional specification. Deliv. WP3/T3.2-ALCT-REP/R32-V1.Google ScholarGoogle Scholar
  48. OMG 2000. The common object request broker: architecture and specification, Revision 2.4. OMG Technical report 2000-10-01, 492 Old Connecticut Path, Framingham, MA.Google ScholarGoogle Scholar
  49. OMG 2001a. The common object request broker: architecture and specification, Revision 2.5. OMG Technical report 2001-09-34, 492 Old Connecticut Path, Framingham, MA.Google ScholarGoogle Scholar
  50. OMG 2001b. Event service specification. OMG Technical report 2001-03-01. 492 Old Connecticut Path, Framingham, MA.Google ScholarGoogle Scholar
  51. OMG 2001c. Model driven architecture---A technical perspective. OMG Technical report ormsc/2001-07-01, 492 Old Connecticut Path, Framingham, MA.Google ScholarGoogle Scholar
  52. OMG 2001d. Software process engineering metamodel, OMG Technical report 2002-11-14. 492 Old Connecticut Path, Framingham, MA.Google ScholarGoogle Scholar
  53. OMG 2002a. The common object request broker: architecture and specification. Revision 3.0. OMG Technical report 2002-06-01, 492 Old Connecticut Path, Framingham, MA.Google ScholarGoogle Scholar
  54. OMG 2002b. Real-time CORBA specification. OMG Technical report 2002-08-02, 492 Old Connecticut Path, Framingham, MA.Google ScholarGoogle Scholar
  55. OMG 2002c. UML profile for CORBA specification. OMG Technical report 2002-04-01, 492 Old Connecticut Path, Framingham, MA.Google ScholarGoogle Scholar
  56. OMG 2003. OMG unified modeling language specification. OMG Technical report 2003-03-01, 492 Old Connecticut Path, Framingham, MA.Google ScholarGoogle Scholar
  57. Owre, S., Rushby, J. M., and SHankar, N. 1992. PVS: A prototype verification system. In Proceedings of the 11th International Conference on Automated Deduction. Lecture Notes in Computer Science, No. 607, pp. 748--752. Google ScholarGoogle Scholar
  58. Oram, A.2001. Peer-to-Peer, Harnessing the Power of Disruptive Technologies. O'Reilly. Google ScholarGoogle Scholar
  59. Parnas, D. L. and Clements, P. C. 1986. A rational design process: how and why to fake it. IEEE Trans. Softw. Eng. 12, 2, pp. 251--257. Google ScholarGoogle Scholar
  60. Pitt E. and McNiff K. 2001. JavaTM.rmi: The Remote Method Invocation Guide. Addison-Wesley. Google ScholarGoogle Scholar
  61. Pradella, M. 2000. Methods and tools for the design and analysis of distributed supervision and control systems. Ph.D. Thesis, Politecnico di Milano. www.elet.polimi.it/upload/pradella.Google ScholarGoogle Scholar
  62. Pradovera, P. 2001. A feasibility study of real-time systems based on the common object request architecture. M.S Thesis, University of Illinois at Chicago.Google ScholarGoogle Scholar
  63. Robbins, J. E., Medvidovic, N., Redmiles, D. F., and Rosenblum, D. S. 1998. Integrating architecture description languages with a standard design method. In Proceedings of the 20th Inter. Conf. on Softw. Engi. Kyoto, Japan. Google ScholarGoogle Scholar
  64. Rossi, M. 2002. Modeling and analysis of CORBA-based real-time distributed systems. Ph.D. Thesis, Politecnico di Milano. www.elet.polimi.it/upload/rossi/.Google ScholarGoogle Scholar
  65. Rumbaugh, J., Blaha, M. W., Premerlani, F., Eddy, F., and Lorensen, W. 1991. Object-Oriented Modeling and Design. Prentice Hall. Google ScholarGoogle Scholar
  66. Saiedian, H., Bowen, J. P., Butler, R. W., Dill, D. L., Glass, R. L., Gries, D., Hall, A., Hinchey, M. G., Holloway, C. M., Jackson, D., Jones, C. B., Lutz, M. J., Parnas, D. L., Rushby, J., Wing, J., and Zave, P. 1996. An invitation to formal methods. IEEE Computer, 29, 4, pp. 16--30. Google ScholarGoogle Scholar
  67. San Pietro, P., Morzenti, A., and Morasca, S. 2000. Test case generation for modular time critical systems. IEEE Trans. Softw. Eng. 26, 2. Google ScholarGoogle Scholar
  68. Schmidt, D. 2003. Real-time CORBA with TAO. www.cs.wustl.edu/∼schmidt/tao.html.Google ScholarGoogle Scholar
  69. Schmidt, D. C., Levine, D., and Mungee, S. 1998. The design of the TAO real-time object request broker. Comp. Comm. Elsevier Science, 21, 4, pp. 294--324. Google ScholarGoogle Scholar
  70. Selic, B., Gullekon, G., and Ward, P. T. 1994. Real-Time Object-Oriented Modeling. John Wiley. Google ScholarGoogle Scholar
  71. Siegel, J. 2000. CORBA 3 Fundamentals of Programming. John Wiley. Google ScholarGoogle Scholar
  72. Soley, R. and Stone, C. (ed). 1995. Object Management Architecture Guide. John Wiley. Google ScholarGoogle Scholar

Index Terms

  1. A formal approach for designing CORBA-based applications

                  Recommendations

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in

                  Full Access

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader