This document provides an overview of self-adaptation and self-awareness, with a focus on reflective Russian dolls. It discusses white-box perspectives on adaptation, defining adaptation as the runtime modification of control data. Reflective Russian dolls are proposed as a way to support formal techniques for self-adaptation and self-awareness using logical reflection and wrapping components within each other. The document concludes by referencing key works in the field of self-adaptive software engineering.
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software ArchitecturesFilip Krikava
Presentation given at 29th Symposium On Applied Computing (SAC'14) - Dependable and Adaptive Distributed Systems track.
It is mainly based on the work done during my Ph.D.
201209 An Introduction to Building Affective-Driven Self-Adaptive Software Javier Gonzalez-Sanchez
One important characteristic in modern software systems is self-
adaptation, the capability of monitoring and reacting to changes into the environment. A particular case of self-adaptation is affect-driven self- adaptation. Affect-driven self-adaptation involves using sensing devices to measure physiological signals of human affectivestate’s (emotions) changes, learning about the meaning of those changes, and then reacting (self-adapting) in consequence. Affect-driven self-adaptive systems take advantage of brain-computer interfaces, eye-tracking, face-based emotion recognition, and sensors to measure physiological signals.
Systems such as learning environments, health care systems, and videogames are able to take advantage of affect-driven self-adaptive capabilities. Today these capabilities are brittle, costly to change, difficult to reuse, and limited in scope. A software factory approach has been suggested to make feasible adding affective-driven self-adaptive capabilities either into new or existing systems. Software factories capture knowledge of how to produce applications that share common characteristics and make that knowledge available in the form of assets (patterns, model, framework, and tools) and systematically apply those assets to automate development reducing cost and time while improving product quality.
This talk provides a sneak peek of affective-driven self-adaptive capabilities and explores how a software factory approach is used to build affect-driven self-adaptive software.
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software ArchitecturesFilip Krikava
Presentation given at 29th Symposium On Applied Computing (SAC'14) - Dependable and Adaptive Distributed Systems track.
It is mainly based on the work done during my Ph.D.
201209 An Introduction to Building Affective-Driven Self-Adaptive Software Javier Gonzalez-Sanchez
One important characteristic in modern software systems is self-
adaptation, the capability of monitoring and reacting to changes into the environment. A particular case of self-adaptation is affect-driven self- adaptation. Affect-driven self-adaptation involves using sensing devices to measure physiological signals of human affectivestate’s (emotions) changes, learning about the meaning of those changes, and then reacting (self-adapting) in consequence. Affect-driven self-adaptive systems take advantage of brain-computer interfaces, eye-tracking, face-based emotion recognition, and sensors to measure physiological signals.
Systems such as learning environments, health care systems, and videogames are able to take advantage of affect-driven self-adaptive capabilities. Today these capabilities are brittle, costly to change, difficult to reuse, and limited in scope. A software factory approach has been suggested to make feasible adding affective-driven self-adaptive capabilities either into new or existing systems. Software factories capture knowledge of how to produce applications that share common characteristics and make that knowledge available in the form of assets (patterns, model, framework, and tools) and systematically apply those assets to automate development reducing cost and time while improving product quality.
This talk provides a sneak peek of affective-driven self-adaptive capabilities and explores how a software factory approach is used to build affect-driven self-adaptive software.
This presentation gives you eight simple tips on how to make your PowerPoint presentation slides more visually engaging, creative and fun. Try out these advice and you will make your best PowerPoint presentation ever.
This presentation was created by my powerpoint design agency Slides. We are based in Spain but have clients worldwide.
Drop me an email and we will discuss your project.
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.
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.
[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
This presentation gives you eight simple tips on how to make your PowerPoint presentation slides more visually engaging, creative and fun. Try out these advice and you will make your best PowerPoint presentation ever.
This presentation was created by my powerpoint design agency Slides. We are based in Spain but have clients worldwide.
Drop me an email and we will discuss your project.
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.
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.
[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
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)
Information flow techniques typically classify information according to suitable security levels and enforce policies that are based on binary relations between individual levels, e.g., stating that information is allowed to flow from one level to another. We argue that some information flow properties of interest naturally require coordination patterns that involve sets of security levels rather than individual levels: some secret information could be safely disclosed to a set of confidential channels of incomparable security levels, with individual leaks considered instead illegal; a group of competing agencies might agree to disclose their secrets, with individual disclosures being undesired, etc. Motivated by this we propose a simple language for expressing information flow policies where the usual admitted flow relation between individual security lev- els is replaced by a relation between sets of security levels, thus allowing to capture coordinated flows of information. The flow of information is expressed in terms of causal dependencies and the satisfaction of a policy is defined with respect to an event structure that is assumed to capture the causal structure of system computations. We suggest applications to secret exchange protocols, program security and security architectures, and discuss the relation to classic notions of information flow control.
Talk at the Informatics Colloquium at LMU München.
Abstract: Aggregation plays a central role in many computational paradigms and their applications. Classical examples are fold/reduce functions in functional programming, reduce/gather operations in parallel programming, and set functions in database programming. Aggregation is essential as well in many of today's IT trends, from Big (Graph) Data analytics to coordination of devices and services in complex distributed systems such as the Internet-of-Things. Aggregate programming models, languages and techniques are indeed a current topic of research in several communities. I will discuss how a soft variant of a modal logic can provide a convenient declarative approach to aggregate programming and I will mention applications to distributed coordination of agents and to distributed graph analytics.
My presentation in the idea4cps.dk workshop held in Aalborg. Its about a semiring-valued temporal logic that me and Ugo Montanari developed some years ago. The logic is essentially a generalisation of CTL interpreted over absorptive semirings, an algebraic structure that is quite suitable to model quantitative aspects such as quality-of-service measures.
Can we efficiently verify concurrent programs under relaxed memory models in ...Alberto Lluch Lafuente
Relaxed memory models offer suitable abstractions of the actual optimizations offered by multi-core architectures and by compilers of concurrent programming languages. Using such abstractions for verification purposes is challenging in part since they introduce yet another source of high non-determinism, thus contributing to the state explosion problem. In the last years several techniques have been proposed to mitigate those problems so to make verification under relaxed memory models feasible. In this talk I present some of those techniques and discuss if and how those techniques can be adopted in Maude or Maude-based verification tools.
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...Alberto Lluch Lafuente
My talk at the 2nd General Meeting of the CINA project, Bologna, 18-20 Feb 2014.
The increasing diffusion of cloud technologies offers new opportunities for distributed and collaborative computing. Volunteer clouds are a prominent example, where participants join and leave the platform and collaborate by sharing computational resources. The high complexity, dynamism and unpredictability of such scenarios call for decentralized self-* approaches. We present in this paper a framework for the design and evaluation of self-adaptive collaborative task execution strategies in volunteer clouds. As a byproduct, we propose a novel strategy based on the Ant Colony Optimization paradigm, that we validate through simulation-based statistical analysis over Google workload data.
My talk on "State Space C-Reductions for Concurrent Systems in Rewriting Logic" held at the International ETAPS Workshop on Graph Inspection and Traversal Engineering (GRAPHITE 2013).
Full manuscript available here: http://eprints.imtlucca.it/1350/
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...Alberto Lluch Lafuente
We present c-reductions, a state space reduction technique. The rough idea is to exploit some equivalence relation on states (possibly capturing system regularities) that preserves behavioral properties, and explore the induced quotient system. This is done by means of a canonizer function, which maps each state into one (of the) canonical representative(s) of its equivalence class. The approach exploits the expressiveness of rewriting logic and its realization in Maude to enjoy several advantages over similar approaches: flexibility and simplicity in the definition of the reductions (supporting not only traditional symmetry reductions, but also name reuse and name abstraction); reasoning support for checking and proving correctness of the reductions; and automatization of the reduction infrastructure via Maude's meta-programming features. The approach has been validated over a set of representative case studies, exhibiting comparable results with respect to other tools.
Evaluating the performance of model transformation styles with Maude @ Sympos...Alberto Lluch Lafuente
Rule-based programming has been shown to be very successful in many application areas. Two prominent examples are the specification of model transformations in model driven development approaches and the definition of structured operational semantics of formal languages. General rewriting frameworks such as Maude are flexible enough to allow the programmer to adopt and mix various rule styles. The choice between styles can be biased by the programmer's background. For instance, experts in visual formalisms might prefer graph-rewriting styles, while experts in semantics might prefer structurally inductive rules. This paper evaluates the performance of different rule styles on a significant benchmark taken from the literature on model transformation. Depending on the actual transformation being carried out, our results show that different rule styles can offer drastically different performances. We point out the situations from which each rule style benefits to offer a valuable set of hints for choosing one style over the other.
We define an algebraic theory of hierarchical graphs, whose equational part characterises graph isomorphism, i.e. it is formed by a sound and complete set of axioms equating two terms whenever they represent the same hierarchical graph. Our algebra can thus be understood as a high-level language for describing graphs with a nested structure, and is then particularly suited for the visual specication of process calculi with inherently hierarchical features such as sessions, transactions or locations. We illustrate our approach by encoding CaSPiS, a recently proposed session-centered calculus.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
Delivering Micro-Credentials in Technical and Vocational Education and TrainingAG2 Design
Explore how micro-credentials are transforming Technical and Vocational Education and Training (TVET) with this comprehensive slide deck. Discover what micro-credentials are, their importance in TVET, the advantages they offer, and the insights from industry experts. Additionally, learn about the top software applications available for creating and managing micro-credentials. This presentation also includes valuable resources and a discussion on the future of these specialised certifications.
For more detailed information on delivering micro-credentials in TVET, visit this https://tvettrainer.com/delivering-micro-credentials-in-tvet/
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...NelTorrente
In this research, it concludes that while the readiness of teachers in Caloocan City to implement the MATATAG Curriculum is generally positive, targeted efforts in professional development, resource distribution, support networks, and comprehensive preparation can address the existing gaps and ensure successful curriculum implementation.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
How to Build a Module in Odoo 17 Using the Scaffold MethodCeline George
Odoo provides an option for creating a module by using a single line command. By using this command the user can make a whole structure of a module. It is very easy for a beginner to make a module. There is no need to make each file manually. This slide will show how to create a module using the scaffold method.
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.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
A Survey of Techniques for Maximizing LLM Performance.pptx
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus on Russian Dolls) @ AWASS Summer School 2012
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 its goal”
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 || ... ){
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
Popular on some fields (Biology, Control Theory, ...)
systems have a “default” behaviour & goal;
adaptation reacts to “external perturbations”.
In software systems:
Useful in the analysis;
Not so useful in the design, reuse, etc.
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?
...
is the state a control data?
if (tooSteep || ... ){
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: patterns/styles
CD CD
CONTROL CONTROL
do you want this?
52. 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...
53. Maude is tool supported
An Interpreter;
Debuggers (declarative/interactive);
Model checkers (e.g. LTL);
Confluence & Termination checkers;
A theorem prover;
...
54. 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.
60. white-box adaptation
manager
state rules state rules
(black-box component)
interpreter
(white-box component)
61. 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)
65. “formal” autonomic managers
model checking,
AUTONOMIC MANAGER
logical inference
Analyze Plan
Monitor Knowledge Execute
EFFECTOR
MANAGED ELEMENT
CD
CONTROL
67. summary
White box-adaptation:
Focus on internal mechanisms, rather than manifestations;
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;
68. 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)
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