Trustworthy components - compositionality and prediction

This article defines key requirements for an architecture-based approach to trustworthy components. We then provide a brief overview of our architecture definition language RADL with a focus on compositionality and extra-functional properties.RADL aims at very high-level specification and validation of hierarchical assemblies of distributed real-time components. Several ideas in RADL are oriented towards modern middleware technologies such as .NET and EJB and to software-engineering methods such as UML. RADL dynamic models are centered around contracts, state machines and Petri nets. These are associated to contact points and connectors for defining connection constraints in architectural specification. They define configuration and behavioral contracts when they are associated to components and architectural assemblies of components.RADL contracts permit static compatibility checks and automatic gate adaptation for true black-box reuse. Dynamic monitoring of deployed components complements this with execution-based mechanism enabling prediction of extra-functional properties during architectural design.

[1]  Jan van Leeuwen,et al.  Handbook of Theoretical Computer Science, Vol. B: Formal Models and Semantics , 1994 .

[2]  Mike P. Papazoglou,et al.  Information Systems Interoperability , 1998 .

[3]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[4]  Heinz W. Schmidt Prototyping and analysis of non-sequential systems using predicate-event nets , 1991, J. Syst. Softw..

[5]  Christine Mingins,et al.  Providing Trusted Components to the Industry , 1998, Computer.

[6]  Bev Littlewood,et al.  Software reliability and dependability: a roadmap , 2000, ICSE '00.

[7]  Sea Ling,et al.  Constructing interoperable components in distributed systems , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32.

[8]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[9]  Bernd J. Krämer,et al.  Types and modules for net specifications , 1987 .

[10]  Ralf H. Reussner,et al.  Reliability prediction for component-based software architectures , 2003, J. Syst. Softw..

[11]  Mary Shaw,et al.  The coming-of-age of software architecture research , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[12]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[13]  Jan van Leeuwen,et al.  Formal models and semantics , 1990 .

[14]  Amir Pnueli,et al.  Compositionality : the significant difference : international symposium, COMPOS '97, Bad Malente, Germany, September 8-12, 1997 : revised lectures , 1998 .

[15]  Amir Pnueli,et al.  Revised Lectures from the International Symposium on Compositionality: The Significant Difference , 1997 .

[16]  Ralf H. Reussner,et al.  Trust-by-Contract: Modelling, Analysing and Predicting Behaviour of Software Architectures , 2001, Trans. SDPS.

[17]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[18]  Sea Ling,et al.  Time Petri nets for workflow modelling and analysis , 2000, Smc 2000 conference proceedings. 2000 ieee international conference on systems, man and cybernetics. 'cybernetics evolving to systems, humans, organizations, and their complex interactions' (cat. no.0.

[19]  Ralf H. Reussner Enhanced component interfaces to support dynamic adaption and extension , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[20]  Ralf Reussner,et al.  Automatic Component Adaptation By Concurrent State Machine Retrofitting , 2000 .

[21]  Jian Chen,et al.  Reasoning about concurrent objects , 1995, Proceedings 1995 Asia Pacific Software Engineering Conference.

[22]  Mehdi Jazayeri,et al.  Software Architecture for Product Families: Principles and Practice , 2000 .

[23]  Amir Pnueli,et al.  Compositionality: The Significant Difference , 1999, Lecture Notes in Computer Science.

[24]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[25]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[26]  Grzegorz Rozenberg,et al.  Concurrency and Nets , 1987, Springer Berlin Heidelberg.

[27]  Ralf H. Reussner,et al.  Generating Adapters for Concurrent Component Protocol Synchronisation , 2002, FMOODS.