Lecture7 Week 07 01 Analysis of Arch and Arch Analysis Tech Intro duction The lecture covers the importance of analyzing software architectures the techniques available for analysis and the goals that should be achieved Architectural analysis helps in discovering important system properties early prior to full system construction It aids stakeholders in answering key questions related to system design Goals of Architectural Analysis Completeness Ensures that all elements of the architectural model are covered both externally system re quirements and internally model completeness Consistency Ensures no contradictions exist within architectural elements focusing on name interface be havior and interaction consistency Compatibility Ensures that the architecture adheres to style guidelines and reference architectures Correctness Validates that the architectural model fully realizes the system specification and that the system implements the model correctly Architectural Concerns Architectural analysis considers several types of concerns Structural Characteristics Involves the connectivity between components and connectors Behavioral Characteristics Internal and composite behavior of components Interaction Characteristics Connectors and interaction patterns within the system Non functional Characteristics Cross cutting concerns like performance scalability and usability Types of Analysis Static Analysis Infers system properties from architectural models without executing them It is widely used for syntactic correctness and can be automated Dynamic Analysis Involves execution or simulation of a system model to assess dynamic behavior requiring an executable system model Scenario driven Analysis Focuses on specific use case scenarios that highlight particular system behaviors especially for large systems Sources of Complexity in Distributed Event Based Systems DEBS Distributed Event Based Systems DEBS face maintenance challenges due to Ambiguous Interfaces Interfaces are not clearly defined making system evolution and debugging complex Attribute Based Message Types Scattered message types make understanding communication difficult Unclear Message Flow Understanding how messages flow between components is often obfuscated Message Flow Identification Eos Technique The Eos technique helps in identifying message flow in DEBS Consumed Message Types CMTs Attributes extracted from consumed messages are identified and associated with message types Published Message Types PMTs Attributes added to messages before they are published are tracked Intra Flow Dependencies Dependency relationships between consumed and published messages within the same component Inter Flow Dependencies Dependencies between components that communicate by matching published and consumed message types 35Formality of Models Informal Models Boxes and lines diagrams are informal and mainly used to communicate with non technical stakeholders Semi Formal Models UML and other similar models provide a middle ground facilitating both human inter pretation and partial automation Formal Models Include rigorously defined syntax and semantics supporting comprehensive automated anal ysis Scope of Analysis The scope of architectural analysis can vary Component and Connector Level Focuses on specific components and their direct connections Subsystem and System Level Involves larger architectural blocks their interactions and data exchange pat terns Data Exchange Analyzes the flow structure and properties of data moving through the system Analysis Techniques Inspections and Reviews Human stakeholders manually analyze architectural models to assess soft properties e g scalability adaptability The Architectural Tradeoff Analysis Method ATAM is a notable example Model Based Analysis Tool driven techniques to assess architectural properties such as correctness compati bility and adherence to constraints Simulation Based Analysis Executable models are used to simulate the system allowing for dynamic and behavioral analysis typically applied to non functional properties like performance Architectural Consistency Ensuring consistency across different aspects of architecture is crucial Name Consistency Ensures that components and connectors have consistent naming across the system Interface Consistency Ensures that parameters and return types in component interfaces match the expected requirements Behavioral Consistency The internal behavior of components should align with their specified functionality Interaction Consistency Components should interact as expected adhering to the rules established by their interfaces and behavior Architectural Tradeoff Analysis Method ATAM ATAM is a human centric process for analyzing and evaluating risks and trade offs in architectural designs It focuses on Business Drivers The system s critical functionality and stakeholder priorities Scenarios Including use case growth and exploratory scenarios that test the limits of the architecture Architectural Approaches Evaluates how different design choices affect quality attributes such as performance modifiability and security 36Architectural Tradeoff Analysis Method ATAM Continued ATAM is a structured approach for analyzing software architectures based on trade offs among quality attributes Business Drivers Ensure that the architecture aligns with critical business goals and stakeholder needs Scenarios Test the architecture under various scenarios that evaluate performance scalability security and modifiability Risks and Sensitivity Points Identify risks and areas where architectural decisions may heavily affect system properties ATAM s output provides actionable insights into how different architectural choices impact quality attributes and business outcomes Scenario Based Analysis Techniques In architectural analysis scenario based techniques are vital for understanding how a system will behave under specific conditions These scenarios can target different architectural qualities Performance Scenarios Evaluate response time throughput and scalability under expected workloads Security Scenarios Test how the architecture responds to security threats such as unauthorized access Modifiability Scenarios Assess how changes to components features or interfaces impact the system s ability to evolve Availability Scenarios Simulate system failure conditions to determine how architecture supports recovery or failover Architectural Evaluation Framework AEF The Architectural
View Full Document