Review Sources of Architecture. Why Domain-Specific?
|
|
- Caroline Short
- 5 years ago
- Views:
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 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 informationCurrent 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 informationThe 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 informationDescribing 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 informationArchitectural 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 informationIntroduction. 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 informationIntroduction 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 informationSoftware 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 informationMinsoo 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 informationArchitectural 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 informationWhat 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 informationEstablishing 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 informationThe 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 informationArchitectural 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 informationA 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 informationChapter 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 informationChapter 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 informationComponent 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 informationPtolemy 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 informationGSAW 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 informationDocumentation 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 informationArchitectural 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 informationCSCI 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 informationExtensible 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 informationArchitectural 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 informationCosimulation 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 informationRaising 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 informationContemporary 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 informationCh 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 informationSoftware 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 informationCosimulation 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 informationCS 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 informationRequirements 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 informationSoftware 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 informationComputer 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 informationPtolemy: 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 informationSoftware 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 informationHierarchical 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 informationSoftware 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 informationRequirements 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 informationSommerville 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 informationSummary. 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 informationChapter 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 informationCompositional 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 informationAn 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 informationEngr. 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 informationAcme: 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 informationSystem 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 informationSystem-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 informationAn 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 informationInvestigation 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 information5/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 informationAn 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 informationWeb 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 informationArchitecture. 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 informationWhat 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 informationDeveloping 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 informationReview 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 informationArchitecture. 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 informationSoftware 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 informationAn 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 informationCSE 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 informationWhat 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 informationArchitectures 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 informationFusing 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 Contents Architecture and Organization... 2 Digital Logic and Digital Systems... 2 Machine Level Representation of Data... 2 Assembly
More informationPresenter: 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 informationCS560 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 informationArchitectural 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 informationBenefits 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 informationSoftware 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 informationSystem 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 informationThe 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 informationSoftware 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 informationArchitectural 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 informationAADL 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 informationHardware/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 informationDesign 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 informationIntroduction 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 informationObjectives. 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 informationFeature-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 informationSimulation 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 informationIntroduction 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 informationSoftware 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 informationSoftware 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 informationAn 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 informationComponent-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 informationchallenges 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 informationSemantics-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 informationCAS 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 informationChapter 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 informationChallenges 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 informationxuml, 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 informationEnterprise 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 informationCreational. 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 informationAn 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 informationChapter 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 informationCh 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 informationHow 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 informationApplying 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