100 likes | 216 Views
Software Architecture Frameworks A Family of Implementations. Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA 90089-0781 mehta@usc.edu. Software Architectures. High level representation of system Structure, behavior, interactions, properties
E N D
Software Architecture FrameworksA Family of Implementations Nikunj MehtaComputer Science Department University of Southern California Los Angeles, CA 90089-0781 mehta@usc.edu
Software Architectures • High level representation of system • Structure, behavior, interactions, properties • Architecture Description Languages (ADLs) • Formal descriptions, • Style representations • Analysis • Lack implementation support • Mismatch between conceptual model and running systems • Difficulties in system evolution
Architecture Frameworks • Infrastructure support for architecture • Implementation • Deployment • Execution • Evolution • E.g. Middleware technologies and object frameworks • Based on architectural styles • C2 style for highly distributed, dynamic architectures • CORBA for brokered architectures
C2 Framework Objectives • A runtime environment for C2-style architectures that provides • Substrate independence • Distribution of computation • Message based communication • Dynamism • Light weight infrastructure with support for monitoring • Extensible foundation • Tractable transformation of architecture in to systems
Family of Frameworks • Different programming languages • Support for different underlying middleware • Tailored for different needs • Performance vs. Flexibility • Resource constrained environments • Palm pilot, embedded devices • Over 100 applications to date • Architectural style in terms of object oriented infrastructure
Polylith, ILU and RMI connectors Embedded applications Ada framework C++ framework Q Middleware eC2 framework xC2 framework C2 Project Inception First Applications developed ArchStudio oC2 framework Java framework C2.fw framework Framework Evolution
Next Generation Software Architectures • Sound implementation techniques • Better composition abilities • Richer architectural constructs • Highly tailored frameworks • Merging academic research with industrial practices • More objective principles of architecture based software development
Questions ??