Review Sources of Architecture. Why Domain-Specific?

Size: px
Start display at page:

Download "Review Sources of Architecture. Why Domain-Specific?"

Transcription

1 Domain-Specific Software Architectures (DSSA) 1 Review Sources of Architecture Main sources of architecture black magic architectural visions intuition theft method Routine design vs. innovative design good designers vs. great designers cost vs. optimality vs. repeatability Architecting consists of decomposition of a system into constituent elements composition of (existing) elements into a system Process-driven vs. checklist-driven architecting heuristic-based vs. rule-based design space navigation Domain-Specific Software Architectures (DSSA) 2 Why Domain-Specific? Development in specific domains can be optimized maximize method and theft minimize intuition Reuse in specific domains is most realistic reuse in general is too difficult to achieve focus on particular classes of applications with similar characteristics Criteria for successful reuse [Biggerstaff] well-understood domain slowly changing has intercomponent standards provides economies of scale fits existing infrastructure

2 Domain-Specific Software Architectures (DSSA) 3 Problem Space Software Development Solution Space Domain-Specific Software Architectures (DSSA) 4 Architecture-Based Software Development Problem Space Solution Space

3 Domain-Specific Software Architectures (DSSA) 5 Problem Space DSSA-Based Software Development Solution Space Domain-Specific Software Architectures (DSSA) 6 What Is DSSA? DSSA is an assemblage of software components specialized for a particular type of task (domain) generalized for effective use across that domain composed in a standardized structure (topology) effective for building successful applications - Rick Hayes-Roth, 1994 DSSA is comprised of a domain model, reference requirements, a reference architecture (expressed in an ADL), its supporting infrastructure/environment, and a process/methodology to instantiate/refine and evaluate it. - Will Tracz, 1995

4 Domain-Specific Software Architectures (DSSA) 7 What Is a Domain Model? All models are wrong; some are useful. - unknown, SEI A domain model is a representation what happens in a domain functions being performed data, information, and entities flowing among the functions It deals with the problem space Fundamental objective: standardize problem-domain terminology and semantics terminology + semantics = ontology provide basis for standardized descriptions of problems to be solved in the domain Domain-Specific Software Architectures (DSSA) 8 Domain Analysis Domain model is a product of domain analysis Domain analysis entails identifying, capturing and organizing objects and operations their description using a standardized vocabulary in a class of similar systems in a particular problem domain to make them reusable when creating new systems Domain analysis is like several blind men describing an elephant

5 Domain-Specific Software Architectures (DSSA) 9 Elements of a Domain Model (1) Customer needs statement identifies functional requirements high-level informal ambiguous incomplete Scenarios functional requirements data flow control flow elicited from the customer Domain dictionary definitions of terms used in the domain model updated over time Domain-Specific Software Architectures (DSSA) 10 Elements of a Domain Model (2) Context (block) diagram high-level data flow between the major components in the system Entity/relationship diagrams aggregation ( a-part-of ) and generalization ( is-a ) relationships Data flow models State transition models Object model first phase of component interface design

6 Domain-Specific Software Architectures (DSSA) 11 What Are Reference Requirements? Requirements that apply to the entire domain Reference requirements contain defining characteristics of the problem space functional requirements limiting characteristics (constraints) in the solution space non-functional requirements (e.g., security, performance) design requirements (e.g., architectural style, UI style) implementation requirements (e.g., platform, language) Domain-Specific Software Architectures (DSSA) 12 What Is a Reference Architecture? A standardized, generic architecture describing all systems in a domain focuses on fundamental abstractions of the domain that expose a hierarchical, compositional nature a set of reference architectures may be needed to satisfy all reference requirements Based on the constraints in reference requirements Syntax and semantics of constituent high-level components are specified It is reusable, extendable, and configurable A reference architecture is instantiated to create a design architecture for a specific application system

7 Domain-Specific Software Architectures (DSSA) 13 Elements of a Reference Architecture Reference architecture model topology based on the architectural style Configuration decision tree to instantiate a system from the reference architecture Architecture schema or design record information about components and design alternatives domain- and implementation-specific Reference architecture (component) dependency diagram Component interface descriptions Constraints parameter value ranges and relationships Rationale Domain-Specific Software Architectures (DSSA) 14 DSSA Process with Principal Supporting Tool Types Modeling Tools Domain Model: Context + Reference Requirements Requirements Management Tools Application Requirements Analysis Application Requirements Application Design & Development Application System: Architecture + Components + Platform Specs Test & Validation System Architecture Specification Tools Reference Architecture Architecture Refinement & Evolution Tools

