This document summarizes a presentation on self-adaptation and self-awareness with a focus on reflective Russian dolls. It defines adaptation as the run-time modification of control data. It presents an approach using reflective Russian dolls to support formal techniques for adaptation and self-awareness. This involves using logical reflection and wrapping techniques to represent adaptive systems as towers of reflections. The presentation discusses using Maude to formally model autonomic managers and adaptive systems.
Ask 5 Software Architects for a definition of Software Architecture and you'll get 10 definitions. However definition important to understand responsibilities, skills requirements and activities. Furthermore, separation of Software Architecture and Application Design has many practical benefits.
Fundamentals of object orientation, objects, classes, classification and object models delivered to post-graduate students of Object Oriented Software Engineering.
Model-Based Systems Engineering (MBSE) is an ambiguous concept that means many things to many different people. The purpose of this presentation is to “de-mystify” MBSE, with the intent of moving the sub-discipline forward. Model-Based Systems Engineering was envisioned to manage the increasing complexity within systems and System of Systems (SoS). This presentation defines MBSE as the formalized application of modeling (static and dynamic) to support system design and analysis, throughout all phases of the system lifecycle, and through the collection of modeling languages, structures, model-based processes, and presentation frameworks used to support the discipline of systems engineering in a model-based or model-driven context. Using this definition, the components of MBSE (modeling languages, processes, structures, and presentation frameworks) are defined. The current state of MBSE is then evaluated against a set of effective measures. Finally, this presents a vision for the future direction of MBSE.
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)
The following presentation covers the basics of Software Architecture and the related topics. Most of the information provided is given in short phrases. Refer to Wikipedia article on the same for more information.
This is meant to be a brief slideshow only.
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
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
Ask 5 Software Architects for a definition of Software Architecture and you'll get 10 definitions. However definition important to understand responsibilities, skills requirements and activities. Furthermore, separation of Software Architecture and Application Design has many practical benefits.
Fundamentals of object orientation, objects, classes, classification and object models delivered to post-graduate students of Object Oriented Software Engineering.
Model-Based Systems Engineering (MBSE) is an ambiguous concept that means many things to many different people. The purpose of this presentation is to “de-mystify” MBSE, with the intent of moving the sub-discipline forward. Model-Based Systems Engineering was envisioned to manage the increasing complexity within systems and System of Systems (SoS). This presentation defines MBSE as the formalized application of modeling (static and dynamic) to support system design and analysis, throughout all phases of the system lifecycle, and through the collection of modeling languages, structures, model-based processes, and presentation frameworks used to support the discipline of systems engineering in a model-based or model-driven context. Using this definition, the components of MBSE (modeling languages, processes, structures, and presentation frameworks) are defined. The current state of MBSE is then evaluated against a set of effective measures. Finally, this presents a vision for the future direction of MBSE.
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)
The following presentation covers the basics of Software Architecture and the related topics. Most of the information provided is given in short phrases. Refer to Wikipedia article on the same for more information.
This is meant to be a brief slideshow only.
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
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
Angelo Furno and Eugenio Zimeos presentation at the 2nd Awareness Workshop on challenges for achieving self-awareness in autonomic systems at SASO 2012, Lyon.
More from FET AWARE project - Self Awareness in Autonomic Systems (20)
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
A white-box perspective on self-adaptation and self-awareness
1. A White-box Perspective on Self-Adaptation and Self-Awareness
(with a focus on Reflective Russian Dolls)
Alberto Lluch Lafuente
alberto.lluch@imtlucca.it
ascens
autonomic service component ensembles
Roberto Bruni, University of Pisa
Andrea Corradini, University of Pisa
Fabio Gadducci, University of Pisa
Andrea Vandin, IMT Lucca
10th-16th June 2012 Edinburgh
6. the goal of ascens
“...build ensembles in a way that combines
software engineering,
formal methods and
autonomic, adaptive, self-aware systems.”
- ascens-ist.eu
8. - Lotfi A. Zadeh,
Proceedings of the
IEEE, 1963
9. adaptation
“... changing something (itself, others,
the environment) so that it would be
more suitable or fit for some purpose
than it would have otherwise been”
- T. Lints, “The essentials in defining adaptation”,
4th Annual IEEE Systems Conference
10. adaptation in software systems
“Self-adaptive software evaluates its own behavior and
changes behavior when the evaluation indicates that
[…] better functionality or performance is possible.”
- Laddaga, R. “Self-adaptive software”,
Technical Repeport 98-12, DARPA BAA, 1997.
11. adaptation in software systems
“Self-adaptive software
modifies its own behavior
in response to changes in its operating environment.”
- P. Oreizy, et al, “An architecture-based approach to self-
adaptive software”. IEEE Intelligent Sys. 14, 3, 54–62, 1999
12. adaptation in software systems
“A software system is self-adaptive if it
modifies its behaviour
as a reaction to a change in itself or its context
to maintain/improve goal achievement”
13. what's the problem with software?
Most programs...
...“change behaviour” (e.g. conditional branching);
...“to react to external perturbations” (e.g. inputs);
...“to reach goals” (e.g. functional requirements).
How do we distinguish...
...an adaptive software from a non adaptive one?
...adaptation logic from application logic?
15. is this adaptation?
“if the hill is too steep then
assemble with other robots and try again”
16. is this adaptation?
...
if (tooSteep || ... ){
setLight(green);
setState(Anti_Phototaxis);
}
..
17. is obstacle avoidance adaptive?
“Obstacle avoidance may count as adaptive
behaviour if […] obstacles appear rarely. [...]
If the ‘normal’ environment is […] obstacle-
rich, then avoidance becomes [...] “normal”
behaviour rather than an adaptation.”
- Ezequiel di Paolo, course on “Adaptive Systems”,
University of Sussex, Spring 2006.
18. black-box adaptation
In other fields (e.g. Biology, Control Theory)
systems have a “default” behaviour & goal;
adaptation reacts to “external perturbations”.
20. 5W1H (six honest men)
(1) Why? (e.g. robustness? performance? goals?)
(2) When? (e.g. reactively or proactively?)
(3) Where? (e.g. which architectural level?)
(4) What? (e.g. which artifacts?)
(5) Who? (e.g. autonomic managers? humans?)
(6) How? (e.g. which actions, in which order?)
- M. Salehie et al., “Self-adaptive software: Landscape and research challenges”. ACM
Transactions on Autonomous and Adaptive Systems 4(2), 2009
- R. Laddag. “Active software”. Int. Workshop on Self-Adaptive Software. 11–26, 2000
21. this talk...
...focuses on the “HOW”
“A software system is self-adaptive if it
modifies its behaviour
as a reaction to a change in itself or its context
to maintain/improve goal achievement”
22. desiderata
Conceptual white-box definitions of adaptation...
… useful to disambiguate “adaptivity”;
… general enough & consistent with the literature;
… useful for designing & analysing adaptive systems.
23. what is a program?
“program = control + data”
- Niklaus Wirth, “Algorithms + Data Structures = Programs”,
Prentice-Hall (1976)
24. what is a program?
CONTROL DATA
Data can be used to
store information;
influence the control;
both.
25. what is an adaptable program?
“adaptable program =
control + data
26. what is an adaptable program?
“adaptable program =
control + data
control data + the rest ”
27. what is an adaptable program?
CONTROL DATA
CONTROL OTHER DATA
“adaptation is the run-time
modification of control data”
28. a program is...
“...adaptable if it has a distinguished collection
of CD that can be modified at runtime.”
“...adaptive if its control data is modified at
runtime for some computation.”
“...self-adaptive if it modifies its own control
data at runtime.”
29. are these definitions...
… useful to disambiguate “adaptivity”?
… general enough & consistent with the literature?
… useful for designing & analysing adaptive systems?
30. on ambiguity
The choice of CD is (of course) arbitrary:
The same system can be adaptive in different ways!
but...
...the responsibility of declaring
“what is the adaptive behaviour”
is passed from the observer to the designer.
31. is this adaptation?
...
if (tooSteep || ... ){
setLight(green);
is the state a control data?
setState(Anti_Phototaxis);
}
..
32. design & analysis: control data & effectors
AUTONOMIC MANAGER
Analyze Plan
Monitor Knowledge Execute
EFFECTOR
MANAGED ELEMENT
CD
CONTROL
33. design & analysis: MAPE-K
Control
AUTONOMIC MANAGER
Data
Analyze Plan
Control
Monitor Knowledge Execute
Control
Data
MANAGED ELEMENT
34. CD
design & analysis:
A P
adaptation towers
M K E
CD CD
A P
CONTROL M E
K
CD
CD A P
M K E
CONTROL
CD
MANAGED ELEMENT
35. design & analysis: architectural styles
CD CD
CONTROL CONTROL
do we want this?
51. Maude is also a semantic framework
models of concurrent computation: equational programming, lambda calculi,
Petri nets, process algebras (CCS and pi-calculus), actors, operational
semantics of languages (via K, SOS): Java, C, Python, Haskell, agent
languages, active networks languages, hardware description languages,
logical framework and metatool: linear logic, translations between theorem
provers, type systems, open calculus of constructions, tile logic distributed
architectures and components: UML, OCL, MOF, Service architectures and
middlewares, open distributed processing, models, specification and
analysis of communication protocols: active networks, wireless sensor
networks, firewire leader election protocol, modeling and analysis of
security protocols: cryptographic protocol specification language CAPSL,
MSR, security specification formalism, Maude-NPA, real-time, biological,
probabilistic systems: real-time maude, pathway logic...
52. Maude is tool supported
An Interpreter;
Debuggers (declarative/interactive);
Model checkers (e.g. LTL);
Confluence & Termination checkers;
A theorem prover;
...
53. maude supports logical reflection
META-LEVEL is a module (the universal theory) where
– modules, terms, rules, equations, sorts, etc. are data.
– matching, rule application, rewriting, etc. are functions.
META-LEVEL is a module so...
it can be treated as data again, and again...
enabling the tower of reflection.
Meta-programming applications
– transformation of modules;
– analysis of modules;
– ...
– adaptation.
58. white-box adaptation
manager
state rules state rules
(black-box component)
interpreter
(white-box component)
59. self-awareness
“Self-Awareness means
that the system is aware of manager
its self states
and behaviors. ” state rules
- M.G. Hinchey, et al, “Self-managing
software”. IEEE Computer 39(2) 107–109, 2006. interpreter
(white-box component)
63. “formal” autonomic managers
model checking,
AUTONOMIC MANAGER
logical inference
Analyze Plan
Monitor Knowledge Execute
EFFECTOR
MANAGED ELEMENT
CD
CONTROL
65. summary
White box-adaptation:
Focus on “how” rather than “why”;
Adaptation logic decided by the designers, rather than observers;
“Control Data” white box criteria:
“adaptable program = control + {control data + other data}”;
Wide spectrum of control data: from “parameters” to “programs”;
Reflective Russian Dolls:
Support formal techniques for adaptation and awareness;
Rely on logical reflection and wrapping techniques;
66. main references
M. Salehie, L. Tahvildari, Self-adaptive software: Landscape and research
challenges. ACM Transactions on Autonomous and Adaptive Systems 4 (2),
2009.
R. Bruni, A. Corradini, F. Gadducci, A. Lluch Lafuente, A. Vandin, A Conceptual
Framework for Adaptation, Proceedings of the 15th International Conference on
the Fundamentals of Software Engineering (FASE’12), LNCS, vol. 7212, pp.
240–254, Springer (2012), draft available at http://eprints.imtlucca.it/1059
J. Meseguer, C. Talcott, Semantic models for distributed object reflection. In
ECOOP 2002, B. Magnusson, Ed. LNCS Series, vol. 2374. Springer, 1–36,
2002.
R. Bruni, A. Corradini, F. Gadducci, A. Lluch Lafuente, A. Vandin, Modelling and
analyzing adaptive self-assembling strategies with Maude, Pre-proceedings of
the International Workshop on Rewriting Logic and its Applications (WRLA'12),
2012, draft available at http://eprints.imtlucca.it/1048/