Advanced Software Engineering course, a.y. 2014-2015
http://lore.com/Advanced-Software-Engineering-Univaq/
This lecture is about Architecture Description Languages. What they are, how they evolved in time, current challenges and perspectives.
Software Architecture: views and viewpointsHenry Muccini
This is an introductory lecture to Software Architecture Views and Viewpoints, part of the Advanced Software Engineering course, at the University of L'Aquila, Italy (www.di.univaq.it/muccini/SE+/2012)
Software is a set of instructions to acquire inputs and to manipulate them to produce the desired output in terms of functions and performance as determined by the user of the software
comparative study software quality models Auwal Amshi
The ppt is base on a paper: comparative study software quality models. know different types of software quality and their characteristics. The goal of the study is to provide a reference to software developers when they are measuring the quality of their software.
This is an introductory lecture to Software Architecture Design Decisions, part of the Advanced Software Engineering course, at the University of L'Aquila, Italy (www.di.univaq.it/muccini/SE+/2012)
Quality Attributes In Software Architecture & Design PatternsGatte Ravindranath
Quality Attributes Topic from Software Architecture $ Design patterns in the relation to software product or any engineering architecture development process needs required by an architect.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This is an introductory lecture to Architecture Description Languages, part of the Advanced Software Engineering course, at the University of L'Aquila, Italy (www.di.univaq.it/muccini/SE+/2012)
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Software Architecture: views and viewpointsHenry Muccini
This is an introductory lecture to Software Architecture Views and Viewpoints, part of the Advanced Software Engineering course, at the University of L'Aquila, Italy (www.di.univaq.it/muccini/SE+/2012)
Software is a set of instructions to acquire inputs and to manipulate them to produce the desired output in terms of functions and performance as determined by the user of the software
comparative study software quality models Auwal Amshi
The ppt is base on a paper: comparative study software quality models. know different types of software quality and their characteristics. The goal of the study is to provide a reference to software developers when they are measuring the quality of their software.
This is an introductory lecture to Software Architecture Design Decisions, part of the Advanced Software Engineering course, at the University of L'Aquila, Italy (www.di.univaq.it/muccini/SE+/2012)
Quality Attributes In Software Architecture & Design PatternsGatte Ravindranath
Quality Attributes Topic from Software Architecture $ Design patterns in the relation to software product or any engineering architecture development process needs required by an architect.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This is an introductory lecture to Architecture Description Languages, part of the Advanced Software Engineering course, at the University of L'Aquila, Italy (www.di.univaq.it/muccini/SE+/2012)
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
An immersive workshop at General Assembly, SF. I typically teach this workshop at General Assembly, San Francisco. To see a list of my upcoming classes, visit https://generalassemb.ly/instructors/seth-familian/4813
I also teach this workshop as a private lunch-and-learn or half-day immersive session for corporate clients. To learn more about pricing and availability, please contact me at http://familian1.com
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
Thinking about your sales team's goals for 2017? Drift's VP of Sales shares 3 things you can do to improve conversion rates and drive more revenue.
Read the full story on the Drift blog here: http://blog.drift.com/sales-team-tips
Advanced Software Engineering Course, University of L'Aquila
This lecture explains a generic Architecting process to be followed when designing a software system. It also links the architecting process with agibility.
Software Architecture: Introduction to the AbstractionHenry Muccini
The Software Architecture is the earliest model of the whole software system created along the software lifecycle
A Software Architecture can be designed along four perspectives:
- as A set of components and connectors communicating through interfaces
- as A set of architecture design decisions
- with Focus on set of views and viewpoints
- Written according to architectural styles
Harmonizing use cases, dialogs or conversations, process maps, usecase diagra...Putcha Narasimham
UseCase concept is unique and profound concept to represent the needs of businesses and users from their view point. Based on UseCase and Actor identification, the System to be Developed can be specified and evolved systematically. This summary updates and integrates many proposals made earlier. It logically integrates all the concepts of the title.
From Model-based to Model and Simulation-based Systems ArchitecturesObeo
Achieving quality engineering through descriptive and analytical models
Systems architecture design is a key activity that affect the
overall systems engineering cost. It is hence fundamental
to ensure that the system architecture reaches a proper quality.
In this paper, we leverage on MBSE approaches and complement them
with simulation techniques, as a prom-ising way to improve the quality of the system architecture definition, and to come up with inno-vative solutions while securing the systems engineering process.
Slides presented at MODEVAR 2024 co-located with VaMoS 2024: https://modevar.github.io/program/ Thanks to Jessie Galasso and Chico Sundermann for the invitation Abstract: "Variability models (e.g., feature models) are widely considered in software engineering research and practice, in order to develop software product lines, configurable systems, generators, or adaptive systems. Numerous success stories of variability models have been reported in different domains (e.g., automotive, aerospace, avionics) and the applicability broadens. However, the use of variability models is not yet universally adopted… Why? Some examples: variability models are not continuously extracted from projects and artefacts; each time a variability model is used, its expressiveness and language should be specialized; learning-based models are decoupled from variability models; modeling software variability should cover different layers and their interactions, etc. The list is arguably opinionated, incomplete, and based on my own practical experience, but also on observations of existing works. I will give 24 reasons to occupy your day as a researcher or practitioner in the field of variability modeling."
Slides: https://github.com/acherm/24RWVMANYU-VaMoS-MODEVAR/blob/main/vamos2024.md (Markdown content) PDF: https://github.com/acherm/24RWVMANYU-VaMoS-MODEVAR/blob/main/VaMoS2024-MODEVAR.pdf (slides in PDF format)
David Eads, Atlassian, presents how to clean and tune your Jira and Confluence instances and Himanshu Chhetri, Addteq, discusses how to implement DevSecOps within your software organization's delivery pipeline.
Similar to Architecture Description Languages (20)
These slides have been presented at the ICSE 2020 conference, SEIS (software engineering in society) track. It reports on our experience within the Uffizi Project, and how we had to take into account human behaiour to design our IoT-based solution.
How cultural heritage, cyber-physical spaces, and software engineering can wo...Henry Muccini
This is a seminar provided to a PhD school on Cultural Heritage Conservation and Valorization.
The focus has been on the interdisciplinarity among cultural heritage, cyber-physical spaces, and software engineering.
Turismo 4.0: l'ICT a supporto del turismo sostenibileHenry Muccini
The importance of sustainable tourism is today very clear, as also highlighted by some national and international organizations. This presentation highlights the role of ICT in the context of sustainable tourism. Some ongoing projects are presented as well.
Sustainable Tourism - IoT and crowd managementHenry Muccini
What is Sustainable Tourism and how IoT may help to reduce crowd management. This material reports on our experience within the Uffizi Galleries project and the CAPS IoT modeling and simulation framework.
Software Engineering at the age of the Internet of ThingsHenry Muccini
This is an overview on Sw Engineering the IoT, created for the FOI, Faculty of Organization and Informatics of the University of Zagreb, and presented during their International Days.
The influence of Group Decision Making on Architecture Design DecisionsHenry Muccini
Group Decision Making influcencs Architecture Design Decisions. This presentation, given as a keynote at the MARCH 2019 workshop (https://is.ieis.tue.nl/research/bpm/MARCH/index.php/keynote/), tries to identifies GDM factors that influence architecture design decisions.
Web Engineering L8: User-centered Design (8/8)Henry Muccini
This lecture focusses on User-centered Design (UCD). It covers the "The Elements of User Experience" book by Garrett.
The topics covered are:
- the UCD process
- Personas
- Scope
- Information Architecture
- Sitemaps
- Wireframes
- Prototypes
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications. The list is availabe at https://trello.com/b/z49P8z3b
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Henry Muccini
This lecture covers Sequence diagrams and Design decision models. It covers:
- sequence diagrams in UML 2.x
- the QOC model for design decisions
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications. They are listed at https://trello.com/b/z49P8z3b
Web Engineering L6: Software Architecture for the Web (6/8)Henry Muccini
This lecture discusses Architectural aspects of Web engineering.
It covers:
- software architecture design
- software architecture for the web
- component model for software architecture description
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Web Engineering L5: Content Model (5/8)Henry Muccini
This lecture focusses on Content Design.
It presents the UWE approach for producing the:
- Conceptual Model
- Navigation Space Model
- Navigational Structure Model
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Web Engineering L3: Project Planning (3/8)Henry Muccini
This lecture focusses on project planning.
It focuses on:
- work breakdown
- project planning
- PERT
- Critical Path
- Project Tracking and Estimation
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Web Engineering L2: Requirements Elicitation for the Web (2/8)Henry Muccini
This lecture focusses on requirements elicitation.
It covers:
- Requirements discovery
- Requirements classification
- Requirements Prioritization
- Requirements Specifications
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Web Engineering L1: introduction to Web Engineering (1/8)Henry Muccini
This lecture makes an introduction to Web Engineering.
- Why web engineering
- Quality
- Issues to avoid
- Web architectures
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Web Engineering L4: Requirements and Planning in concrete (4/8)Henry Muccini
This lecture summarizes and extends L3, with a focus on:
- Critical Path
- Agile for Planning
- Convergence and divergence
The output of this course consists in a list of artifacts and principles to be used when engineering Web applications is listed at https://trello.com/b/z49P8z3b
Collaborative aspects of Decision Making and its impact on SustainabilityHenry Muccini
In this talk I made an effort to link together sustainability, architecture design decision, and group decision making. Take a look and contact me for questions.
This presentation proposes CAPS, an architecture-driven
modeling framework for the development of Situational Aware
Cyber-Physical Systems.
Situational Awareness involves being aware of what is
happening in the surroundings, and using this information
to decide and act. It has been recognized as a critical,
yet often elusive, foundation for successful decision-making
in complex systems. With the advent of cyber-physical systems
(CPS), situational awareness is playing an increasingly
important role especially in crowd and fleets management,
infrastructure monitoring, and smart city applications. While
specializing cyber physical systems, Situational Aware CPS
requires the continuous monitoring of environmental conditions
and events with respect to time and space. New architectural
concerns arise, especially related to the sense , compute &
communication paradigm, the use of domain-specific hardware
components, and the cyber-physical space dimension.
This work illustrates the CAPS modeling languages used
to describe the software architecture, hardware configuration,
and physical space views for a situational aware CPS.
I progetti UnivAq-UFFIZI, INCIPICT, e CUSPISHenry Muccini
Alcuni progetti dell'Universita' degli Studi dell'Aquila volti al supporto dei beni culturali. Tale presentazione e' stata fornita nel contesto dell'evento Le Gallerie degli Uffizi incontrano UnivAq
Exploring the Temporal Aspects of Software ArchitectureHenry Muccini
The keynote lecture video is now available at http://www.icsoft.org/KeynoteSpeakers.aspx?y=2016
This presentation covers the main topics discussed by the software architecture conferences in the past 15+ years. It provides a systematic, unbiased view on research trends with reflections on the future challenges.
This speech has been provided as a keynote at ICSOFT 2016.
Normal Labour/ Stages of Labour/ Mechanism of LabourWasim Ak
Normal labor is also termed spontaneous labor, defined as the natural physiological process through which the fetus, placenta, and membranes are expelled from the uterus through the birth canal at term (37 to 42 weeks
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
1. Introduction to ADLs
Henry Muccini
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.
Some material in this presentation has been previously
presented at ECSA 2014, tutorial T2: The Road Ahead for
Architectural Languages, P. Lago, I. Malavolta, H. Muccini,
P. Pelliccione, A. Tang
SEA Group
Henry Muccini
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. An Architecture Description Language (ADL) (or
simply, AL) is a form of expression used for architecture
description. [ISO/IEC/IEEE 42010]
It may be a formal language (like Acme, Darwin, AADL),
a UML-based notation, as well as any other means you
may have used to describe a software architecture.
An ADL is tailored to specify SA concepts (components,
connectors, interfaces, …) through different viewpoints
SEA Group
5. Specification is “the software lifecycle phase
concerned with precise definition of the tasks to be
performed by the system”[Meyer85]
To reveal ambiguity, incompleteness and inconsistency
To prove that the system is:
SEA Group
7. Formal Specification: Why
Sometimes, systems must run reliably
for 99.9999 % of the time
semi-automated generation of test cases
from formally specified requirements
semi-automated derivation of correctness,
security, safety and other properties
SEA Group
8. HISTORICAL VIEW
SEA Group
25+ years back
(maybe more…)
IIII hhhhaaaavvvveeee ttttoooo sssshhhhaaaarrrreeee wwwwiiiitttthhhh
aaaarrrrcccchhhhiiiitttteeeeccccttttssss tttthhhheeee
aaaarrrrcccchhhhiiiitttteeeeccccttttuuuurrrreeee ssssoooolllluuuuttttiiiioooonnnn
IIII hhhhaaaavvvveeee iiiinnnn mmmmiiiinnnndddd....
WWWWhhhhaaaatttt sssshhhhaaaallllllll IIII uuuusssseeee????
SSSSooooffffttttwwwwaaaarrrreeee AAAArrrrcccchhhhiiiitttteeeecccctttt
10. HISTORICAL VIEW
10
SEA Group
Comp&C
on Spec
OOOOtttthhhheeeerrrr
CCCCoooonnnncccceeeerrrrnnnnssss
Interco
nnectio
n
Compo
sition
Abstracti
on
Reusabili
ty
Analysis
Hetero
geneity
Configur
ation
11. WHAT HAPPENED NEXT (1/2)
11
SEA Group
Darwin
first generation ALs [MDT07]
FSP
to support components and connectors specification, their overall
interconnection, composition, abstraction, reusability, configuration,
heterogeneity, and analysis
ACME
Rapide
Wright
ACME
12. HISTORICAL VIEW
12
SEA Group
Config.
Manage
ment
MMMMoooorrrreeee
CCCCoooonnnncccceeeerrrrnnnnssss
Distrib
ution
Product
Line
Styles
Differe
nt
domain
s
…
…
second generation ALs [MDT07]
13. UML FOR ARCHITECTURE DESCRIPTION
RRRReeeeaaaassssoooonnnnaaaabbbbllllyyyy aaaapppppppplllliiiiccccaaaabbbblllleeee ttttoooo ssssooooffffttttwwwwaaaarrrreeee aaaarrrrcccchhhhiiiitttteeeeccccttttuuuurrrreeeessss
…
SEA Group
taken from https://code.google.com/p/staff/wiki/SoaApplicationStruct
15. OVERALL
15
Type of spec.
Language
SEA Group
Box and Line
Formal
UML
1990 2000 today
16. SEA Group
Pro:
.formal semantics
.computable
Cons:
.difficult to learn
.general lack of
industrial tools
.prolifetarion
Pro:
.not too difficult
.same notation for SA
and design modeling
Cons:
.not a 100% fit
.tool investment
Pro:
.of immediate use
.perfect for sketching
.communicative
Cons:
.Ambiguous
.non automated
16
17. TODAY
SEA Group
AL Name
AADL
ABC/ADL
ACME
ADAGE
ADLARS
ADML
AESOP
ArchJava
ArchWare
ArchiTRIO
ARTECH
C2
C2 AML
C2 SADEL
CommUnity
DAOP ADL
DARWIN
DICAM
EAST ADL
EXPRESSION
GEN VOCA
HMDES
ISDL
JACAL
KOALA
LILEANNA
AL Name
LISA
LITTLE JIL
MAE
MADL
MAFIIA
MAUDE
M(énage / xADL
META H
MIMOLA
MODE CHART
PALANTIR
PRISMA
RADL
RAPIDE
RESOLVE
SADL
SATURN
SKWYRL
UDL/i
UNICON
WEAVES
WRIGHT
WSDL
xArch / xAcme
xArch / xADL
xC2
100+ ALs
(better to say, languages that consider themselves to be ALs)
18. 100+ ALS
18
http://www.di.univaq.it/malavolta/al/
SEA Group
19. WHY SO MANY ALS?
TTTThhhheeeerrrreeee aaaarrrreeee mmmmaaaannnnyyyy rrrreeeeaaaassssoooonnnnssss ffffoooorrrr hhhhaaaavvvviiiinnnngggg mmmmaaaannnnyyyy AAAALLLLssss:
Different ALs for different “stakeholder concerns”
SEA Group
Different Domains
Different Analysis
Different Viewpoints
Some of them are really similar, with just small semantic or
syntactic differences
Many are just prototipal languages, research-specific
20. ISSUES (1/2)
PPPPrrrroooolllliiiiffffeeeerrrraaaattttiiiioooonnnn ooooffff llllaaaannnngggguuuuaaaaggggeeeessss ffffoooorrrr ((((SSSSAAAA)))) ddddeeeessssccccrrrriiiippppttttiiiioooonnnn
without a clear understanding of their merits and limitations.
TTTTeeeennnnssss ooooffff AAAALLLLssss,,,, cccchhhhaaaarrrraaaacccctttteeeerrrriiiizzzzeeeedddd bbbbyyyy sssslllliiiigggghhhhttttllllyyyy ddddiiiiffffffffeeeerrrreeeennnntttt ccccoooonnnncccceeeeppppttttuuuuaaaallll
aaaarrrrcccchhhhiiiitttteeeeccccttttuuuurrrraaaallll eeeelllleeeemmmmeeeennnnttttssss,,,, ddddiiiiffffffffeeeerrrreeeennnntttt ssssyyyynnnnttttaaaaxxxx,,,, oooorrrr sssseeeemmmmaaaannnnttttiiiiccccssss....
Focussing on a generic or a specific operational domain
SSSSoooommmmeeee ssssuuuuppppppppoooorrrrtttt aaaauuuuttttoooommmmaaaatttteeeedddd aaaannnnaaaallllyyyyssssiiiissss,,,, ssssoooommmmeeee ooootttthhhheeeerrrrssss ddddoooo nnnnooootttt
20
SEA Group
21. ISSUES (2/2)
AAAAnnnn IIIIDDDDEEEEAAAALLLL aaaannnndddd ggggeeeennnneeeerrrraaaallll ppppuuuurrrrppppoooosssseeee AAAALLLL iiiissss NNNNOOOOTTTT lllliiiikkkkeeeellllyyyy ttttoooo eeeexxxxiiiisssstttt
SSSSttttaaaakkkkeeeehhhhoooollllddddeeeerrrr ccccoooonnnncccceeeerrrrnnnnssss are various, ever evolving, and adapting
to changing system requirements. [ISO/IEC/IEEE 42010]
Difficult to capture all such concerns with a single, narrowly
focused notation.
21
Architectural languages must be able to focus on
“what is needed” by the stakeholders involved in the
SEA Group
architecting process.
23. ADL/Tool Support
Mainly for
Analysis
Strongly
oriented to
Architectural
Styles
Supports code
generation and
architectural
programming
Oriented to
dynamic
architectures
via FSP
AADL/OSATE ACME/AcmeStudio AcmeArchJava DARWIN/SAA
Supports for
model checking
SEA Group
SA
Representationa
and
Implementatino
of PLAs
Support to
Aspect
Oriented and
Component
Based
development
XML Schemas-based
extensibility
EAST-ADL/AutoFocus2 xADL/Ménage-Palantir Prisma/PrismaCase xADL/ArchStudio
24. A Look to Some of them
Darwin FSP
SEA Group
→ Imperial College London, J. Kramer J. Magee
Koala
→ Philips Research
ACME
→ Carnegie-Mellon, D. Garlan
Rapide
→ Stanford, D. Luckham
xArch/xADL
→ University of California, Irvine
25. Darwin/FSP
SEA Group
[Darwin], [DarwinWeb]
range N = 0..1
range K = 0..1
range Sent = 0..1
a)
/**UserProcess*/
USER_ALARM= (sendAlarm_To_Router - receiveAck_From_Router - USER_ALARM).
USER_CHECK = (sendCheck_To_Router - USER_CHECK).
b)
||USER = (USER_ALARM||USER_CHECK).
/**RouterProcess*/
ROUTER_RECEIVEALARM = (receiveAlarm_From_User - sendAlarm_To_Server -
receiveAck_From_Server - sendAck_To_User - ROUTER_RECEIVEALARM).
ROUTER_RECEIVECHECK = (receiveCheck_From_User - (sendInput_To_Timer -
ROUTER_RECEIVECHECK|pre_receiveCheck - ROUTER_RECEIVECHECK)).
c)
ROUTER_RECEIVETIME = (receiveTime_From_Timer -(sendNoFunc_To_Server -
ROUTER_RECEIVETIME|pre_receiveTime- ROUTER_RECEIVETIME)).
||ROUTER = ([0..1]:ROUTER_RECEIVEALARM||[0..1]:ROUTER_RECEIVECHECK||
ROUTER_RECEIVETIME).
...
d)
/**System*/
||ALL_PROCESSES=(u[0..1]:USER||r:ROUTER||sa[0..1]:SERVER||t:TIMER)/
{
u[0].sendAlarm_To_Router/r.[0].receiveAlarm_From_User,
e)
u[1].sendAlarm_To_Router/r.[1].receiveAlarm_From_User,
...
For distributed sytems
26. Darwin
Darwin is a language for describing software structures, i.e., network
topologies.
Model distributed systems
Model dynamic systems
It possesses both a textual and graphical notation
SEA Group
[Darwin], [DarwinWeb]
27. Darwin Example [Darwin]
SEA Group
component filter{
provide outputstream char;
require inputstream char;
};
component pipeline(int n){
provide output;
require input;
array F[n]: filter;
forall k:0..n-1{
inst F[k] @ k+1;
when k n-1
bind F[k+1].input -- F[k].output;
}
bind
F[0].input -- input;
output -- F[n-1].output;
}
}
H2
28. Diapositiva 27
H2 The Example description is specified in the paper Specifying Distributed Software Architectures, [Darwin]
Henry_2; 10/10/2011
30. Diapositiva 28
h12 Take a look to the printed document
[SAA]
hank72; 18/09/2002
31. Chat in Darwin
Main differences:
There are not rules on how components and connectors need to be put together
Different interfaces for different messages
User 1
ok/no
chat chat register chat
Chat Client Chat Client Chat Client Chat Client Chat Client
SEA Group
User 2 User 3
Chat Log
Chat Room Chat Room
User 4
Reg. Dbase
run
run run
register
check
save
32. FSP
[FSP, FSPWeb]
The Finite State Process (FSP) is a specification language which provides a
concise way of describing Labeled Transition Systems (LTSs).
SEA Group
→Each FSP expression can be mapped onto a finite LTS and vice versa
The FSP specification is based on the definition of processes, whose behavior
is modeled by LTSs;
→each process instance implements an architectural component;
→several processes can be combined (with a parallel composition operator) to
describe the interaction between different processes.
The LTSA tool automatically generates the LTS associated to the FSP
specification
33. An example
range N = 0..1
range K = 0..1
range Sent = 0..1
/**UserProcess*/
USER_ALARM= (sendAlarm_To_Router - receiveAck_From_Router - USER_ALARM).
USER_CHECK = (sendCheck_To_Router - USER_CHECK).
||USER = (USER_ALARM||USER_CHECK).
/**RouterProcess*/
ROUTER_RECEIVEALARM = (receiveAlarm_From_User - sendAlarm_To_Server -
receiveAck_From_Server - sendAck_To_User - ROUTER_RECEIVEALARM).
ROUTER_RECEIVECHECK = (receiveCheck_From_User - (sendInput_To_Timer -
ROUTER_RECEIVECHECK|pre_receiveCheck - ROUTER_RECEIVECHECK)).
ROUTER_RECEIVETIME = (receiveTime_From_Timer -(sendNoFunc_To_Server -
ROUTER_RECEIVETIME|pre_receiveTime- ROUTER_RECEIVETIME)).
||ROUTER = ([0..1]:ROUTER_RECEIVEALARM||[0..1]:ROUTER_RECEIVECHECK||
ROUTER_RECEIVETIME).
...
/**System*/
||ALL_PROCESSES=(u[0..1]:USER||r:ROUTER||sa[0..1]:SERVER||t:TIMER)/
{
u[0].sendAlarm_To_Router/r.[0].receiveAlarm_From_User,
u[1].sendAlarm_To_Router/r.[1].receiveAlarm_From_User,
...
SEA Group
a)
b)
c)
d)
e)
35. Koala [KoalaWeb][Koala]
Koala (Ommering, 2004) is an ADL specially designed for
modeling embedded software for consumer electronics.
It inherits from Darwin the main concepts and ideals, even
though it is more oriented to notations and concepts
commonly used in consumer electronics products.
Koala allows to specify hierarchical architectures, it makes
a distinction between component types and instances, it
allows to construct configurations by instantiating
components and connectors and explicitly models optional
interfaces.
SEA Group
38. SEA Group
Rapide
[Rapide, RapideWeb]
Rapide is an event-based ADL
For formal verification
→component behavior and interconnection represented by
─ explicit event sequences. Events are the method of
communication
─ event sequencing constraints
→Events organized in POSETs (Partially Ordered SETs)
→Specified systems can be simulated by Rapide toolset
→Simulations can be visualized in a graph format
39. POSETs
Consider events that a person might emit at a gas station:
SEA Group
→ Pull up
→ Leave
→ Use Credit Card Machine
→ Wash Windows
→ Pump Gas
Credit Card Pump Gas
What are the orderings
between these events?
Pull Up Leave
Wash
Credit Card
Wash
Pump Gas
Credit Card Pump Gas
41. Diapositiva 38
h13 This example comes from http://pavg.stanford.edu/rapide/examples/teaching/gas_station/
that is linked in [RapideWeb]
hank72; 12/10/2002
42. The Result
Could this be a problem?
Ability to specify Constraints
(patterns that should or should
not happen) are important in
finding these issues.
SEA Group
43. xArch/xADL 2.0 [xADL_Wicsa01]
For extensibility
xArch is an XML-based representation for building
ADLs.
It consists of a core of basic architectural elements,
defined in an XML schema called the “instances”
schema.
The xArch instances schema provides definitions for
the following elements typically found in an ADL:
SEA Group
•Component, connector, interface, and link instances;
•Subarchitectures, for specifying hierarchically composed component and
connector instances; and
•Groups, allowing the combination of basic elements
46. AADL
Part of the material on AADL comes from
www.aadl.info and from Dr. Peter Feiler.
Notation for specification of runtime architecture of
real-time, embedded, fault-tolerant, secure, safety-critical,
SEA Group
software-intensive systems
Fields of application: Avionics, Aerospace, Automotive,
Autonomous systems, Medical devices
Based on 15 years of research industry input
Standard approved published Nov 2004
www.aadl.info
47. High level description of AADL
Developed and standardized under the auspices of the
International Society of Automotive Engineers (SAE)
Support the design and analysis of complex real-time
safety-critical systems in avionics, automotive, space,
…
AADL provides a formal mechanism to capture the
architecture specification
SEA Group
─ AADL - mathematical analysis of real-time embedded,
multiprocessor, safety critical, fault tolerant systems (hardware
and software)
AADL is precise but abstract, incremental, system of
systems, extendable
48. Model-based Assurance
SEA Group
Predictive Analysis
Across Perspectives Security
Intrusion
Integrity
Confidentiality
Availability
Reliability
MTBF
FMEA
Hazard
analysis
Real-time
Performance
Execution time/
Deadline
Deadlock/starvation
Latency
Resource
Consumption
Bandwidth
CPU time
Power
consumption
Data
Quality
Data precision/
accuracy
Temporal
correctness
Confidence
Architecture Model
Reduced model
validation cost due to
single source model
49. SEA Group
Model-Based Embedded System Engineering
Execution
Platform
Electronic
. . . . . . . . . .
Document the
Architecture
Abstract, but
Precise
Navigation
System
Airbag
Parking Deployment
Assistance
Emission
Management
Cruise
Control
Antilock
Braking
System
Application
Software
Fuel
Injection
System Analysis
• Schedulability
• Performance
• Reliability
• Fault Tolerance
• Dynamic Configurability
System Construction
• AADL Runtime System
• Application Software
Integration
External
Environment
50. SAE AADL Standard
Embedded
Systems
Research Industrial
SEA Group
MetaH
Honeywell
DSSA
RMA
Lehoczky
Klein
SAE AADL
Standard
Nov 2004
Industry
Industrial Standards
Projects
Industrial
Initiatives
Simplex
Dependable Upgrade
Sha
GME
VanderBilt
MoBIES
ACME
Garlan
EDCS
HOOD
STOOD
MetaH
Error Model
Honeywell
Automotive
Unmanned
Vehicles
OSATE
Toolset
SEI
AADL Meta
Model XMI
June 2006
AADL Error
Annex Standard
June 2006
AADL UML
Profile Std
2007
Tools
Aerospace Avionics
Medical
Automotive Avionics Aerospace
Eclipse
EMF
MBE
www.aadl.info
51. Industrial Embedded Systems
Initiatives
SEA Group
SAE AADL
Standard
Nov 2004
Automotive
OSATE
Toolset
SEI
AADL Meta
Model XMI
June 2006
AADL Error
Annex Standard
June 2006
Avionics
Aerospace
MBE
EAST ADL
AutoSAR
US AVSI Avionics Consortium
Analysis-based System Validation
8 partners $12+M 2007-2010
ITEA SPICES
Model-Driven Embedded
Systems Engineering
15 partners €16M 2006-2009
TOPCASED
Open Source Embedded
Systems Tool Framework
28 partners €20+M2005-2008
EC ASSERT
Proof-based Satellite
Architectures
ESA + 30 partners
€15M 2004-2007
IST ARTIST2
Embedded Systems
Center of Excellence
2007-2011
OpenGroup
Real-Time Forum
EU + US partners
52. Two-Tier Tool Strategy
Based on AADL XMI interchange format standard
Open Source Tool Solution
SEA Group
─ Low entry cost solution based on Eclipse Eclipse Modeling Framework
─ SEI Open Source AADL Tool Environment (OSATE) integrated with open source
Airbus TOPCASED tools
─ Vehicle for pilot projects, in-house prototyping, and architecture research
Commercial Tool Support
─ Addition of AADL to existing commercial environment (ElliDiss)
─ Interface with in-house commercial tools (Dassault, Airbus, Rockwell, Honeywell)
─ UML tool environment extension integration (Telelogic, Rational, Artisan,
MARTE)
53. AADL: The Language
Precise execution semantics for components interactions
SEA Group
─ Thread, process, data, subprogram, system, processor, memory, bus, device,
abstract component, virtual processor, virtual bus
Continuous signal processing stochastic event processing
─ Data, event, message communication, unqueued queued
─ Synchronous call/return, Shared data access
─ End-to-End flow specifications
Modeling of large-scale configurable systems
─ Component variants, packaging of component classifiers, layered systems,
parameterized templates, component arrays
Accommodation of diverse analysis needs
─ User-defined properties, sublanguage extensions
AADL V2
54. Application Components
System: hierarchical organization
of components
Process: protected virtual address
space
Thread group: organization of
threads in processes
Thread: an active unit of
concurrent execution
Data: potentially sharable data
Subprogram: Callable unit of
sequential code
SEA Group
55. In general
As a matter of fact, a Software Architect needs to use
different ADLs or UML profiles to model different
aspects of his system
SEA Group
→As analyzed in many papers, it is impractical to think about a
universal ADL covering all the different users’ concerns
→We will see our solution (DUALLY) in L17 and L18
57. Why So Many ADLs?
There are many reasons for having many ADLs:
SEA Group
→Different ADLs for different “stakeholder concerns”
─ Different Domains
─ Different Analysis
─ Different Viewpoints
→Some of them are really similar, with just small semantic or
syntactic differences
→Many are just prototipal languages research specific
58. SEA Group
Problems with Existing ADLs
High degree of formality
→making difficult their integration in industrial life-cycles
Specialized semantic basis:
→Different analysis require different ADLs
→Impossible to construct an ADL which supports every kind of analysis
Limited tool support
Lack of lifecycle-wide support
Very limited industry buy-in to date
59. SEA Group
A Compromise: UML
UML is the de facto standard design notation of choice
in industrial software development
Understood by many industrial software developers
Reasonably applicable to software architectures
→UML can be adapted for use as an ADL, but
─ Less formal and much more ambiguous than existing ADLs
─ Mature design environments, but lack of powerful analysis tools
Nowadays, many approaches to extend the UML for
SA modeling
60. What you shall have learned
You get the precise idea on what an ADL is
You get a precise idea on why there are many ADLs
SEA Group
61. SEA Group
Specification and Formal Specification
“Formal methods provide mathematically based techniques” that have the
additional advantage of “being amenable to machine analysis and
manipulation” [Wing90]
A Formal specification is the expression, in some formal language and at
some level of abstraction, of a collection of properties some system should
satisfy [Lam00]
A formal specification language consists of
→ syntax (the notation)
→ semantics (the specifiable objects)
→ satisfies relation (the semantics associated to the syntax)
h9
63. Formal Specification: Why
For avoiding:
SEA Group
» [In]Consistency
1. [In]Completeness
2. [Non] Minimality
64. Types of Formal Specifications for SA modeling
Structural specifications:
SEA Group
→ Structural specifications describe topological constraints
→ Properties on the structure of the element in the
specification
Behavioral specification
→ Behavioral specifications describe
constraints on behavior of the
system
→ functional properties