In this paper we enhance the SOFAComponent Description Language with a semantic description of a component's functionality. There are two key requirements this description aims to address: First, for the design purpose, it should ensure correct composition of the nested architectural abstractions; second, it should be easy-to-read so that an average user can identify a component with the correct semantics for the purposes of component trading. The semantic description in SOFA expresses the behavior of the component in terms of behavior protocols using a notation similar to regular expressions which is easy-to-read, and which grants guarantees about required and provided services. The behavior protocols are used on three levels: interface, frame, and architecture. One of the key achievements of this paper is that it defines a protocol conformance relation where the component designer can statically verify that the frame protocol adheres to requirements of the interface protocols, and that the architecture protocol adheres to the requirements of the frame and interface protocols.
|
2678
|
Communicating Sequential Processes
– Hoare
- 1985
|
|
1190
|
Object-Oriented Software Construction
– Meyer
- 1997
|
|
1070
|
A Calculus of Communicating Systems
– Milner
- 1980
|
|
857
|
Component Software: Beyond ObjectOriented Programming
– Szyperski
- 2002
|
|
350
|
A Classification and Comparison Framework for Software Architecture Description Languages
– Medvidovic, Taylor
- 2000
|
|
348
|
A behavioral notion of subtyping
– Liskov, Wing
- 1994
|
|
254
|
Abstractions for software architecture and tools to support them
– Shaw, DeLine, et al.
- 1995
|
|
225
|
Specification Matching of Software Components
– Zaremski, Wing
- 1997
|
|
213
|
A Formal Approach to Software Architecture
– Allen
- 1997
|
|
182
|
Regular types for active objects
– Nierstrasz
- 1995
|
|
178
|
Object-Oriented Development: The Fusion Method
– Coleman, Arnold, et al.
- 1994
|
|
119
|
Janeček R.: SOFA/DCUP: Architecture for Component Trading and Dynamic
– Pláˇsil, Bálek
- 1998
|
|
114
|
The specification of process synchronization by path expressions
– Campbell, Habermann
- 1974
|
|
97
|
Reuse contracts: managing the evolution of reusable assets
– Steyaert, Lucas, et al.
- 1996
|
|
85
|
Regis: a constructive development environment for distributed programs
– Magee, Dulay, et al.
- 1994
|
|
64
|
SDL, Formal Object-oriented Language for Communicating Systems
– Ellsberger, Hogrefe, et al.
- 1997
|
|
45
|
Requirements for a Composition Language
– Nierstrasz, Meijler
- 1994
|
|
45
|
Interfaces, Protocols, and the Semi-Automatic Construction of Software
– Yellin, Strom
- 1994
|
|
38
|
Towards foundations for concurrent objectoriented programming – types and language design. Theory and Practice of Object Systems
– Kobayashi, Yonezawa
- 1995
|
|
34
|
Executable connectors: Towards reusable design elements
– Ducasse, Richner
- 1997
|
|
26
|
PROCOL: A Concurrent Object-Oriented Language with
– Bos, Laffra
- 1991
|
|
26
|
Coordination requirements expressed in types for active objects
– Puntigam
- 1997
|
|
24
|
Types for active objects based on trace semantics
– Puntigam
- 1996
|
|
21
|
Procol: A parallel object language with protocols
– Bos, Laffra
- 1989
|
|
21
|
T.: Achieving middleware customization in a configuration-based development environment: experience with the Aster prototype
– Issarny, Bidan, et al.
- 1998
|
|
18
|
Component definition language
– Mencl
- 1998
|
|
17
|
An Architectural View of Distributed Objects and
– Plasil, Stal
- 1998
|
|
13
|
Inheriting Synchronization Protocols via Sound Enrichment Rules
– Plasil, Mikusik
- 1997
|
|
13
|
Introduction to VDM
– Woodman, Heal
- 1993
|
|
10
|
The RAISE Development Method
– George, Haxthausen, et al.
- 1995
|
|
10
|
Towards a formal composition language
– Lumpe, Schneider, et al.
- 1997
|
|
9
|
Object Protocols as Functional Parsers
– Florijn
- 1995
|
|
9
|
Characterizing Coordination Architectures According to Their Non-Functional Execution Properties
– Issarny, Bidan, et al.
- 1998
|
|
9
|
Describing Framework Architectures: more than Design Patterns
– Richner
- 1998
|
|
8
|
What characterizes a (software) component
– Broy, Deimel, et al.
|
|
6
|
Understanding object-oriented programs with declarative event analysis
– Richner, Ducasse, et al.
- 1998
|
|
5
|
M.: SOFAnet and SOFAnode – Basic Functionality
– Plasil, Balek, et al.
- 1997
|
|
4
|
S.: Synchronization protocols for Orbix 2.0
– Mikusik, Stranik, et al.
- 1998
|
|
3
|
E.: Class Composition for Specifying Framework Design
– Demeyer, Rieger, et al.
- 1997
|
|
2
|
Using path expressions as concurrency guards
– ANSA
- 1993
|
|
2
|
P.: On Communicating Finine-State Machines
– Brand, Zafiropulo
- 1983
|