1、1,Software InstitutePeking UniversityDec. 7, 2007,ABC:Architecture Based Component Composition,2,ABC Technical Framework,Feature Oriented Requirements Analysis,Design of SoftwareArchitecture,Architecture Based Component Composition,Architecture Based Application Deployment,Architecture Based Mainten
2、ance and Evolution,FMTool (Feature Modeling Tool),ABCTool (Architecture Modeling Tool),PKUAS (J2EE-compliant Middleware),Proposed in 1998 Introduces software architectures into each phase of software life cycleAims for automated component based reuseEvolves to ,3,Reflective Middleware,Standard Middl
3、eware,ABC Technical framework,ABCTool,Design View,Deployment View,Runtime View,Implementation View,Meta Model of ADL,Feature Oriented Requirements Analysis,Object Oriented Analysis & Design,Architecture Recovery of Legacy Systems,Componentized SA,PKUAS,Component Library(JBCL),Reusable Component,Depl
4、oyment,Online maintenance & evolution,CORBA,J2EE,JOnAS,Fractal,Web Services,4,Illustrative Sample,Java Pet Store (JPS) A sample application by Java Blueprints program at Sun MicrosystemsAn online pet store enterprise that sells products animals to customers,OrderProcessCenter,5,Feature Oriented Mode
5、ling,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.Uses features and relations between features (feature model) to specify the problem space
6、.,Problem space,Feature,Relation between features,Feature-oriented view of the problem space,6,GUI of FMTool,Domain Feature Model,Application Feature Model,Draft Software Architecture,7,Domain Feature Model of E-shops,Domain Feature Model,Application Feature Model,Draft Software Architecture,8,Custo
7、mized Feature Model of JPS,Domain Feature Model,Application Feature Model,Draft Software Architecture,9,Draft Software Architecture of JPS,Feature model,Draft software architecture,Domain Feature Model,Application Feature Model,Draft Software Architecture,The way similar to functional decomposition
8、works well in this case,10,Software Architecture Modeling,Design View,Deployment View,Runtime View,Implementation View,Meta Model of ADL,Platform independent,Platform specific,Product specific,generality,The meta model of ADL only defines the elements common to all views and necessary for traceabili
9、ty,This meta model will become the Chinese Industry Standard soon,11,Reusable Elements in Repository for Implementation.,Connector Type,Component Type,Design Perspective: Type Diagram,ABC Perspectives, each of which provides a set of diagrams for Design, Implementation, Deployment, Runtime M&E,12,De
10、sign Perspective: Configuration Diagram,Tree of SA elements,Connection between component and connector,13,Design Perspective: Inner architecture diagrammodeling architecture inside a componentZoom in & Zoom outHierarchical Modeling,14,Design Perspective: Detail DialogShow detailed information of com
11、ponent “ShoppingClient”,Implementation Perspective:Similar with Design PerspectiveOnly add implementation specific infoe.g., ShoppingClient is implemented as a Java Servlet,15,Automatic Generation of Design Document,16,Architecture based Deployment,Challenges to Deployment (specific to J2EE)Understa
12、nding applications to be deployedBut the application becomes more and more complexConfiguring the whole systemsBut current tools require so many manual effortsDeploying to multiple nodes easilyBut current tools only support node by node,Design View,Deployment View,Runtime View,Implementation View,Me
13、ta Model of ADL,Platform independent,Platform specific,Product specific,generality,17,Architecture based Deployment Process,18,Deployment Perspective: Configuration DiagramShow relationship between deployed elements,Highlight associated components of this DataSource,visualizing server resource utili
14、zation,19,Architecture based Maintenance and Evolution,Online Maintenance and Evolutionvery valuable for large-scale distributed systems and 7x24 (7 days 24 hours) high availabilityBut very challenging to why, when, what & howABCs Runtime Software Architecture LeveragesSoftware architecture knowledg
15、e for why, when & whatMiddleware adaptability for how,Design View,Deployment View,Runtime View,Implementation View,Meta Model of ADL,Platform independent,Platform specific,Product specific,generality,20,Runtime Software Architecture,Runtime Software ArchitectureA model representing a runtime system
16、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,21,Runtime Perspective: Controller Dialogmonit
17、or and control runtime states and behaviors through controllerscontroller is a meta object in RSAapplication developers can insert user-defined controllers into RSA for implementing application specific reflection,Runtime Perspective: Plentiful runtime info is added,Four steps using Runtime Perspect
18、ive:Open SA artifacts in development (SA can be recovered from runtime system but which lacks of design info)Associate SA elements with runtime entities (instantiate SA to RSA)Customize whether a component is reflective and what reflection is activated when necessary (for controlling performance pen
19、alty)Reflecting SA elements,22,ABC Applications & Collaboration,ApplicationsInformation modeling of Beijing 2008 Olympic Games Commercialized by four software companiesCommercial use in finance, telecom, transportation, government, education, etc.CollaborationOne of OW2 founders (open source middlew
20、are community)merged by Objectweb & OrientwareJ2EE AS, Component Model, Autonomic ManagementIntegrated with AVAYA eXvantage (testing platform)Platform EGO (grid management)Tokyo Univ. (model transformation), Arizona State Univ. (service oriented architecture), IBM (solution engineering), Lucent (fea
21、ture interaction), ,23,Thanks,Feature Oriented Requirements Analysis,Design of SoftwareArchitecture,Architecture Based Component Composition,Architecture Based Application Deployment,Architecture Based Maintenance and Evolution,FMTool (Feature Modeling Tool),ABCTool (Architecture Modeling Tool),PKUAS (J2EE-compliant Middleware),ABC: Architecture Centric Engineering for net based SoftwareTransformation,