Computer · 1999 · 516 citations · 5 references
ComputingComputer EngineeringComputer SystemsFault ToleranceFault-tolerant ComputingSystems ArchitectureComponent-based Software EngineeringSoftware ArchitectureSoftware Fault ToleranceSoftware ReuseComponent ArchitectureComponent ContractsComponent ModelsComponent ReuseObject Request Broker ArchitectureReuse In Software EngineeringSoftware Component ReuseSoftware Components
Components have long promised to encapsulate data and programs into a box that operates predictably without requiring that users know the specifics of how it does so. Many advocates have predicted that components will bring about widespread software reuse, spawning a market for components usable with such mainstream software buses as the Common Object Request Broker Architecture (CORBA) and the Distributed Component Object Model (DCOM). In the Windows world, at least, this prediction is becoming a reality. Yet recent reports indicate mixed results when using and reusing components in mission-critical settings. Such results raise disturbing questions. How can you trust a component? What if the component behaves unexpectedly, either because it is faulty or simply because you misused it? Before we can trust a component in mission-critical applications, we must be able to determine, reliably and in advance, how it will behave. In this article the authors define a general model of sofware contracts and show how existing mechanisms could be used to turn traditional components into contract-aware ones.
5
Bertrand Meyer · Computer · 1992 · 2.1K citations
Computing, Computer Science, Design +15
Testing component-based software: a cautionary tale
Elaine J. Weyuker · IEEE Software · 1998 · 306 citations
Design by contract: the lessons of Ariane
J.-M. Jazequel, Bertrand Meyer · Computer · 1997 · 205 citations
Computing, Computer Science, Design +15
iContract - the Java(tm) Design by Contract(tm) tool
1998 · 169 citations