Explicit Connectors in Component Based Software Engineering for Distributed Embedded Systems. Dietmar Schreiner and Karl M.
|
|
|
- Jacob Haynes
- 10 years ago
- Views:
Transcription
1 Explicit Connectors in Component Based Software Engineering for Distributed Embedded Systems Dietmar Schreiner and Karl M. Göschka Vienna University of Technology Institute of Information Systems, Distributed Systems Group Argentinierstrasse 8 / 184-1, A-1040 Vienna {d.schreiner,k.goeschka}@infosys.tuwien.ac.at Abstract. The increasing complexity of today s embedded systems applications imposes the requirements and constraints of distributed, heterogeneous subsystem interaction to software engineers. These requirements are well met by the component based software engineering paradigm: complex software is decomposed into coherent, interacting units of execution, the so called components. Connectors are a commonly used abstraction to model the interaction between them. We propose to use explicit connectors when building distributed embedded systems applications. Explicit connectors encapsulate the logic of distributed interaction, hence they provide well defined contracts regarding properties of intercomponent communication. Our approach allows model level validation of component composition and interaction incorporating communication related constraints beyond simple interface matching. In addition, by using explicit connectors, the complexity of application components is reduced without the need for any heavy weight middleware. 1 Introduction Currently embedded applications are no longer simple programs executed on single electronic control units (ECUs). In fact, nowadays embedded systems applications are heterogeneous software systems, deployed on a wide variety of hardware platforms and communication subsystems. In addition embedded systems applications are often used in safety or mission critical environments. This all lead to a dramatic increase of software complexity and consequently to an increase of erroneously deployed software. To overcome that problem and to reduce the overall costs for embedded systems applications, various paradigms from the classical software engineering process have been adopted to the needs of the embedded systems domain. Adoption becomes necessary due to the limited resources in embedded systems, which would otherwise render many useful concepts from the classic software engineering domain unusable. The limitations range from that of processing power over available memory and networkbandwidth up to safety and real-time issues. In general, embedded applications have to be small, efficient and extremely reliable.
2 1.1 Background A widely accepted and adopted software engineering paradigm within the embedded systems domain is that of component based software engineering (CBSE). The key concept behind CBSE is to construct an application by composing small, simple units of execution - the components. Components are specified by their interfaces, contracts [8], and their accordance to a specific component model. As components provide means of exchangeability and reusability, implicit context dependencies are strictly prohibited. When building a system by composition, so by connecting components, the point of connection, the connector, becomes a hot-spot of abstraction for any interaction. In many component systems like Enterprise Java Beans [18], the Corba Component Model [14], or DCOM [10], the rather complex process of distributed, heterogeneous interaction is transferred from the individual components into the component model s heavy weight middleware implementation in order to make it transparent for the components themselves. In these component models connectors are abstract model level representations of component interaction and are typically not associated with any contractual properties beyond function signatures within interface specifications. In embedded systems the application of a heavy-weight middleware is often disadvantageous due to the systems limited resources. Nevertheless, it is a good idea to keep the complex and error-prone interaction logic separated, if possible hidden, from the application components. In our approach this is achieved by introducing coherent and explicit connectors and associated contracts in the component model. In addition, by using explicit connectors, more precise requirements and provisions regarding the components interaction become visible. These emerging contracts allow a detailed computation of requirements and may be used for model level validation of component composition. 1.2 Contribution We demonstrate how to use explicit connectors at model level when building component based applications for distributed embedded systems. The advantages gained by this approach are threefold: (i) By encapsulating the interaction and communication logic within connectors, the complexity of application components is reduced. Application components become smaller in size and complexity but more reusable and reliable. (ii) Connectors can be provided off-theshelve (OTS) by communication subsystem suppliers. This will also reduce the development costs of a distributed embedded systems application and increase its reliability. (iii) Explicit connectors home all interaction and communication logic. Hence they provide an additional set of contracts that emerge from the component architecture and the deployment specification. We show how to use these emerging contracts to improve the validation of component based applications at model level.
3 2 Components, Connectors and Contracts In accordance to the work of [19, 9, 7, 11] we define a component as a (i) trusted architectural element, an element of execution, representing (ii) software or hardware functionality, with a (iii) well defined usage description. It conforms to a (iv) component model and can be independently deployed and composed without modification according to a composition standard. An interface is a set of exposed services through which components interact. A provided interface exposes a components functionality for usage by other components while a required interface specifies the need of functionality of other components.asinterfacesaretheonlypointsofcomponentinteraction,acomponent has to provide at least one interface, but may own multiple, distinct ones, so called facets. Interfaces specify the dependencies between the services provided by the component and the services required to fulfill the component s task. 1 2 * Requirements * Provisions <<component>> Name Interfaces * Requirements * Provisions provided services required services * Requirements * Provisions Fig. 1: UML 2.0 notation of a component Figure 1 shows the notation of a component and its interfaces complying with the UML 2.0 Superstructure specification [13]. The UML 2.0 notation will be used for most figures within this paper. To strengthen the reliability and predictability of component based applications, guarantees about the behavior of application elements are formalized in contracts [8, 15]. Contracts specify requirements and provisions of associated elements. In general a contract consists of two obligations: 1. The client, requiring functionality from another element, has to satisfy the preconditions of the provider. 2
4 2. The provider, that is the supplier of the required functionality, has to fulfill its postcondition, if the client s precondition is met. We distinguish four types of contracts: 1. Component-contracts are associated with components and their instances. Typical component contracts deal with resource requirements or deployment restrictions. 2. Interface-contracts specify services and properties of the components interfaces like function signatures or temporal properties for interface invocations. 3. Connector-contracts are associated to connectors and deal with constraints related to the used communication channels. 4. Platform-contracts specify properties of platform elements like ECUs or bus systems regarding provided memory or timing information. In Figure 1 contracts for the component and each of its interfaces are specified. The one labeled with 1, is a component-contract, specifying requirements and provisions of the component itself. The others, labeled with 2, are interfacecontracts, specifying requirements and provisions for interaction on a specific interface. To build a valid application in CBSE, components are assembled to form a composed entity with a new behavior. To assemble means associating related provided and required interfaces. It is obvious that related interfaces have to be of the same type, so provide compatible interface-contracts. The connection between two components is called connector. CA CIFR << component >> A IF CIFP << component >> B Fig. 2: Simple composition in UML 2.0 An example composition is depicted in Figure 2: two components A and B are connected to form a composed structure. A requires functionality provided by B. Therefor B exports that functionality by a provided interface IF denoted by a ball, A exports the requirement by a required interface IF denoted by a socket. As the type of A s required interface is the same as B s provided CB
5 interface, the composition is legal. In addition four very basic contracts are specified within this figure: CA and CB are component-contracts specifying the component s resource requirements. CIF R and CIF P are interface-contracts for the required and provided interface of A and B. Figure3showstheinterface contracts, that are very simple ones but are sufficient for demonstration purpose: both contracts refer to the same interface (id=0 ). Both interfaces are of the same type (type= API ) and contain the same service (id= exampleservice ) with an identical signature. However, the contracts differ in the worst-case-executiontime (WCET) property (wcet) of the service. As one can easily see, the provided WCET is less than the requirements, so the depicted composition seems to be valid. <contract type="ri" id="cifr"> <interface type="api" id="0"> <service id="exampleservice"> <param idx="0" type="void"/> <result type="void"/> <wcet t="0.05s"/> </service> </interface> </contract> (a) CIF R Fig. 3: Interface contracts <contract type="pi" id="cifp"> <interface type="api" id="0"> <service id="exampleservice"> <param idx="0" type="void"/> <result type="void"/> <wcet t="0.01s"/> </service> </interface> </contract> (b) CIF P Connectors as introduced in [17] represent first class architectural entities embodying component interaction. With increasing application complexity and distribution, connectors become a key factor in the whole development process. They encapsulate and therefore abstract the transfer of control and data among components. In many component models connectors are not mentioned explicitly as the implementation of the connectors functionality resides within component middleware and is transparent for the application components. In this paper connectors are considered to be explicit and thereby are granted a component equivalent status. This is mandatory as resource limited embedded systems typically lack complex component middleware or even real operating systems. Although explicit connectors look very similar to components, there exist two major differences: 1. As pointed out in [2], connectors are physically fragmented. When deploying two connected components on two different ECUs, the connector between the application components has to be split into two separate fragments, each deployed, and therefor colocated, with the related application component. 2. A connector s life-cycle starts after the specification of the components deployment. Before the specification of the application s deployment schema,
6 connectors are abstract entities within architectural models. After specifying the physical component location, the available communication channels between the components are defined. This information is required to transform the abstract model entities into real, deployable connector fragments. 3 Using Explicit Connectors In this section we demonstrate the usage of explicit connectors when building a component based application. We do this with a very simple application consisting of two connected components. This is of course no real-world application, but it is sufficient to demonstrate our approach. A more realistic application - an automotive, speed-aware lock control - has been implemented in the scope of project COMPASS [6] to proof our concept. 3.1 Component Architecture The first step in developing a component based application is to define the application s architecture. We do this by specifying a UML 2.0 component diagram. Figure 2 depicts such a diagram. In addition to the composition of the components interfaces, the connector s base type can be specified. The base type of a connector can be derived by the connector s communication style. We identified several typical communication styles like procedure call, data broadcast, blackboard access or data stream and extended the UML 2.0 syntax for composition diagrams with symbols for explicit connectors. Example connector symbols are shown in Figure 4. A detailed classification of connector types is out scope of this paper, but is subject to ongoing research. Synchronous Procedure Call Asynchronous Procedure Call Data Broadcast Blackboard Access Data Stream Fig. 4: Connector type symbols For our example we use the application specified in the component diagram given in Figure 2. The application consists of two components A and B, one synchronous procedure call connector for interface IF and four associated contracts. 3.2 Deployment Specification The next step in developing the application is to specify the deployment schema. Figure 5 provides a UML 2.0 deployment diagram: The sample application is distributed over two ECUs, ECU1 and ECU2, thatareconnectedbyaphysicalbus
7 BUS. The ECUs and the bus are associated with platform contracts containing information about provided memory for each ECU or propagation delays on the bus. ECU1 CECU1 <<component>> :A BUS 3.3 Transformation CBUS ECU2 <<component>> :B Fig. 5: Deployment schema By using the deployment specification, the component architecture can be transformed into a new one, containing concrete explicit connectors, to be more precise: connector fragments. In addition an adopted deployment scheme is generated too. In our example the components A and B are located on different ECUs, that are connected by the bus BUS. The communication style of the connector is synchronous procedure call. Therefor the connector consists of two fragments, which have to be selected from the connector library of the used bus system and ECU. The transformed composition diagram of the application is denoted in Figure 6, the transformed deployment schema in Figure 7. Figure 6 shows that four additional contracts become available within the application model: The contracts CCF A and CCF B are connector-contracts. These contracts contain requirements of the connector fragments, similar to componentcontracts. CIF P and CIF R are interface-contracts associated with the fragments interfaces. The connector s interface-contract CIF P is calculated by extending A s interface-contract CIF P with information provided by the connectorcontracts CCF A, CCF B and the platform-contract of the bus CBUS. CECU2
8 CA CIFR << component >> A CIFP IF Explicit Connector << connector >> Fragment CFA CCFA Physical Boundary << connector >> Fragment CFB << component >> B CCFB Fig. 6: Transformed composition diagram IF These emerging contracts become extremely valuable when validating the constructed application model. To enable the usage of a general connector library, an additional interface adaptor is required between the components and the general connector fragments. This adaptor is generated as part of the applied transformation process and is not shown in our example as it can be treated like an application component. 3.4 Validation Finally the transformed model of the application can be validated. All available contracts have to be checked. To show the advantage of our approach, we will choose platform- and connector-contracts that will lead to an invalid application, although the constructed model seemed to be a valid composition as demonstrated in Section 2. First all component- and connector-contracts have to be checked against the platform-contracts as specified in the transformed deployment diagram. In our example we assume, that the total of used resources on each ECU is less then the provided amount and that no hardware restrictions are violated by the components and the connector fragments. So the first validation check is passed successfully. Next the interface-contracts have to be checked. We have to match the interface-contract CIF R of component A with the emerging interface-contract CIF P of the connector. To do so, CIF P has to be calculated: We have to create a new contract based on component B s interface-contract CIF P using information provided by the CIFR CIFP CB
9 CA CCFA ECU1 CECU1 <<component>> :A << connector >> :Fragment CFA BUS <contract type="p" id="cbus"> <bus id="0"> <buscycle_length t="0.1"/> <slot_length t="0.05"/> </bus> </contract> (a) CBUS CBUS ECU2 <<component>> :B CECU2 << connector >> :Fragment CFB Fig. 7: Transformed deployment diagram <contract type="c" id="ccf?"> <connector type="rpc"> <response time="1*"/> <WCET t="0.01"/> </connector> </contract> Fig. 8: Platform- and connector-contracts (b) CCF B,CCF A CB connector-contracts and the platform-contracts of the communication subsystem. In Figure 8 the platform-contract of the bus and the connector-contracts for the fragments are specified. The connector-contracts are identical, so we just show one to save space. The connector fragments add additional execution time of 0.01 seconds each to the WCET in contract CIF P. As the connector type is synchronous procedure call, invoking a remote procedure requires a confirmation response containing the result. This implies that we again have to increase WCET in contract CIF P by the systems response time. That is calculated by multiplying the connectors response time with the buscycle length of the bus. The so calculated emerging contract is given in Figure 9. As one can see, the provided WCET of 0.13 seconds is higher than the required WCET of 0.05 seconds. Our sample application turned out to be invalid under the specified platform and deployment schema. CCFB
10 <contract type="pi" id="cifp "> <interface type="api" id="0"> <service id="exampleservice"> <param idx="0" type="void"/> <result type="void"/> <wcet t="0.13s"/> </service> </interface> </contract> Fig. 9: Calculated interface contract CIF P Similar calculations can be applied to different functional and non-functional properties specified within the model s contracts. 4 Conclusion and Future Work In our paper we demonstrated how to use explicit connectors when building component based applications. Explicit connectors help to reduce the complexity of application components in absence of a component middleware. Moreover, the set of all deployed connector fragments within one ECU can be seen as the custom tailored middleware for that specific ECU. When using explicit connectors, additional contracts emerge from model transformation, using deployment information to specify the available communication channels. This leads to a more precise model level validation of component interaction in composed software architectures. Our ongoing research deals with the identification and classification of connector types in automotive embedded systems applications and with the model level validation of looped composed component architectures. 5 Related Work To adopt the CORBA Component Model (CCM) [14] to embedded software design connectors are integrated into CCM in The CORBA Connector Model [16]. Here, connectors are used to mediate interaction between distributed CORBA components and therefore are limited to CORBA specific interaction and communication styles. Connectors in general are extensively examined within work [2, 4, 1] related to the project SOFA - Software Appliances [5]. SOFA defines a component model, providing hierarchically nested components and connectors as first class architectural entities. The internal structure of connectors is analyzed in Communication Style Driven Connector Configurations [4] aiming at automatic component composition. SOFA defines three types of basic connectors: (i) Procedure Call, (ii)
11 Event Delivery and (iii) Data Stream. In addition user-defined connectors can be specified. However, our research is focused on software connectors for embedded systems and therefore deals with more hardware and system related issues like e.g. resource usage of connectors. Another project dealing with component based software engineering is FRAC- TAL [12]. FRACTAL defines a component model, that also contains connectors. A binding is defined to be a communication path between component interfaces. Bindings are classified to be (i) primitive or (ii) composite. A primitive binding binds one client interface and one server interface, in the same address space. A composite binding is a communication path between an arbitrary number of distributed component interfaces and is represented as a set of primitive bindings and binding components. Binding components are called FRACTAL connectors and are normal FRACTAL components, whose role is dedicated to communication [3]. As connectors are of no primary concern in FRACTAL, nofurther specification on how to interact is provided. This is contrary to the work proposed within this paper, where connectors play an important role in component interaction. 6 Acknowledgements This work has been partially funded by the FIT-IT [embedded systems initiative of the Austrian Federal Ministry of Transport, Innovation, and Technology] and managed by Eutema and the Austrian Research Agency FFG within project COMPASS [6] under contract References 1. D. Bálek. Connectors in Software Architectures. PhD thesis, Charles University Prague, Faculty of Mathematics and Physics; Department of Software Engineering, Feb D. Bálek and F. Plasil. Software connectors and their role in component deployment. In DAIS, pages 69 84, E. Bruneton, T. Coupaye, and J.-B. Stefani. The Fractal Component Model. ObjectWeb T. Bures and F. Plasil. Communication style driven connector configurations. In Lecture Notes in Computer Science, volume 3026, pages , Charles University Prague, Department of Software Engineering. SOFA - Software Appliances. projects/sofa/tools/doc/compmodel.html. 6. COMPASS. Component Based Automotive System Software. /projects/compass/index.html. 7. G. T. Heineman and W. T. Councill, editors. Component-Based Software Engineering. Addison Wesley, B. Meyer. Applying design by contract. IEEE Computer, 25(10):40 51, B. Meyer. The grand challenge of trusted components. In ICSE, pages , 2003.
12 10. Microsoft Corporation and Redmond, WA. DCOM architcture. url=/library/en-us/dndcom/html/msdn dcomtec.asp. 11. O. Nierstrasz and D. Tsichritzis, editors. Object-Oriented Software Composition. Object-Oriented Series. Prentice-Hall, Dec ObjectWeb. FRACTAL OMG. UML 2.0 Superstructure Specification, OMG. CORBA Component Model Specification Version 4.0, R. H. Reussner and H. W. Schmidt. Using parameterised contracts to predict properties of component based software architectures. In S. L. Ivica Crnkovic and J. Stafford, editors, Workshop on Component-based Software Engineering Proceedings, S. Robert, A. Radermacher, V. Seignole, S. Gérard, V. Watine, and F. Terrier. The CORBA connector model. In SEM, pages 76 82, M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Sun Microsystems. Enterprise JavaBeans TM Specification 2.1 Final Release C. Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Jan
EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS
EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS David URTING, Stefan VAN BAELEN, Tom HOLVOET and Yolande BERBERS {David.Urting, Stefan.VanBaelen, Tom.Holvoet, Yolande.Berbers}@cs.kuleuven.ac.be
Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g
Systems Integration: Component-based software engineering Objectives To explain that CBSE is concerned with developing standardised components and composing these into applications To describe components
Distributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box
Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components
Software Component Specification Using Design by Contract
Software Component Specification Using Design by Contract Yi Liu and H. Conrad Cunningham Department of Computer and Information Science University of Mississippi 237 Kinard Hall University, MS 38677 USA
Structuring Product-lines: A Layered Architectural Style
Structuring Product-lines: A Layered Architectural Style Tommi Myllymäki, Kai Koskimies, and Tommi Mikkonen Institute of Software Systems, Tampere University of Technology Box 553, FIN-33101 Tampere, Finland
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles
Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles Hongyu Pei Breivold, Magnus Larsson ABB AB, Corporate Research, 721 78 Västerås, Sweden {hongyu.pei-breivold, magnus.larsson}@se.abb.com
What Is the Java TM 2 Platform, Enterprise Edition?
Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today
A Management Tool for Component-Based Real-Time Supervision and Control Systems
A Management Tool for Component-Based Real-Time Supervision and Control Systems Sandro Santos Andrade, Raimundo José de Araújo Macêdo Distributed Systems Laboratory (LaSiD) Post-Graduation Program on Mechatronics
A Framework for the Semantics of Behavioral Contracts
A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK [email protected] Abstract. Contracts have proved a powerful concept
Model Transformations and Code Generation
Model Transformations and Code Generation Ecole IN2P3 Temps Réel [email protected] 2 École d été, 26.11 08h30 10h00: Cours S1 Component models CCM and FCM (connectors) CCM CORBA component model
Component Based Software Engineering: A Broad Based Model is Needed
Component Based Software Engineering: A Broad Based Model is Needed Allen Parrish ([email protected]) Brandon Dixon ([email protected]) David Hale ([email protected]) Department of Computer Science
Dynamic Adaptability of Services in Enterprise JavaBeans Architecture
1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** [email protected], {pcdavid, ledoux}@emn.fr (*) Faculté
SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
CoSMIC: An MDA Tool Suite for Application Deployment and Configuration
CoSMIC: An MDA Tool Suite for Application Deployment and Configuration Tao Lu, Emre Turkay, Aniruddha Gokhale*, Douglas Schmidt Institute for Software Integrated Systems Vanderbilt University, Nashville
The CVS-Server Case Study: A Formalized Security Architecture
The CVS-Server Case Study: A Formalized Security Architecture Extended Abstract Achim D. Brucker, Frank Rittinger, and Burkhart Wolff {brucker,rittinge,wolff}@informatik.uni-freiburg.de 1 Introduction
What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
What is Middleware? Application Application Middleware Middleware Operating System Operating System Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
Software Engineering
Software Engineering Lecture 06: Design an Overview Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 35 The Design Phase Programming in
An Overview of Challenges of Component Based Software Engineering
An Overview of Challenges of Component Based Software Engineering Shabeeh Ahmad Siddiqui Sr Lecturer, Al-Ahgaff University, Yemen Abstract Nowadays there is trend of using components in development of
Introduction to Service Oriented Architectures (SOA)
Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction
Software Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 5 Integrated Object-Oriented Methodologies: OPM and Catalysis 1 Object Process Methodology (OPM) Introduced by Dori in 1995 Primarily intended
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
Designing Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
Lightweight Data Integration using the WebComposition Data Grid Service
Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
MIDDLEWARE 1. Figure 1: Middleware Layer in Context
MIDDLEWARE 1 David E. Bakken 2 Washington State University Middleware is a class of software technologies designed to help manage the complexity and heterogeneity inherent in distributed systems. It is
PIE. Internal Structure
PIE Internal Structure PIE Composition PIE (Processware Integration Environment) is a set of programs for integration of heterogeneous applications. The final set depends on the purposes of a solution
The Service Availability Forum Specification for High Availability Middleware
The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum [email protected], [email protected],
Software Architecture Document
Software Architecture Document Natural Language Processing Cell Version 1.0 Natural Language Processing Cell Software Architecture Document Version 1.0 1 1. Table of Contents 1. Table of Contents... 2
i. Node Y Represented by a block or part. SysML::Block,
OMG SysML Requirements Traceability (informative) This document has been published as OMG document ptc/07-03-09 so it can be referenced by Annex E of the OMG SysML specification. This document describes
Web Services Software Architecture
Web Services Software Architecture Syahrul Fahmy School of Informatics, The University of Manchester, PO Box 88, Manchester M60 1QD, United Kingdom [email protected] Abstract. Web
A standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist [email protected] Copyright IBM Corporation 2005. All rights
Compliance and Requirement Traceability for SysML v.1.0a
1. Introduction: Compliance and Traceability for SysML v.1.0a This document provides a formal statement of compliance and associated requirement traceability for the SysML v. 1.0 alpha specification, which
IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2
Designing the SRT control software: Notes to the UML schemes Andrea Orlati 1 Simona Righini 2 1 - I.N.A.F. Istituto di Radioastronomia. 2 Dip. Astronomia - Università degli Studi di Bologna. Dicembre 2008
Managing a Fibre Channel Storage Area Network
Managing a Fibre Channel Storage Area Network Storage Network Management Working Group for Fibre Channel (SNMWG-FC) November 20, 1998 Editor: Steven Wilson Abstract This white paper describes the typical
Using UML Part Two Behavioral Modeling Diagrams
UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,
Service Oriented Architecture
Service Oriented Architecture Version 9 2 SOA-2 Overview Ok, now we understand the Web Service technology, but how about Service Oriented Architectures? A guiding analogy Terminology excursion Service,
GenericServ, a Generic Server for Web Application Development
EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student [email protected] Bilal CHEBARO Assistant professor [email protected] Abstract
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
Verification and Validation of Software Components and Component Based Software Systems
Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research [email protected]
zen Platform technical white paper
zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications
Chapter 6. CORBA-based Architecture 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications 1 Chapter 6. CORBA-based Architecture Part 6.1 Introduction to
Advanced Service Creation: Bridging the Gap Between Requirements Elicitation and Service Design
Advanced Service Creation: Bridging the Gap Between Requirements Elicitation and Service Design Dionisis X. Adamopoulos 1, Constantine A. Papandreou 2 1 University of Piraeus, Greece and Centre for Communication
Service Oriented Architectures
8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) [email protected] http://www.iks.inf.ethz.ch/ The context for SOA A bit of history
An Approach to Software Architecture Description Using UML
An Approach to Software Architecture Description Using UML Henrik Bærbak Christensen, Aino Corry, and Klaus Marius Hansen Department of Computer Science, University of Aarhus Aabogade 34, 8200 Århus N,
Event-based middleware services
3 Event-based middleware services The term event service has different definitions. In general, an event service connects producers of information and interested consumers. The service acquires events
Logical Data Models for Cloud Computing Architectures
Logical Data Models for Cloud Computing Architectures Augustine (Gus) Samba, Kent State University Describing generic logical data models for two existing cloud computing architectures, the author helps
PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE
PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE TIGRAN HAKOBYAN SUJAL PATEL VANDANA MURALI INTRODUCTION Common Object Request
Java Technology in the Design and Implementation of Web Applications
Java Technology in the Design and Implementation of Web Applications Kavindra Kumar Singh School of Computer and Systems Sciences Jaipur National University Jaipur Abstract: This paper reviews the development
Software design (Cont.)
Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java
A methodology for secure software design
A methodology for secure software design Eduardo B. Fernandez Dept. of Computer Science and Eng. Florida Atlantic University Boca Raton, FL 33431 [email protected] 1. Introduction A good percentage of the
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN
Component-Oriented Engineering
Component-Oriented Engineering... the dawn of a new era in embedded software development productivity Francis Bordeleau and Ross MacLeod Zeligsoft May 2008 Component-Oriented Engineering the dawn of a
Integrated Development of Distributed Real-Time Applications with Asynchronous Communication
Integrated Development of Distributed Real-Time Applications with Asynchronous Communication Marc Schanne International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES) 26-28 September
Generating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
THE IMPACT OF INHERITANCE ON SECURITY IN OBJECT-ORIENTED DATABASE SYSTEMS
THE IMPACT OF INHERITANCE ON SECURITY IN OBJECT-ORIENTED DATABASE SYSTEMS David L. Spooner Computer Science Department Rensselaer Polytechnic Institute Troy, New York 12180 The object-oriented programming
Communication Diagrams
Communication Diagrams Massimo Felici Realizing Use cases in the Design Model 1 Slide 1: Realizing Use cases in the Design Model Use-case driven design is a key theme in a variety of software processes
Managing Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie
Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation
Objectives Distributed Databases and Client/Server Architecture IT354 @ Peter Lo 2005 1 Understand the advantages and disadvantages of distributed databases Know the design issues involved in distributed
Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk
Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk Physical Architecture As stated earlier, architecture can be defined at both a logical
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE
However, the marketplace for replaceable components is still not at sight due to many
Software Replaceability: An NFR Approach Lei Zhang Lawrence Chung Jing Wang Department of Computer Science The University of Texas at Dallas {lei74, chung, jwang}@ utdallas.edu Abstract Building software
Applying Configuration Management Techniques to Component-Based Systems
IT Licentiate thesis 2-7 MRTC Report /24 Applying Configuration Management Techniques to Component-Based Systems MAGNUS LARSSON UPPSALA UNIVERSITY Department of Information Technology Applying Configuration
Agile Modeling and Design of Service-Oriented Component Architecture
Agile Modeling and Design of Service-Oriented Component Architecture Zoran Stojanovic, Ajantha Dahanayake, Henk Sol Systems Engineering Group, Faculty of Technology, Policy and Management, Delft University
CORBAservices. Naming. Part of the CORBA Naming Service Interface in IDL. CORBA Naming Service
CORBAservices CORBAservices are general purpose and application independent services. They resemble and enhance services commonly provided by an operating system: Service Collection Query Concurrency Transaction
The Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.
Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional
Implementing reusable software components for SNOMED CT diagram and expression concept representations
1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
Comparison of Component Frameworks for Real-time Embedded Systems
Comparison of Component Frameworks for Real-time Embedded Systems Petr Hošek 1, Tomáš Pop 1, Tomáš Bureš 1,2, Petr Hnětynka 1, Michal Malohlava 1 1 Department of Software Engineering Faculty of Mathematics
Service Oriented Architecture 1 COMPILED BY BJ
Service Oriented Architecture 1 COMPILED BY BJ CHAPTER 9 Service Oriented architecture(soa) Defining SOA. Business value of SOA SOA characteristics. Concept of a service, Enterprise Service Bus (ESB) SOA
Ontology for Home Energy Management Domain
Ontology for Home Energy Management Domain Nazaraf Shah 1,, Kuo-Ming Chao 1, 1 Faculty of Engineering and Computing Coventry University, Coventry, UK {nazaraf.shah, k.chao}@coventry.ac.uk Abstract. This
Architecture & Design of Embedded Real-Time Systems (TI-AREM)
Architecture & Design of Embedded Real-Time Systems (TI-AREM) Architectural Design Patterns 2. Components & Connectors and Component Architecture Patterns and UML 2.0 Ports (BPD. Chapter 4. p. 184-201)
