The Extensible Tool-chain for Evaluation of Architectural Models

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

Software Architecture Lecture 14
2009 – E. Félix Security DSL Toward model-based security engineering: developing a security analysis DSML Véronique Normand, Edith Félix, Thales Research.
Architecture Representation
By Xiangzhe Li Thanh Nguyen.  Components and connectors are composed in a specific way in a given system’s architecture to accomplish that system’s objective.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Creating Domain-Specific Development Infrastructures George Edwards Computer Science Department University of Southern California.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Domain-Specific Software Engineering (DSSE). Software Engineering Concerns  There are many of them  “Classical” software architecture research has focused.
Analysis Techniques. Architectural Analysis in a Nutshell Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Architectural Styles Characterize –Structure, i.e. external.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Cognitive Task Analysis and its Application to Restoring System Security by Robin Podmore, IncSys Frank Greitzer, PNNL.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
[ §3 : 1 ] 2. Life-Cycle Perspective Overview 2.1 Motivation 2.2 Waterfall Model 2.3 Requirements in Context.
Lecture 9: Chapter 9 Architectural Design
High Level Architecture Overview and Rules Thanks to: Dr. Judith Dahmann, and others from: Defense Modeling and Simulation Office phone: (703)
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
1 Introduction to Software Engineering Lecture 1.
Architecture Analysis Techniques
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
Independent Insight for Service Oriented Practice Summary: Service Reference Architecture and Planning David Sprott.
16/11/ Semantic Web Services Language Requirements Presenter: Emilia Cimpian
Department of Computer Science University of Southern California Los Angeles, CA, USA George Edwards Nenad Medvidovic
© Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.:
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
1 The XMSF Profile Overlay to the FEDEP Dr. Katherine L. Morse, SAIC Mr. Robert Lutz, JHU APL
Marilyn Wolf1 With contributions from:
Building Enterprise Applications Using Visual Studio®
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
SysML v2 Formalism: Requirements & Benefits
Complexity Time: 2 Hours.
Distribution and components
Web Ontology Language for Service (OWL-S)
HCI in the software process
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
Embedded Systems Hardware/ Software Co-Development
Enterprise Data Model Enterprise Architecture approach Insights on application for through-life collaboration 2018 – E. Jesson.
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Model-Driven Analysis Frameworks for Embedded Systems
Object-Oriented Analysis
Chapter 2 Database Environment Pearson Education © 2009.
Retargetable Model-Based Code Generation in Ptolemy II
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Tools for Composing and Deploying Grid Middleware Web Services
The Extensible Tool-chain for Evaluation of Architectural Models
Software Architecture
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Implementing Architectures
Design and Implementation
Architecture Description Languages
HCI in the software process
An Introduction to Software Architecture
Architecture Analysis Techniques
Chapter 9 Architectural Design.
Automated Analysis and Code Generation for Domain-Specific Models
Presented By: Darlene Banta
Requirements Document
Chapter 2 Database Environment Pearson Education © 2009.
From Use Cases to Implementation
Presentation transcript:

The Extensible Tool-chain for Evaluation of Architectural Models 11/13/2018 The Extensible Tool-chain for Evaluation of Architectural Models George Edwards gedwards@usc.edu Center for Systems and Software Engineering University of Southern California

Project Overview Motivation Approach Provide an extensible 11/13/2018 Project Overview Motivation Provide an extensible infrastructure to aid software architects Provide design rationale Weigh architectural trade-offs Understand compositions of off-the-shelf components Approach Extensible modeling languages based on architectural constructs Model interpreter framework Implements a semantic mapping between architectural models and simulation models Enables rapid implementation of customized dynamic analyses at the architectural level November 13, 2018

Background Architecture Description Languages (ADLs) 11/13/2018 Background Architecture Description Languages (ADLs) Capture the crucial design decisions that determine the ultimate capabilities, properties, and quality of a software system Can be leveraged throughout the software development process Model-Driven Engineering (MDE) Combines domain-specific modeling languages (DSMLs) with model analyzers, transformers, and generators Metamodels define DSMLs, including the elements, relationships, views, and constraints Domain-specific models are created according to the rules of the DSML Model interpreters analyze and transform domain-specific models November 13, 2018

Approach (1/2) ADLs as Domain-Specific Modeling Languages 11/13/2018 Approach (1/2) ADLs as Domain-Specific Modeling Languages Codify ADLs as metamodels Metamodel composition enables the combination of constructs from multiple ADLs within a single model Metamodel enhancement allows the definition of new, customized ADL constructs Reuse of existing ADLs maximizes the potential for reuse of the tool infrastructure. Incremental language extensions enable a specific architectural analysis technique. November 13, 2018

Approach (2/2) Architectural Analysis Techniques as Model Interpreters 11/13/2018 Approach (2/2) Architectural Analysis Techniques as Model Interpreters Utilize a model interpreter framework for rapid implementation of domain-specific analysis techniques Transforms architectural models into executable simulations Provides empty “hook” methods that are implemented by the architect to perform analysis calculations and record measurements Simulations provide a scenario-driven dynamic analysis Results depend heavily on the environmental context (e.g., the load put on the system) and may contain elements of randomness and unpredictability (e.g., the timing of client requests) The set of scenarios to be simulated should include high-risk situations and boundary conditions Allows the architect to rapidly investigate the consequences of fundamental design decisions in terms of their impact on non-functional properties November 13, 2018

The XTEAM Tool-chain Composes existing ADLs 11/13/2018 The XTEAM Tool-chain Composes existing ADLs xADL Core (structures and types) and Finite State Processes (behavior) Implements a model interpreter framework Uses xADL Core and FSP language elements Captures domain-specific ADL extensions End-to-end latency (includes task and process execution times) Energy consumption (includes computational and communication energy costs) Reliability (includes failure probabilities and recovery times) Memory usage (includes memory usage of processes) Implements simulation generators Operate on the information captured in ADL extensions to perform scenario-driven analysis November 13, 2018

Discrete Event Simulation 11/13/2018 Discrete Event Simulation Latency Provides, for each required interface, the response time for each invocation Reliability Provides the time and type of failures and the recovery time Power Consumption Provides the energy consumption of each host (i.e., remaining battery power) over time Memory Usage Provides the amount of memory being used on each host over time as the system executes November 13, 2018

Ongoing and Future Work 11/13/2018 Ongoing and Future Work Evaluate XTEAM using a real-world security application that operates in an embedded, wireless environment Integrate XTEAM with other complementary architecture-based development tools DeSi and Prism-MW Determine the class of analysis techniques that can be implemented with our model interpreter framework Evaluate the feasibility of supporting other classes of analysis techniques (e.g., static analyses) via additional interpreter frameworks Further define ways in which our approach can be integrated with widely-used architectural development processes Architecture Trade-off Analysis Method (ATAM) November 13, 2018