8 Domain-Specific Software Architectures (DSSA) 15 Primary DSSA Support Tool Types Domain modeling tools Requirements management tools describe new application objects, attributes, and relationships detect inconsistency, incompleteness, ambiguity Architecture specification tools refine reference architectures describe and constrain components and connectors Architecture refinement and evolution tools configure reference architecture to meet application-specific requirements specify and instantiate components compose configurations into an executable form Domain-Specific Software Architectures (DSSA) 16 Secondary DSSA Support Tool Types Repository tools store and retrieve components Component selection tools Component generators Architecture package, load, and exercise tools aid in the integration and configuration of components Requirements validation tools testing and analysis Performance validation tools observe system in execution or simulation

9 Domain-Specific Software Architectures (DSSA) 17 Tertiary DSSA Support Tool Types Language processing and compiling User interfaces Databases Distributed and real-time computing Documentation Configuration management Role used to develop tools at the previous two levels generic rather than DSSA-specific Domain-Specific Software Architectures (DSSA) 18 Three Layers of DSSA Environments Domain Architect Domain Development Environment Reference Architecture Development Tools Components Application Engineer Domain-Specific Application Development Environment Instantiated Architecture Operator Application Execution Environment

10 Domain-Specific Software Architectures (DSSA) 19 Avionics DSSA Avionics Domain Application Generation Environment Layered reference architecture subsystems decomposed into primitive components with standardized interfaces over 40 different realms with over 350 distinct components realm { x : component ( i,j)(x i.interface = x j.interface) } ADAGE reference architecture model: Controls and Display Flight Director Guidance reference architecture is defined by component realms and domain-specific composition constraints Navigation Radio-Nav even simple avionics systems often require over 50 distinct components stacked 15 layers deep Data Source Objects (sensors) Domain-Specific Software Architectures (DSSA) 20 ADAGE Tool Suite (1) DOMAIN (DOmain Models, All Integrated) a hypermedia scenario-based requirements capture and modeling tool Avionics Example Test Bed simulation and analysis tools (ACM and gnuplot) Software Circuit Compiler timing analysis tool Realm Component Builder and Compiler tool for describing components in the reference architecture GLUE (Graphical Layout User Environment) GUI for configuring and viewing the reference architecture VAGS (Variational Attribute Grammar System) - constraint checker

11 Domain-Specific Software Architectures (DSSA) 21 ADAGE Tool Suite (2) MEGEN (Module Expression GENerator) an application generator LILEANNA an ADA-specific high-level system description language Scientist Work Bench a data/program organization/launching tool Software Component Design Record Editor an information store for organizing reusable software artifacts Domain-Specific Software Architectures (DSSA) 22 ADAGE Development Environment Architecture Design GLUE/VAGS Evaluate Circuit Compiler Software Bus Generate MEGEN Test ACM/gnuplot Compose LILEANNA

12 Domain-Specific Software Architectures (DSSA) 23 Signal Processing DSSA Ptolemy a framework for simulation and rapid prototyping of heterogeneous systems focus on signal processing and communication systems Comprehensive scope algorithms and communication strategies simulation hardware and software design parallel computing generating real-time prototypes Domain (new telecom services) requires joint design of control software signal processing transport hardware elements Domain-Specific Software Architectures (DSSA) 24 Ptolemy Object Model Block reusable S/W component Star atomic Block Galaxy - composite Block Universe a complete Ptolemy application PortHoles standard interface for Block communication Particles Blocks communicate using streams of these Scheduler determines operational semantics of a network of blocks by ordering their invocations Target controls execution by invoking a Scheduler for a simulation-oriented application by synthesizing code, invoking an assembler, downloading code into attached hardware, etc. for synthesis-oriented applications

