Skip to main content

Exactness and Clarity in a Component-Based Specification Language

  • Chapter
Object-Oriented Behavioral Specifications

Part of the book series: The Springer International Series in Engineering and Computer Science ((SECS,volume 371))

Abstract

We are investigating software architectures in general and component-based software development in specific. Our goal is to be able to specify architecture so that large-grain reuse can take place in a plug-and-play manner. To facilitate our investigation we have developed a new specification language that is an extension of CORBA’s interface definition language. Our extensions include specification of the behavior of interfaces.

This paper addresses the problem of designing and implementing a specification language that is formal enough to express exact specifications, yet clear enough to be used by real designers who are not mathematicians. It is our thesis that underlying, mathematical formalisms must be used to achieve exactness, and that given exactness, clarity can be achieved by building tools that hide much of the formalism from users. This paper presents three tools we are developing to hide a formal specification method from the average user.

This work is supported in part by the U.S. National Institute of Standards and Technology’s ATP project on component-based software.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. P. America, “Designing an object-oriented programming language with behavioural subtyping,” Lecture Notes in Computer Science, Vol. 489, pp. 60–90, Springer-Verlag, 1991.

    Article  MathSciNet  Google Scholar 

  2. R. Allen and D. Garlan, “Formalizing architectural connection,” in Proc. of the 16th Intl. Conf. on Software Engineering, IEEE Computer Society Press, pp. 71–80, May 1994. Also as http://www.cs.cmu.edu/afs/cs.cmu.edu/project/compose/www/paper_abstracts/wright-icse16.html.

  3. F. Bronsard, Using term ordering to control clausal deduction, Ph.D. thesis, University of Illinois, Urbana, tech. report UIUCDCS-R-95-1910, 1995.

    Google Scholar 

  4. J.P. Bowen and M.G. Hinchey, “Ten commandments of formal methods,” IEEE Computer, 28(4):56–63, April 1995. Also as http://www.cl.cam.ac.uk/users/mghl001/10comms.html.

    Google Scholar 

  5. F. Bronsard and U.S. Reddy, “Reduction techniques for first-order reasoning,” Conditional Term Rewriting Systems, Lecture Notes in Computer Science, Vol. 656, pp. 242–56, Springer-Verlag, 1992.

    Google Scholar 

  6. M.R. Barbacci and J.M. Wing, Durra: a task-level description language, Carnegie-Mellon University, Software Engineering Institute, tech. report SEI-86-TR-3, December 1986.

    Google Scholar 

  7. M.R. Barbacci, C.B. Weinstock, D.L. Doubleday, M.J. Gardner and R.W. Lichota, “Durra: a structure description language for developing distributed applications,” Software Engineering Journal, 8:2(83–94), March 1993.

    Article  Google Scholar 

  8. J. Callahan, Software Packaging, University of Maryland Computer Science Department, tech. report CS-TR-3093, June 1993. See also http://thumper.cs.umd.edu/files/docs/umcp-cs.html.

  9. CoGenTex, Inc., “ModelExplainer User Manual,” CoGenTex, Inc., 840 Hanshaw Road, Ithaca, NY 14850, USA, October 1995. See also http://www.cogentex.com/modex.html.

    Google Scholar 

  10. J. Callahan and J. Purtilo, “A packaging system for heterogeneous execution environments,” IEEE Trans, on Software Engineering, 17(6):626–35, June 1991.

    Article  Google Scholar 

  11. L. Cardelli and P. Wegner, “On understanding types, data abstraction, and polymorphism,” Computer Surveys, 17(4):471–522, December 1985.

    Article  Google Scholar 

  12. D. Garlan, R. Allen and J. Ockerbloom, “Architecture mismatch, or, why it’s hard to build systems out of existing parts,” in Proc. of the 17 th Intl. Conf on Software Engineering, pp. 179–185, ACM Press, April 1995. Also as http://www.cs.cmu.edu/afs/cs.cmu.edu/project/able/www-/paper_abstracts/archmismatch-icse 17.html

  13. J.V. Guttag and J.J. Horning, Larch: Languages and Tools for Formal Specification, Springer-Verlag, 1993. See also http://larch-www.lcs.mit.edu:8001/larch/.

  14. D. Garlan and D. Perry, “Introduction to the special issue on software architecture,” IEEE Trans. on Software Engineering, 21(4):269–74, April 1995.

    Google Scholar 

  15. Urs Hölzle, “Integrating independently-developed components in object-oriented languages,” in Proc. of the European Conf. on Object-Oriented Programming, Springer-Verlag, July 1993. Also as http://www.cs.ucsb.edu/oocsb/papers/oop-components.html.

  16. T. Halfhill and S. Salamone, “Components everywhere: Microsoft’s Network OLE and OMG’s CORBA are competing to distribute components on your network,” Byte, pp. 97–104, January 1996.

    Google Scholar 

  17. J.E. Hopcroft and J.D. Ullman, Introduction to Automata Theory, Languages and Computation, Chapter 3, Addison-Wesley, 1979.

    Google Scholar 

  18. G. Kiczales, “Towards a New Model of Abstraction in Software Engineering,” in Proc. of the IMSA’ 92 Workshop on Reflection and Meta-level Architectures, 1992.

    Google Scholar 

  19. G. Kiczales, “Why are black boxes so hard to reuse?,” invited talk at OOPSLA’94 and ICSE’95. See also http://www.parc.xerox.com/spl/projects/oi/.

  20. H. Kilov and B. Harvey, ed., “Precise behavioral specifications in 00 information modeling,” in Addendum to the proceedings (of OOPSLA’94), OOPS Messenger, 5(4): 137–142, SIGPLAN ACM, October 1994.

    Google Scholar 

  21. D. Katiyar, D. Luckham, and J. Mitchell, “A type system for prototyping languages,” in Conf Record of POPL’ 94: 21 st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM Press, January 1994.

    Google Scholar 

  22. W. Kozaczynski, E. Liongosari, J. Ning and A. Olafsson, “Architecture specification support for component integration,” in Proc. of the 7th Int. Workshop on Computer-Aided Software Engineering, pp. 30–39, IEEE Computer Society Press, July 1995.

    Google Scholar 

  23. J. Kramer, J. Magee, M. Sloman, and N. Dulay, “Configuring object-based distributed programs in REX,” IEE Software Engineering Journal, 7(2): 139–49, March 1992. See also http://www-dse.doc.ic.ac.uk/.

    Google Scholar 

  24. W. Kozaczynski and J. Ning, “Concern-driven design of a specification language supporting component-based software engineering,” a position paper to appear in Proc. of the 8 th Intl. Workshop on Software Spec, and Design (at ICSE-18), March 1996.

    Google Scholar 

  25. D.C. Luckham, J.J. Kenney, L.M. Augustin, J. Vera, D. Bryan and W. Mann, “Specification and analysis of system architecture using Rapide,” IEEE Trans, on Software Engineering, 21(4):336–55, April 1995. See also http://anna.stanford.edu/rapide/rapide.html.

    Article  Google Scholar 

  26. D.C. Luckham and J. Vera, “An event-based architecture definition language,” IEEE Trans, on Software Engineering, 21(9):717–34, September 1995.

    Article  Google Scholar 

  27. M. Linton, J. Vlissides and P. Calder, “Composing user interfaces with Interview,” Computer, 22(2):8–22, February 1989.

    Article  Google Scholar 

  28. B. Liskov and J. Wing, “Specifications and their use in defining subtypes,” in Proc. of OOPSLA’ 93, ACM SIGPLAN Notices, 28(10): 16–28, October 1993. Also as http://www.mit.edu:8001/-afs/cs.cmu.edu/project/venari/www/oopsla93.html

    Article  Google Scholar 

  29. B. Meyer, Object-oriented software construction, Prentice-Hall, 1988.

    Google Scholar 

  30. B. Meyer, “Applying ‘design by contract’,“ Computer, 25(10):40–51, October 1992. See also http://www.eiffel.com/doc/manuals/technology/contract/.

    Article  Google Scholar 

  31. Daryl McCullough. Personal conversation. CoGenTex, Inc., 840 Hanshaw Road, Ithaca, NY 14850, USA, http://daryl@cogentex.com, December 1995.

    Google Scholar 

  32. J. Magee, J. Kramer and M. Sloman, “Constructing distributed systems in Conic,” IEEE Trans, on Software Engineering, 15(6):663–75, June 1989.

    Article  Google Scholar 

  33. Object Management Group, Inc. The Common Object Request Broker: architecture and specification, Revision 2.0, OMG Headquarters, 492 Old Connecticut Path, Framingham, MA 01701 USA, July 1995. See also http://www.omg.org.

    Google Scholar 

  34. Dewayne Perry, “The Inscape environment,” in Proc. of the 11 th Intl. Conf. on Software Engineering, IEEE Computer Society Press, pp. 2–12, May 1989.

    Google Scholar 

  35. J.M. Purtilo, “Module reuse by interface adaptation,” Software—Practice and Experience, 21(6):539–556,June 1991.

    Article  Google Scholar 

  36. J.M. Purtilo, “The Polylith software bus,” ACM Trans, on Programming Languages and Systems, 16(1): 151–74, January 1994. See also http://thumper.cs.umd.edu/files/docs/tr.html.

    Article  Google Scholar 

  37. G.S. Sivaprasad, Larch/CORBA: specifying the behavior of CORBA-IDL interfaces, Iowa State University, Department of Computer Science tech. report TR-95-27, November 1995. Also available as http://www.cs.iastate.edu/tech-reports/TR95-27a.ps.

  38. M. Shaw, R. DeLine, D.V. Klein, T.L. Ross, D.M. Young and G. Zelesnik, “Abstractions for software architecture and tools to support them,” IEEE Trans, on Software Engineering, 21(4):314–35, April 1995. Also as http://www.cs.cmu.edu/afs/cs.cmu.edu/project/vit/www/-paper_abstracts/UniCon.htm1.

    Article  Google Scholar 

  39. S. Sankar and R. Hayes, “Specifying and testing software components using ADL,” Sun Microsystem Labs, tech. report SMLI TR-94-23, 2550 Garcia Ave., Mountain View, CA 94043, April 1994. See also http://www.smli.com/research/adl.

  40. S. Thatte, “Automated synthesis of interface adaptors for reusable classes,” in Proc. of 21 st Annual ACM SIGACT-SIGP LAN Symposium on Principles of Programming Languages, pp. 174–87, ACM Press, January 1994.

    Google Scholar 

  41. D. Yellin and R. Strom, “Interfaces, protocols, and the semi-automatic construction of software adaptors,” in Proc. of OOPSLA’ 94, ACM SIGPLAN Notices, 29(10): 176–190, October 1994.

    Article  Google Scholar 

  42. A. Zaremski and J. Wing, “Specification matching of software components,” in Proc. of 3 rd Symposium on the Foundations of Software Engineering, ACM SIGSOFT, October 1995. Also as http://www.cs.cmu.edu/afs/cs.cmu.edu/project/venari/www/sigsoft95.html.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Kluwer Academic Publishers

About this chapter

Cite this chapter

Bryan, D. (1996). Exactness and Clarity in a Component-Based Specification Language. In: Object-Oriented Behavioral Specifications. The Springer International Series in Engineering and Computer Science, vol 371. Springer, Boston, MA. https://doi.org/10.1007/978-0-585-27524-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-0-585-27524-6_1

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-0-7923-9778-6

  • Online ISBN: 978-0-585-27524-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics