100 likes | 223 Views
This work delves into the realm of software architecture frameworks, which provide critical infrastructure for implementing, deploying, and evolving software systems. It highlights the significance of architecture as a high-level representation of system structure, behavior, and interactions, while also addressing the challenges faced by architecture description languages (ADLs) in aligning conceptual models with practical implementations. The paper discusses various implementation frameworks tailored for different programming languages and middleware, emphasizing the need for performance and flexibility in resource-constrained environments.
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 ??