13 Domain-Specific Software Architectures (DSSA) 25 Ptolemy Object Model Example XYZUniverse XYZStar XYZStar Galaxy XYZStar XYZStar XYZStar Galaxy XYZStar Domain-Specific Software Architectures (DSSA) 26 Ptolemy Object Model (cont.) Domain - a set of Blocks, Targets, and associated Schedulers conforming to common computational model computational model is operational semantics governing Block interactions example domains: SDF - synchronous dataflow; for signal processing DDF - dynamic dataflow; for signal processing MQ - message queue; for telecom switching software DE - discrete event; network or high-level system modeling Wormhole - mechanism enabling different Domains to coexist in a Ptolemy application externally - a Star that obeys the operational semantics of the external Domain internally - an entire foreign Universe, with Scheduler and Stars for that Domain

14 Domain-Specific Software Architectures (DSSA) 27 Scheduler Ptolemy Domains Example EventHorizon XYZUniverse XYZDomain XYZWormhole ABCDomain Scheduler XYZfromUniversal ABCtoUniversal Particles XYZtoUniversal ABCfromUniversal Particles

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

More information

Current Issues and Future Trends. Architectural Interchange

Current Issues and Future Trends. Architectural Interchange Current Issues and Future Trends 1 Current Issues and Future Trends Architectural interchange Architectural toolkit Architectural refinement Architectural view integration Bringing architectures to the

More information

The Ptolemy Kernel Supporting Heterogeneous Design

The Ptolemy Kernel Supporting Heterogeneous Design February 16, 1995 The Ptolemy Kernel Supporting Heterogeneous Design U N T H E I V E R S I T Y A O F LET THERE BE 1868 LIG HT C A L I A I F O R N by The Ptolemy Team 1 Proposed article for the RASSP Digest

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN

More information

Introduction. ADL Roles

Introduction. ADL Roles Architecture Description Languages (ADLs) 1 Introduction Architecture is key to reducing development costs development focus shifts to coarse-grained elements Formal architectural models are needed ADLs

More information

Introduction to Modeling

Introduction to Modeling Introduction to Modeling Software Architecture Lecture 9 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Objectives Concepts What is modeling? How do we choose

More information

Software Architectures. Lecture 8

Software Architectures. Lecture 8 Software Architectures Lecture 8 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics

More information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo Ryu. College of Information and Communications Hanyang University. Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

What is Software Architecture

What is Software Architecture What is Software Architecture Is this diagram an architecture? (ATM Software) Control Card Interface Cash Dispenser Keyboard Interface What are ambiguities in the previous diagram? Nature of the elements

More information

Establishing the overall structure of a software system

Establishing the overall structure of a software system Architectural Design Establishing the overall structure of a software system Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13 Slide 1 Objectives To introduce architectural design and

More information

The ADAGE Avionics Reference Architecture 1

The ADAGE Avionics Reference Architecture 1 To appear in the AIAA Computing in Aerospace 10 Conference, San Antonio, 1995. The ADAGE Avionics Reference Architecture 1 Don Batory Department of Computer Sciences The University of Texas Austin, Texas

More information

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)

More information

A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS

A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS YUJUN ZHU, ZHONGWEI XU, MENG MEI School of Electronics & Information Engineering, Tongji University,

More information

Chapter 6 Architectural Design

Chapter 6 Architectural Design Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered The WHAT and WHY of architectural design Architectural design decisions Architectural views/perspectives Architectural

More information

Chapter 17 - Component-based software engineering. Chapter 17 So-ware reuse

Chapter 17 - Component-based software engineering. Chapter 17 So-ware reuse Chapter 17 - Component-based software engineering 1 Topics covered ² Components and component models ² CBSE processes ² Component composition 2 Component-based development ² Component-based software engineering

More information

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

More information

Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5

Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5 In summary, the key idea in the Ptolemy project is to mix models of computation, rather than trying to develop one, all-encompassing model. The rationale is that specialized models of computation are (1)

More information

GSAW Software Architectures: What are we Building? March 1999

GSAW Software Architectures: What are we Building? March 1999 GSAW 1999 Software Architectures: What are we Building? March 1999 Roger J. Dziegiel, Jr AFRL/IFTD 525 Brooks Rd Rome, NY 13441-4505 (315)330-2185 dziegielr@rl.af.mil Arch1 Architecture & Generation Parameterized

More information

