6f8a96a80667794dcbf70859aec16801.ppt
- Количество слайдов: 23
ABC: Architecture Based Component Composition Software Institute Peking University Dec. 7, 2007 1
ABC Technical Framework Feature Oriented Requirements Analysis Design of Software Architecture FMTool (Feature Modeling Tool) Architecture Based Component Composition ABCTool PKUAS Architecture Based Application Deployment Architecture Based Maintenance and Evolution (Architecture Modeling Tool) (J 2 EE-compliant Middleware) v Proposed in 1998 Ø Introduces software architectures into each phase of software life cycle Ø Aims for automated component based reuse Ø Evolves to …… 2
ABC Technical framework Feature Oriented Requirements Analysis Componentized SA Object Oriented Analysis & Design Architecture Recovery of Legacy Systems Reusable Component Library (JBCL) ABCTool Design View Implementation View Deployment View Runtime View Meta Model of ADL Online maintenance & evolution Deployment Standard Middleware PKUAS Web Services CORBA Reflective Middleware J 2 EE JOn. AS Fractal 3
Illustrative Sample v Java Pet Store (JPS) Ø A sample application by Java Blueprints program at Sun Microsystems Ø An online pet store enterprise that sells products – animals – to customers Order Process Center 4
Feature Oriented Modeling v Treats features as the basic entities in the problem space. Ø A feature describes a software characteristic from user or customer views, which essentially consists of a cohesive set of individual requirements. v Uses features and relations between features (feature model) to specify the problem space. Problem space Feature Relation between features Feature-oriented view of the problem space 5
GUI of FMTool Domain Feature Model Application Feature Model Draft Software Architecture 6
Domain Feature Model of E-shops Domain Feature Model Application Feature Model Draft Software Architecture 7
Customized Feature Model of JPS Domain Feature Model Application Feature Model Draft Software Architecture 8
Draft Software Architecture of JPS Feature model The way similar to functional decomposition works well in this case Draft software architecture Domain Feature Model Application Feature Model Draft Software Architecture 9
Software Architecture Modeling generality Platform independent Design View Platform specific Implementation View Product specific Deployment View Runtime View Meta Model of ADL v The meta model of ADL only defines the elements common to all views and necessary for traceability Ø This meta model will become the Chinese Industry Standard soon 10
ABC Perspectives, each of which provides a set of diagrams for Design, Implementation, Deployment, Runtime M&E Design Perspective: Type Diagram Reusable Elements in Repository for Implementation. Connector Type Component Type 11
Design Perspective: Configuration Diagram Connection between component and connector Tree of SA elements 12
Design Perspective: Inner architecture diagram modeling architecture inside a component Zoom in & Zoom out Hierarchical Modeling 13
Implementation Perspective: Similar with Design Perspective Only add implementation specific info e. g. , Shopping. Client is implemented as a Java Servlet Design Perspective: Detail Dialog Show detailed information of component “Shopping. Client” 14
Automatic Generation of Design Document 15
Architecture based Deployment generality Platform independent Design View Platform specific Implementation View Product specific Deployment View Runtime View Meta Model of ADL v Challenges to Deployment (specific to J 2 EE) Ø Understanding applications to be deployed Ø But the application becomes more and more complex Ø Configuring the whole systems Ø But current tools require so many manual efforts Ø Deploying to multiple nodes easily Ø But current tools only support node by node 16
Architecture based Deployment Process 17
Deployment Perspective: Configuration Diagram Show relationship between deployed elements Highlight associated components of this Data. Source visualizing server resource utilization 18
Architecture based Maintenance and Evolution generality Platform independent Design View Platform specific Implementation View Product specific Deployment View Runtime View Meta Model of ADL v Online Maintenance and Evolution Ø very valuable for large-scale distributed systems and 7 x 24 (7 days 24 hours) high availability Ø But very challenging to why, when, what & how v ABC’s Runtime Software Architecture Leverages Ø Software architecture knowledge for why, when & what Ø Middleware adaptability for how 19
Runtime Software Architecture v Runtime Software Architecture Ø A model representing a runtime system as a set of architectural elements which are causally connected with the internal states and behaviors of the runtime system Ø Causal connection means changes at one side will immediately lead to the corresponding changes at the other side, and vice versa Self Representation by Meta Objects 20
Runtime Perspective: Plentiful runtime info is added Runtime Perspective: Controller Dialog monitor and control runtime states and behaviors through controllers controller is a meta object in RSA application developers can insert user-defined controllers into RSA for implementing application specific reflection Four steps using Runtime Perspective: 1) Open SA artifacts in development (SA can be recovered from runtime system but which lacks of design info) 2) Associate SA elements with runtime entities (instantiate SA to RSA) 3) Customize whether a component is reflective and what reflection is activated when necessary (for controlling performance penalty) 4) Reflecting SA elements 21
ABC Applications & Collaboration v Applications Ø Information modeling of Beijing 2008 Olympic Games Ø Commercialized by four software companies Ø Commercial use in finance, telecom, transportation, government, education, etc. v Collaboration Ø One of OW 2 founders (open source middleware community) Ø merged by Objectweb & Orientware Ø J 2 EE AS, Component Model, Autonomic Management Ø Integrated with Ø AVAYA e. Xvantage (testing platform) Ø Platform EGO (grid management) Ø Tokyo Univ. (model transformation), Arizona State Univ. (service oriented architecture), IBM (solution engineering), Lucent (feature interaction), …… 22
Thanks Feature Oriented Requirements Analysis FMTool (Feature Modeling Tool) Design of Software Architecture Based Component Composition ABCTool PKUAS Architecture Based Application Deployment Architecture Based Maintenance and Evolution (Architecture Modeling Tool) (J 2 EE-compliant Middleware) v ABC: Architecture Centric Engineering for net based Software Transformation 23
6f8a96a80667794dcbf70859aec16801.ppt