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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
P. America, “Designing an object-oriented programming language with behavioural subtyping,” Lecture Notes in Computer Science, Vol. 489, pp. 60–90, Springer-Verlag, 1991.
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.
F. Bronsard, Using term ordering to control clausal deduction, Ph.D. thesis, University of Illinois, Urbana, tech. report UIUCDCS-R-95-1910, 1995.
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.
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.
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.
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.
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.
CoGenTex, Inc., “ModelExplainer User Manual,” CoGenTex, Inc., 840 Hanshaw Road, Ithaca, NY 14850, USA, October 1995. See also http://www.cogentex.com/modex.html.
J. Callahan and J. Purtilo, “A packaging system for heterogeneous execution environments,” IEEE Trans, on Software Engineering, 17(6):626–35, June 1991.
L. Cardelli and P. Wegner, “On understanding types, data abstraction, and polymorphism,” Computer Surveys, 17(4):471–522, December 1985.
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
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/.
D. Garlan and D. Perry, “Introduction to the special issue on software architecture,” IEEE Trans. on Software Engineering, 21(4):269–74, April 1995.
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.
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.
J.E. Hopcroft and J.D. Ullman, Introduction to Automata Theory, Languages and Computation, Chapter 3, Addison-Wesley, 1979.
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.
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/.
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.
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.
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.
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/.
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.
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.
D.C. Luckham and J. Vera, “An event-based architecture definition language,” IEEE Trans, on Software Engineering, 21(9):717–34, September 1995.
M. Linton, J. Vlissides and P. Calder, “Composing user interfaces with Interview,” Computer, 22(2):8–22, February 1989.
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
B. Meyer, Object-oriented software construction, Prentice-Hall, 1988.
B. Meyer, “Applying ‘design by contract’,“ Computer, 25(10):40–51, October 1992. See also http://www.eiffel.com/doc/manuals/technology/contract/.
Daryl McCullough. Personal conversation. CoGenTex, Inc., 840 Hanshaw Road, Ithaca, NY 14850, USA, http://daryl@cogentex.com, December 1995.
J. Magee, J. Kramer and M. Sloman, “Constructing distributed systems in Conic,” IEEE Trans, on Software Engineering, 15(6):663–75, June 1989.
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.
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.
J.M. Purtilo, “Module reuse by interface adaptation,” Software—Practice and Experience, 21(6):539–556,June 1991.
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.
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.
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.
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.
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.
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.
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.
Author information
Authors and Affiliations
Rights 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