Documentation Programmer-Oriented

Documentation Programmer-Oriented Documentation Programmer-Oriented Volume 3 Programmer s Manual software organization writing stars infrastructure data types Tcl/Tk domains code generation Volume 4 Kernel Manual detailed documentation

More information

Architectural Design

Architectural Design Architectural Design Minsoo Ryu Hanyang University 1. Architecture 2. Architectural Styles 3. Architectural Design Contents 2 2 1. Architecture Architectural design is the initial design process of identifying

More information

CSCI Object Oriented Design: Frameworks and Design Patterns George Blankenship. Frameworks and Design George Blankenship 1

CSCI Object Oriented Design: Frameworks and Design Patterns George Blankenship. Frameworks and Design George Blankenship 1 CSCI 6234 Object Oriented Design: Frameworks and Design Patterns George Blankenship Frameworks and Design George Blankenship 1 Background A class is a mechanisms for encapsulation, it embodies a certain

More information

Extensible Realm Interfaces 1

Extensible Realm Interfaces 1 Extensible Realm Interfaces 1 UT-ADAGE-94-01 Don Batory Department of Computer Sciences The University of Texas Austin, Texas 78712 Abstract The synthesis of avionics software depends critically on components

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases

More information

Cosimulation II. How to cosimulate?

Cosimulation II. How to cosimulate? Cosimulation II Cosimulation Approaches Mahapatra-Texas A&M-Fall 00 1 How to cosimulate? How to simulate hardware components of a mixed hardware-software system within a unified environment? This includes

More information

Raising the Level of Development: Models, Architectures, Programs

Raising the Level of Development: Models, Architectures, Programs IBM Software Group Raising the Level of Development: Models, Architectures, Programs Dr. James Rumbaugh IBM Distinguished Engineer Why Is Software Difficult? Business domain and computer have different

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

Software Reuse and Component-Based Software Engineering

Software Reuse and Component-Based Software Engineering Software Reuse and Component-Based Software Engineering Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Contents Software Reuse Components CBSE (Component-Based Software Engineering) Domain Engineering

More information

Cosimulation II. Cosimulation Approaches

Cosimulation II. Cosimulation Approaches Cosimulation II Cosimulation Approaches How to cosimulate? How to simulate hardware components of a mixed hardware-software system within a unified environment? This includes simulation of the hardware

More information

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities

More information

Requirements Analysis. SE 555 Software Requirements & Specification

Requirements Analysis. SE 555 Software Requirements & Specification Requirements Analysis Goals of Requirements Analysis Create requirements containing sufficient detail and of high enough quality to allow realistic project planning as well as successful design and implementation.

More information

Software Architecture: A quick journey

Software Architecture: A quick journey Software Architecture: A quick journey Session 6 Course ICT Entrepreneurship Prof. dr. Sjaak Brinkkemper Dr. Slinger Jansen Motivation Software systems are rapidly and continously growing in size and complexity

More information

Computer Aided Prototyping System (CAPS) for Heterogeneous Systems Development and Integration *

Computer Aided Prototyping System (CAPS) for Heterogeneous Systems Development and Integration * Computer Aided Prototyping System (CAPS) for Heterogeneous Systems Development and Integration * Luqi, V. Berzins, M. Shing, N. Nada and C. Eagle Computer Science Department Naval Postgraduate School Monterey,

More information

Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems 1.0 ABSTRACT

Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems 1.0 ABSTRACT August 31, 1992 U N T H E I V E R S I T Y A O F LET TH E R E B E 1 8 6 8 LI G H T C A L Department of Electrical Engineering and Computer Science I A I F O R N University of California Berkeley, California

More information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D. Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice

More information

Hierarchical FSMs with Multiple CMs

Hierarchical FSMs with Multiple CMs Hierarchical FSMs with Multiple CMs Manaloor Govindarajan Balasubramanian Manikantan Bharathwaj Muthuswamy (aka Bharath) Reference: Hierarchical FSMs with Multiple Concurrency Models. Alain Girault, Bilung

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

Requirements to models: goals and methods

Requirements to models: goals and methods Requirements to models: goals and methods Considering Garlan (2000), Kruchen (1996), Gruunbacher et al (2005) and Alter (2006-08) CIS Department Professor Duane Truex III Wojtek Kozaczynski The domain

