SlideShare a Scribd company logo
LAB on Software Architecture 
Vittorio Cortellessa and Henry Muccini 
vittorio.cortellessa@univaq.it;henry.muccini@univaq.it 
DISIM 
Dep.nt of Information Engineering, Computer Science and Mathematics 
University of L’Aquila, Italy
The material in these slides may be freely reproduced 
and distributed, partially or totally, as far as an explicit 
reference or acknowledge to the material author is 
preserved. 
SEA Group
Intro to SA 
SA Case study 
SA style 
ADLs 
Design Decisions 
Views/Viewpoints 
SEA Group 
Non Functional S.E. 
Performance modeling 
Performance analysis 
UML 
UML Profiling 
Lab
I need a system that: 
SEA Group 
 Can detect and predict fire in a building 
 Can communicate to the fire fighters 
 Can communicate to the fire trucks 
 Can route fire trucks towards different fires 
 Can monitor the state of a fire
There is some smoke on the first apartment in the 4th floor, on Avenue de Fortune 
26. A smoke sensor detects the smoke, potential source of a fire, and informs a local 
server. The local server posts the information on-line, and this information is 
accessible from the fire station. The fire station has a view on all the alarms and 
warnings happening at the all time. The system monitors the status of alarms and 
informs the fire fighters about the entity of the fire, the time it started, the area 
covered by it, and other sensitive information. Based on such information, the 
system decides where to send the fire trucks (in case only a limited set of fires can 
be managed in parallel). The fire fighters jump into the fire truck, turn in their 
onboard computing system, and get information about the fastest way to get to 
destination. During the trip, they get all possible updates about the state of the fire. 
Based on this information, they may decide that a second truck is needed, or one is 
closer to Avenue de Fortune, or that their service is not needed anymore. When the 
fire fighters arrive to Avenue de Fortune 26, the entire 4th floor is on fire. By using 
other sensors, they may know how many people is trapped inside the building: this 
information is displayed on their devices. Fortunately, nobody is inside the building 
at this time. Before starting extinguishing the fire, the system discovers that there 
are some gas cylinders on the 6th floor. They first start securing those devices, and in 
parallel extinguishing the fire on the 4th floor. 
SEA Group
Overall Architecting Process 
SEA Group 
Architectural constraints 
and requirements 
Ideas 
Constraints 
Req1:.. 
Req2:.. 
Req3:.. 
……… 
Architectural 
requirements 
C2 
C3 
C1 
C4 
Software 
Architecture 
Software 
Architecture 
synthesis 
C2 
C3 
C1 
Software C4 
Architecture 
Evaluation and prototype 
Decisions making
Features: 
SEA Group 
• Those are related factors to be used to prevent a fire
SEA Group 
- The system has to enable quick but effective decisions on how 
to fight the fire (in order to plan an Intelligent scheduling and 
resource allocation) 
Non Functional Requirements:
SEA Group 
Class Work
SEA Group 
Draw your 
architecture 
Chapter 1
Main Design Decisions to be taken 
What to Model? 
How to Model? 
Multiple Views 
Is the produced one a Good architecture? 
How to use such an architecture? 
SEA Group
HW/SW/Deployment 
Component Types and Instances 
Structural and behavioral 
Components’ Nesting and sub-systems 
What can I model, what I cannot ? 
Requirements and qualities 
Styles 
SEA Group
What to model? 
What are the architectural-specific decisions? 
How do they affect the architecture? How the final 
product? 
SEA Group
Define an architecture from different viewpoints: 
SEA Group
There are three different options: 
component ElevatorPanel is { 
state { 
vport : ViewportType; 
sub_vports : set ViewportIDType; 
} 
invariant { 
#sub_vports eqgreater 0; 
} 
interface { 
prov ip_newvpt: createViewport() : ViewportType; 
SEA Group 
... 
req ir_selshp: selectShipment(port : PortID; shp : ShipmentID); 
} 
operations { 
prov op_subvpt: { 
let vpt : ViewportIDType; 
pre vpt not_in sub_vports; 
post (#~sub_vports = #sub_vports + 1) and 
(vpt in sub_vports); 
} 
... 
User1 
AlarmUR AlarmRS (c) 
Router Server 
Timer 
Check1 
Nofunc 
Clock 
AckSR (c) 
AckRU1 
User2 
AlarmUR1 
AlarmUR2 
Check2 
Check 
AckRU2 
C1 
C3 
C4 
C2 
C5 
C4'
Drawing 
Formal languages 
Model-based Notation 
SEA Group
SEA Group 
The quality of a SA depends on how well it 
satisfies functional and non functional 
requirements
Assessment: 
SEA Group 
Is my architecture really compliant to certain given requirements? 
Conformance: 
Is my implementation really compliant to my architectural specification? 
The SA specification, when assessed, acts as an oracle, describing what expected 
Analysis can start even before the code is available
Much has been done for SA-level Analysis: 
SEA Group
The goal is to generate a skeleton code, reflecting 
architectural elements and decisions 
The main approaches so far: 
SEA Group 
Ada, C, Java 
MDA approaches and model transformation 
Extension to Java 
The ACME ADL concepts are automatically mapped into ArchJava concepts

More Related Content

What's hot

Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Er. Nancy
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
Hayim Makabee
 

What's hot (20)

SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
 
software quality
software qualitysoftware quality
software quality
 
Concept of Failure, error, fault and defect
Concept of Failure, error, fault and defectConcept of Failure, error, fault and defect
Concept of Failure, error, fault and defect
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Blackboard architecture pattern
Blackboard architecture patternBlackboard architecture pattern
Blackboard architecture pattern
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
Software Fault, Error, and Failure
Software Fault, Error, and FailureSoftware Fault, Error, and Failure
Software Fault, Error, and Failure
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Artifacts
ArtifactsArtifacts
Artifacts
 
Software requirement engineering
Software requirement engineeringSoftware requirement engineering
Software requirement engineering
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Boehm Software Quality Model
Boehm Software Quality ModelBoehm Software Quality Model
Boehm Software Quality Model
 
Unit 5 st ppt
Unit 5 st pptUnit 5 st ppt
Unit 5 st ppt
 
software engineering
software engineeringsoftware engineering
software engineering
 

Similar to Software Architecture Lab

HND Graded Unit - GalbraithJ
HND Graded Unit - GalbraithJHND Graded Unit - GalbraithJ
HND Graded Unit - GalbraithJ
Jon Galbraith
 
Summary Create an Object-Oriented program that creates a simulator an.pdf
 Summary Create an Object-Oriented program that creates a simulator an.pdf Summary Create an Object-Oriented program that creates a simulator an.pdf
Summary Create an Object-Oriented program that creates a simulator an.pdf
allwinsupport
 
Security System Design for an Intelligent Building
Security System Design for an Intelligent BuildingSecurity System Design for an Intelligent Building
Security System Design for an Intelligent Building
Kyle Zheng
 
Automated Validation of Internet Security Protocols and Applications (AVISPA)
Automated Validation of Internet Security Protocols and Applications (AVISPA) Automated Validation of Internet Security Protocols and Applications (AVISPA)
Automated Validation of Internet Security Protocols and Applications (AVISPA)
Krassen Deltchev
 

Similar to Software Architecture Lab (20)

L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting Activities
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)
 
Network Rail & Innovate UK Railways SBRI Competition Briefing: Innovation in ...
Network Rail & Innovate UK Railways SBRI Competition Briefing: Innovation in ...Network Rail & Innovate UK Railways SBRI Competition Briefing: Innovation in ...
Network Rail & Innovate UK Railways SBRI Competition Briefing: Innovation in ...
 
Software Architecture Styles
Software Architecture StylesSoftware Architecture Styles
Software Architecture Styles
 
Cloud Intrusion and Autonomic Management in Autonomic Cloud Computing
Cloud Intrusion and Autonomic Management in Autonomic Cloud ComputingCloud Intrusion and Autonomic Management in Autonomic Cloud Computing
Cloud Intrusion and Autonomic Management in Autonomic Cloud Computing
 
Research on UVM Verification Platform Based on AXI4 Protocol Intellectual Pro...
Research on UVM Verification Platform Based on AXI4 Protocol Intellectual Pro...Research on UVM Verification Platform Based on AXI4 Protocol Intellectual Pro...
Research on UVM Verification Platform Based on AXI4 Protocol Intellectual Pro...
 
Nt2580 Unit 7 Chapter 12
Nt2580 Unit 7 Chapter 12Nt2580 Unit 7 Chapter 12
Nt2580 Unit 7 Chapter 12
 
Darktrace_Threat_Visualizer_User_Guide.pdf
Darktrace_Threat_Visualizer_User_Guide.pdfDarktrace_Threat_Visualizer_User_Guide.pdf
Darktrace_Threat_Visualizer_User_Guide.pdf
 
HND Graded Unit - GalbraithJ
HND Graded Unit - GalbraithJHND Graded Unit - GalbraithJ
HND Graded Unit - GalbraithJ
 
Automated Formal Verification of SystemC/C++ High-Level Synthesis Models
Automated Formal Verification of SystemC/C++ High-Level Synthesis ModelsAutomated Formal Verification of SystemC/C++ High-Level Synthesis Models
Automated Formal Verification of SystemC/C++ High-Level Synthesis Models
 
Summary Create an Object-Oriented program that creates a simulator an.pdf
 Summary Create an Object-Oriented program that creates a simulator an.pdf Summary Create an Object-Oriented program that creates a simulator an.pdf
Summary Create an Object-Oriented program that creates a simulator an.pdf
 
Security System Design for an Intelligent Building
Security System Design for an Intelligent BuildingSecurity System Design for an Intelligent Building
Security System Design for an Intelligent Building
 
Automated Validation of Internet Security Protocols and Applications (AVISPA)
Automated Validation of Internet Security Protocols and Applications (AVISPA) Automated Validation of Internet Security Protocols and Applications (AVISPA)
Automated Validation of Internet Security Protocols and Applications (AVISPA)
 
Deep dive nella supply chain della nostra infrastruttura cloud
Deep dive nella supply chain della nostra infrastruttura cloudDeep dive nella supply chain della nostra infrastruttura cloud
Deep dive nella supply chain della nostra infrastruttura cloud
 
Marta de la Cruz-Informe Final
Marta de la Cruz-Informe FinalMarta de la Cruz-Informe Final
Marta de la Cruz-Informe Final
 
Software Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the AbstractionSoftware Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the Abstraction
 
Vladyslav Usenko, Technical University of Munich, DE (Euroc)
Vladyslav Usenko, Technical University of Munich, DE (Euroc)Vladyslav Usenko, Technical University of Munich, DE (Euroc)
Vladyslav Usenko, Technical University of Munich, DE (Euroc)
 
ATCM presentation
ATCM presentationATCM presentation
ATCM presentation
 
Pyconuk2011
Pyconuk2011Pyconuk2011
Pyconuk2011
 

More from Henry Muccini

More from Henry Muccini (20)

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibile
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd management
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of Things
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design Decisions
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building Architecture
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on Sustainability
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software Architecture
 

Recently uploaded

Industrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training ReportIndustrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training Report
Avinash Rai
 
Accounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdfAccounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdf
YibeltalNibretu
 

Recently uploaded (20)

Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
Application of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matricesApplication of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matrices
 
B.ed spl. HI pdusu exam paper-2023-24.pdf
B.ed spl. HI pdusu exam paper-2023-24.pdfB.ed spl. HI pdusu exam paper-2023-24.pdf
B.ed spl. HI pdusu exam paper-2023-24.pdf
 
slides CapTechTalks Webinar May 2024 Alexander Perry.pptx
slides CapTechTalks Webinar May 2024 Alexander Perry.pptxslides CapTechTalks Webinar May 2024 Alexander Perry.pptx
slides CapTechTalks Webinar May 2024 Alexander Perry.pptx
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
NCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdfNCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdf
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
Industrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training ReportIndustrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training Report
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
 
NLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptxNLC-2024-Orientation-for-RO-SDO (1).pptx
NLC-2024-Orientation-for-RO-SDO (1).pptx
 
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
UNIT – IV_PCI Complaints: Complaints and evaluation of complaints, Handling o...
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
Salient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxSalient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptx
 
Accounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdfAccounting and finance exit exam 2016 E.C.pdf
Accounting and finance exit exam 2016 E.C.pdf
 
Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & EngineeringBasic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
Forest and Wildlife Resources Class 10 Free Study Material PDF
Forest and Wildlife Resources Class 10 Free Study Material PDFForest and Wildlife Resources Class 10 Free Study Material PDF
Forest and Wildlife Resources Class 10 Free Study Material PDF
 

Software Architecture Lab

  • 1. LAB on Software Architecture Vittorio Cortellessa and Henry Muccini vittorio.cortellessa@univaq.it;henry.muccini@univaq.it DISIM Dep.nt of Information Engineering, Computer Science and Mathematics University of L’Aquila, Italy
  • 2. The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved. SEA Group
  • 3. Intro to SA SA Case study SA style ADLs Design Decisions Views/Viewpoints SEA Group Non Functional S.E. Performance modeling Performance analysis UML UML Profiling Lab
  • 4. I need a system that: SEA Group  Can detect and predict fire in a building  Can communicate to the fire fighters  Can communicate to the fire trucks  Can route fire trucks towards different fires  Can monitor the state of a fire
  • 5. There is some smoke on the first apartment in the 4th floor, on Avenue de Fortune 26. A smoke sensor detects the smoke, potential source of a fire, and informs a local server. The local server posts the information on-line, and this information is accessible from the fire station. The fire station has a view on all the alarms and warnings happening at the all time. The system monitors the status of alarms and informs the fire fighters about the entity of the fire, the time it started, the area covered by it, and other sensitive information. Based on such information, the system decides where to send the fire trucks (in case only a limited set of fires can be managed in parallel). The fire fighters jump into the fire truck, turn in their onboard computing system, and get information about the fastest way to get to destination. During the trip, they get all possible updates about the state of the fire. Based on this information, they may decide that a second truck is needed, or one is closer to Avenue de Fortune, or that their service is not needed anymore. When the fire fighters arrive to Avenue de Fortune 26, the entire 4th floor is on fire. By using other sensors, they may know how many people is trapped inside the building: this information is displayed on their devices. Fortunately, nobody is inside the building at this time. Before starting extinguishing the fire, the system discovers that there are some gas cylinders on the 6th floor. They first start securing those devices, and in parallel extinguishing the fire on the 4th floor. SEA Group
  • 6. Overall Architecting Process SEA Group Architectural constraints and requirements Ideas Constraints Req1:.. Req2:.. Req3:.. ……… Architectural requirements C2 C3 C1 C4 Software Architecture Software Architecture synthesis C2 C3 C1 Software C4 Architecture Evaluation and prototype Decisions making
  • 7. Features: SEA Group • Those are related factors to be used to prevent a fire
  • 8. SEA Group - The system has to enable quick but effective decisions on how to fight the fire (in order to plan an Intelligent scheduling and resource allocation) Non Functional Requirements:
  • 10. SEA Group Draw your architecture Chapter 1
  • 11. Main Design Decisions to be taken What to Model? How to Model? Multiple Views Is the produced one a Good architecture? How to use such an architecture? SEA Group
  • 12. HW/SW/Deployment Component Types and Instances Structural and behavioral Components’ Nesting and sub-systems What can I model, what I cannot ? Requirements and qualities Styles SEA Group
  • 13. What to model? What are the architectural-specific decisions? How do they affect the architecture? How the final product? SEA Group
  • 14. Define an architecture from different viewpoints: SEA Group
  • 15. There are three different options: component ElevatorPanel is { state { vport : ViewportType; sub_vports : set ViewportIDType; } invariant { #sub_vports eqgreater 0; } interface { prov ip_newvpt: createViewport() : ViewportType; SEA Group ... req ir_selshp: selectShipment(port : PortID; shp : ShipmentID); } operations { prov op_subvpt: { let vpt : ViewportIDType; pre vpt not_in sub_vports; post (#~sub_vports = #sub_vports + 1) and (vpt in sub_vports); } ... User1 AlarmUR AlarmRS (c) Router Server Timer Check1 Nofunc Clock AckSR (c) AckRU1 User2 AlarmUR1 AlarmUR2 Check2 Check AckRU2 C1 C3 C4 C2 C5 C4'
  • 16. Drawing Formal languages Model-based Notation SEA Group
  • 17. SEA Group The quality of a SA depends on how well it satisfies functional and non functional requirements
  • 18. Assessment: SEA Group Is my architecture really compliant to certain given requirements? Conformance: Is my implementation really compliant to my architectural specification? The SA specification, when assessed, acts as an oracle, describing what expected Analysis can start even before the code is available
  • 19. Much has been done for SA-level Analysis: SEA Group
  • 20. The goal is to generate a skeleton code, reflecting architectural elements and decisions The main approaches so far: SEA Group Ada, C, Java MDA approaches and model transformation Extension to Java The ACME ADL concepts are automatically mapped into ArchJava concepts