More information

Sommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof.

Sommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof. Sommerville Chapter 6 The High-Level Structure of a Software Intensive System Architectural Design Slides courtesy Prof.Mats Heimdahl 1 Fall 2 2013 Architectural Parallels Architects are the technical

More information

Summary. Can create new design capabilities while leveraging the Ptolemy architecture and design resources.

Summary. Can create new design capabilities while leveraging the Ptolemy architecture and design resources. Summary Adding a Ptolemy Domain... Can create new design capabilities while leveraging the Ptolemy architecture and design resources. Requires thorough understanding of your computational specialization.

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 6 Architectural Design. Chapter 6 Architectural design Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

An Introduction to Software Architecture

An Introduction to Software Architecture An Introduction to Software Architecture Software Engineering Design Lecture 11 Motivation for studying SW architecture As the size of SW systems increases, the algorithms and data structures of the computation

More information

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving

More information

Acme: a Language for Architecture Exchange and Analysis. Talk Outline

Acme: a Language for Architecture Exchange and Analysis. Talk Outline Acme: a Language for Architecture Exchange and Analysis Dave Wile USC/ISI/CSE wile @ isi.edu http://www.isi.edu/softwaresciences/wile/home-page.html Talk Outline What is architecture? The uses for formal

More information

System Design. Acknowledge: Atlee and Pfleeger (Software Engineering: Theory and Practice)

System Design. Acknowledge: Atlee and Pfleeger (Software Engineering: Theory and Practice) System Design Acknowledge: Atlee and Pfleeger (Software Engineering: Theory and Practice) C 870: Advanced Software Engineering (System Design): Cheng Design: HOW to implement a system Goals: Satisfy the

More information

System-Level Design Languages: Orthogonalizing the Issues

System-Level Design Languages: Orthogonalizing the Issues System-Level Design Languages: Orthogonalizing the Issues The GSRC Semantics Project Tom Henzinger Luciano Lavagno Edward Lee Alberto Sangiovanni-Vincentelli Kees Vissers Edward A. Lee UC Berkeley What

More information

An Introduction to Network Simulation Using Ptolemy Software Tool

An Introduction to Network Simulation Using Ptolemy Software Tool An Introduction to Network Simulation Using Ptolemy Software Tool Nazy Alborz nalborz@sfu.ca Communication Networks Laboratory Simon Fraser University 1 Road Map: History Introduction to Ptolemy, its architecture

More information

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models Peter Feiler Software Engineering Institute phf@sei.cmu.edu 412-268-7790 2004 by Carnegie Mellon University

More information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

An Introduction to Software Architecture

An Introduction to Software Architecture An Introduction to Software Architecture Software Requirements and Design CITS 4401 Lecture 11 Motivation for studying SW architecture As the size of SW systems increase, the algorithms and data structures

More information

Web Ontology Language for Service (OWL-S) The idea of Integration of web services and semantic web

Web Ontology Language for Service (OWL-S) The idea of Integration of web services and semantic web Web Ontology Language for Service (OWL-S) The idea of Integration of web services and semantic web Introduction OWL-S is an ontology, within the OWL-based framework of the Semantic Web, for describing

More information

Architecture. Readings and References. Software Architecture. View. References. CSE 403, Spring 2003 Software Engineering

Architecture. Readings and References. Software Architecture. View. References. CSE 403, Spring 2003 Software Engineering Readings and References Architecture CSE 403, Spring 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03sp/ References» Software Architecture, David Garlan, CMU, 2001 http://www-2.cs.cmu.edu/~able/publications/encycse2001/»

More information

What is a Data Model?

What is a Data Model? What is a Data Model? Overview What is a Data Model? Review of some Basic Concepts in Data Modeling Benefits of Data Modeling Overview What is a Data Model? Review of some Basic Concepts in Data Modeling

More information

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart

More information

Review Architectural Style. Review Style Properties and Benefits

Review Architectural Style. Review Style Properties and Benefits Examples of Domain- and Style-Specific Architectures 1 Review Architectural Style Definitions Architectural styles are recurring organizational patterns and idioms. Established, shared understanding of

More information

Architecture. CSE 403, Winter 2003 Software Engineering.

Architecture. CSE 403, Winter 2003 Software Engineering. Architecture CSE 403, Winter 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03wi/ 21-February-2003 cse403-14-architecture 2003 University of Washington 1 References Readings

More information

Software Architectures. Lecture 7 15 Oct 2014

Software Architectures. Lecture 7 15 Oct 2014 Software Architectures Lecture 7 15 Oct 2014 2 14-Oct-14 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve

More information

An Information Model for High-Integrity Real Time Systems

An Information Model for High-Integrity Real Time Systems An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,

More information

CSE 435: Software Engineering. System Design

CSE 435: Software Engineering. System Design System Design Design: HOW to implement a system Goals: Satisfy the requirements Satisfy the customer Reduce development costs Provide reliability Support maintainability Plan for future modifications Design

More information

What is your definition of software architecture?

What is your definition of software architecture? What is your definition of software architecture? WHAT IS YOUR DEFINITION OF SOFTWARE ARCHITECTURE? The SEI has compiled a list of modern, classic, and bibliographic definitions of software architecture.

More information

Architectures in Context

Architectures in Context Architectures in Context Software Architecture Lecture 2 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Learning Objectives Understand architecture in its relation

More information

Fusing Dataflow with Finite State Machines

Fusing Dataflow with Finite State Machines May 3, 1996 U N T H E I V E R S I T Y A O F LE T TH E R E B E 1 8 6 8 LIG H T C A L I A I F O R N Fusing Dataflow with Finite State Machines Department of Electrical Engineering and Computer Science Bilung

More information

«Computer Science» Requirements for applicants by Innopolis University

«Computer Science» Requirements for applicants by Innopolis University «Computer Science» Requirements for applicants by Innopolis University Contents Architecture and Organization... 2 Digital Logic and Digital Systems... 2 Machine Level Representation of Data... 2 Assembly

More information

Presenter: Dong hyun Park

Presenter: Dong hyun Park Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components

More information

CS560 Lecture: Software Architecture Includes slides by I. Sommerville

CS560 Lecture: Software Architecture Includes slides by I. Sommerville CS560 Lecture: Software Architecture 2009 Includes slides by I. Sommerville Architectural Design Design process for identifying the sub-systems making up a system and the framework for sub-system control

More information

Architectural Design. Architectural Design. Software Architecture. Architectural Models

Architectural Design. Architectural Design. Software Architecture. Architectural Models Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems

More information

Benefits and Challenges of Architecture Frameworks

Benefits and Challenges of Architecture Frameworks Benefits and Challenges of Architecture Frameworks Daniel Ota Michael Gerz {daniel.ota michael.gerz}@fkie.fraunhofer.de Fraunhofer Institute for Communication, Information Processing and Ergonomics FKIE

More information

Software Architectures. Lecture 6 (part 1)

Software Architectures. Lecture 6 (part 1) Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements

More information

System Design. Design: HOW to implement a system

System Design. Design: HOW to implement a system System Design Design: HOW to implement a system Goals: Satisfy the requirements Satisfy the customer Reduce development costs Provide reliability Support maintainability Plan for future modifications 1

More information

The Gigascale Silicon Research Center

The Gigascale Silicon Research Center The Gigascale Silicon Research Center The GSRC Semantics Project Tom Henzinger Luciano Lavagno Edward Lee Alberto Sangiovanni-Vincentelli Kees Vissers Edward A. Lee UC Berkeley What is GSRC? The MARCO/DARPA

More information

Software Architecture. Lecture 5

Software Architecture. Lecture 5 Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics

More information

Architectural Design Rewriting as Architectural Description Language

Architectural Design Rewriting as Architectural Description Language Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto Plan 2 Architecture & SOC (our view) ADR main features ADR as ADL (through simple

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

Hardware/Software Co-design

Hardware/Software Co-design Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction

More information

Design Engineering. Overview

Design Engineering. Overview Design Engineering Overview What is software design? How to do it? Principles, concepts, and practices High-level design Low-level design N. Meng, B. Ryder 2 1 Design Engineering The process of making

More information

Introduction to Software Engineering 10. Software Architecture

Introduction to Software Engineering 10. Software Architecture Introduction to Software Engineering 10. Software Architecture Roadmap > What is Software Architecture? > Coupling and Cohesion > Architectural styles: Layered Client-Server Blackboard, Dataflow,... >

More information

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture Objectives Architectural Design To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

Feature-Oriented Domain Analysis (FODA) Feasibility Study

Feature-Oriented Domain Analysis (FODA) Feasibility Study Feature-Oriented Domain Analysis (FODA) Feasibility Study Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, A. Spencer Peterson November 1990 Quick recap of DE terms Application: A system

More information

Simulation of LET Models in Simulink and Ptolemy

Simulation of LET Models in Simulink and Ptolemy Simulation of LET Models in Simulink and Ptolemy P. Derler, A. Naderlinger, W. Pree, S. Resmerita, J. Templ Monterey Workshop 2008, Budapest, Sept. 24-26, 2008 C. Doppler Laboratory Embedded Software Systems

More information

Introduction to software architecture Revision : 732

Introduction to software architecture Revision : 732 Introduction to software architecture Revision : 732 Denis Conan Septembre 2018 Foreword The content of these slides is extracted from the following references: L. Bass, P. Clements, and R. Kazman. Software

More information

Software design descriptions standard

Software design descriptions standard Tuffley Computer Services Pty Ltd Quality Management System Software design descriptions standard Version: 2.0 Date: 09/05/11 Status: Approved Copy no.: Controlled Approved by: Approver s name: Approver

More information

Software architecture Modelling

Software architecture Modelling Software architecture Modelling What is modelling? Architecture is the set of principal design decisions about a system. Model is an artifact that captures some of those design decisions. Modelling is

More information

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

An Introduction to Software Architecture By David Garlan & Mary Shaw 94 IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to

More information

Component-Based Design of Embedded Control Systems

Component-Based Design of Embedded Control Systems Component-Based Design of Embedded Control Systems Luca Dealfaro Chamberlain Fong Tom Henzinger Christopher Hylands John Koo Edward A. Lee Jie Liu Xiaojun Liu Steve Neuendorffer Sonia Sachs Shankar Sastry

More information

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

challenges in domain-specific modeling raphaël mannadiar august 27, 2009 challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing

More information

Semantics-Based Integration of Embedded Systems Models

Semantics-Based Integration of Embedded Systems Models Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction

More information

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design

More information

Challenges in component based programming. Lena Buffoni

Challenges in component based programming. Lena Buffoni Challenges in component based programming Lena Buffoni Challenge: Size & complexity Software is everywhere and increasingly complex (embedded systems, internet of things ) Single products have become product

More information

xuml, AADL and Beyond

xuml, AADL and Beyond xuml and AADL xuml, AADL and Beyond Chris Raistrick www.kc.com xuml and AADL xuml Overview Chris Raistrick www.kc.com Platform Independent Model A Platform Independent Model (PIM) is a technology agnostic

More information

Enterprise Architect. User Guide Series. Domain Models

Enterprise Architect. User Guide Series. Domain Models Enterprise Architect User Guide Series Domain Models What support for modeling domains? Sparx Systems Enterprise Architect supports a range of modeling languages, technologies and methods that can be used

More information

Creational. Structural

Creational. Structural Fitness for Future of Design Patterns & Architectural Styles Design patterns are difficult to teach, so we conducted a class collaboration where we all researched and reported on a variety of design patterns

More information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An Introduction to Software Architecture. David Garlan & Mary Shaw 94 An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data

More information

Chapter 4 Objectives

Chapter 4 Objectives Chapter 4 Objectives Eliciting requirements from the customers Modeling requirements Reviewing requirements to ensure their quality Documenting requirements for use by the design and test teams 4.1 The

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect How to Harvest Reusable Components in Existing Software Nikolai Mansurov Chief Scientist & Architect Overview Introduction Reuse, Architecture and MDA Option Analysis for Reengineering (OAR) Architecture

More information

Applying Systems Thinking to MBSE

Applying Systems Thinking to MBSE Applying Systems Thinking to MBSE 1 Daniel Hettema, and Steven H. Dam, Ph.D., ESEP, SPEC Innovations, 571-485-7799 daniel.hettema@specinnovations.com October 2013 Overview What makes systems thinking different

More information