Due to their privileged position halfway the physical and the
cyber universe, user interfaces may play an important role in
learning, preventing, and tolerating scenarios affecting the
safety of the mission and the user's quality of experience. This
vision is embodied here in the main ideas and a proof-of-
concepts
implementation of user interfaces combining
dynamic profiling with context- and situation-awareness and
autonomic software adaptation.
The user interface (UI) may be considered as the contact point
between two "universes"—the physical universe of the user
(let us refer to this universe as U) and the cyber universe
where required computer services are executed (C). The UI is
also the logical “place” where actions are selected and passed
for execution in C. As well known U and C are very different
from each other—in particular they have quite different
notions of time, behaviours, actions, and quality of service.
Despite so huge a difference, the consequences of the actions
in C often reverberate in U—to the point that when the
computer
service
is
safety-critical
failures
or
misinterpretations in C may induce catastrophic events in U
possibly involving the loss of goods, capital, and even lives.
As a matter of facts, the human factor is known as one of the
major causes for system failures [2,15], and the UI is often
the indirect player behind most interaction faults at the root of
computer failures.
Due to its central role in the emergence of the user's quality of
experience (QoE), the UI has been the subject of extensive
research. As a result, current interfaces are adaptive,
anticipative, personalized, and to some degree “intelligent”
[3].
We believe that much more can be done beyond this already
noteworthy progress. Thanks to its privileged position
halfway between the user and the computer, we argue that the
UI is well suited for hosting several non-functional tasks,
including:
Gathering contextual information from both sides of
the activity spectrum.
Deriving situational information about the current
interaction processes.
Producing logs of the knowledge accrued and
situations unveiled.
Executing corrective actions in U and C so as to
mitigate the extent of the consequences of safety or
security violations.
●
In this paper we propose an approach based on the above
argument. This approach instruments a UI so as to produce a
stream of atomic UI operations and their C-time of
occurrence.
Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013Vincenzo De Florio
Seminarie Computernetwerken is a course given at Universiteit Antwerpen, Belgium
A series of seminars focusing on various themes changing from year to year.
This year's themes are: resilience, behaviour, evolvability; in systems, networks, and organizations
In what follows we describe:
themes of the course
view to the seminars
rules of the game
Seminarie Computernetwerken 2012-2013: Lecture I, 26-02-2013Vincenzo De Florio
Seminarie Computernetwerken is a course given at Universiteit Antwerpen, Belgium
A series of seminars focusing on various themes changing from year to year.
This year's themes are: resilience, behaviour, evolvability; in systems, networks, and organizations
In what follows we describe:
themes of the course
view to the seminars
rules of the game
Requirement analysis, architectural design and formal verification of a multi...ijcsit
This paper presents an approach based on the analysis, design, and formal verification of a multi-agent
based university Information Management System (IMS). University IMS accesses information, creates
reports and facilitates teachers as well as students. An orchestrator agent manages the coordination
between all agents. It also manages the database connectivity for the whole system. The proposed IMS is
based on BDI agent architecture, which models the system based on belief, desire, and intentions. The
correctness properties of safety and liveness are specified by First-order predicate logic.
What Is AI: Foundations, History and State of the Art of AI.
Intelligent Agents: Agents and Environments, Nature of Environments, Structure of Agents.
Problem Solving by searching: Problem-Solving Agents, Example Problems,Searching for Solutions, Uninformed Search Strategies, Informed (Heuristic) Search Strategies, Heuristic Functions.
Learning from Examples: Forms of Learning, Supervised Learning, Learning Decision Trees, Evaluating and Choosing the Best Hypothesis, Theory of Learning, Regression and Classification with Linear Models, Artificial Neural Networks, Nonparametric Models, Support Vector Machines, Ensemble Learning, Practical Machine Learning
Learning probabilistic models: Statistical Learning, Learning with Complete Data, Learning with Hidden Variables: The EM Algorithm. Reinforcement learning: Passive Reinforcement Learning, Active Reinforcement Learning, Generalization in Reinforcement Learning, Policy Search, Applications of Reinforcement Learning.
A survey on context aware system & intelligent Middleware’sIOSR Journals
Abstract: Context aware system or Sentient system is the most profound concept in the ubiquitous computing.
In the cloud system or in distributed computing building a context aware system is difficult task and
programmer should use more generic programming framework. On the basis of layered conceptual design, we
introduce Context aware systems with Context aware middleware’s. On the basis of presented system we will
analyze different approaches of context aware computing. There are many components in the distributed system
and these components should interact with each other because it is the need of many applications. Plenty
Context middleware’s have been made but they are giving partial solutions. In this paper we are giving analysis
of different middleware’s and comprehensive application of it in context caching.
Keywords: Context aware system, Context aware Middleware’s, Context Cache
A Model of Local Area Network Based Application for Inter-office Communicationtheijes
In most organizations, information circulation within offices poses a problem because clerical officers and office messengers usually dispatch letters and memos from one office to another manually. Sequel to this circulation procedure, implementation of decisions is always difficult and slow. On one hand, clerical officers sometimes divulge confidential information during the process of receiving and sending of mails and other documents. On the other hand, money is wasted on the purchase of paper for printing. However, it is cheerful to learn that technology has made it possible for staff, structures and infrastructures to control and share organization resources; hardware; software and knowledge by means of modern electronic communication. One cannot deny the fact that the flow of information is very imperative in every organization as it determines the effectiveness of decision-making and implementation. This feat can be achieved using Object-Oriented System Analysis and Design Methodology (OSADM). This is structurally analyzed with Use Case Diagram (UCD), Class Diagram, Sequence Diagram, State Transition Diagram, and Activity Diagram. Moreover, the system is coded with Java 1.6 version, in a client-server network running on star topology in LAN environment. This is the concept of this paper. The system is designed to work in two parts – the control part that is installed on the server; and the messenger part that is installed in the clients. This research work integrates the utility and organization resources into a shared center for all users to have access to; and for free communication during office hours.
Proactive cloud service assurance framework for fault remediation in cloud en...IJECEIAES
Cloud resiliency is an important issue in successful implementation of cloud computing systems. Handling cloud faults proactively, with a suitable remediation technique having minimum cost is an important requirement for a fault management system. The selection of best applicable remediation technique is a decision making problem and considers parameters such as i) Impact of remediation technique ii) Overhead of remediation technique ii) Severity of fault and iv) Priority of the application. This manuscript proposes an analytical model to measure the effectiveness of a remediation technique for various categories of faults, further it demonstrates the implementation of an efficient fault remediation system using a rulebased expert system. The expert system is designed to compute a utility value for each remediation technique in a novel way and select the best remediation technique from its knowledgebase. A prototype is developed for experimentation purpose and the results shows improved availability with less overhead as compared to a reactive fault management system.
How Resilient Are Our Societies?Analyses, Models, Preliminary ResultsVincenzo De Florio
Traditional social organizations such as those for the management of healthcare and civil defense are the result of designs and realizations that matched well with an operational
context considerably different from the one we are experiencing today: A simpler world, characterized by a greater amount of resources to match less users producing lower peaks of requests.
The new context reveals all the fragility of our societies: unmanageability is just around the corner unless we do not complement the “old recipes” with smarter forms of social organization.
Here we analyze this problem and propose a refinement to our fractal social organizations as a model for resilient cyber-physical societies. Evidence to our claims is provided by simulating our model in terms of multi-agent systems.
In this presentation we introduce a family of gossiping algorithms whose members share the same structure though they vary their performance in function of a combinatorial parameter. We show that such parameter may be considered as a “knob” controlling the amount of communication parallelism characterizing the algorithms. After this we introduce procedures to operate the knob and choose parameters matching the amount of communication channels currently provided by the available communication system(s). In so doing we provide a robust mechanism to tune the production of requests for communication after the current operational conditions of the consumers of such requests. This can be used to achieve high performance and programmatic avoidance of undesirable events such as message collisions.
Paper available at https://dl.dropboxusercontent.com/u/67040428/Articles/pdp12.pdf
Requirement analysis, architectural design and formal verification of a multi...ijcsit
This paper presents an approach based on the analysis, design, and formal verification of a multi-agent
based university Information Management System (IMS). University IMS accesses information, creates
reports and facilitates teachers as well as students. An orchestrator agent manages the coordination
between all agents. It also manages the database connectivity for the whole system. The proposed IMS is
based on BDI agent architecture, which models the system based on belief, desire, and intentions. The
correctness properties of safety and liveness are specified by First-order predicate logic.
What Is AI: Foundations, History and State of the Art of AI.
Intelligent Agents: Agents and Environments, Nature of Environments, Structure of Agents.
Problem Solving by searching: Problem-Solving Agents, Example Problems,Searching for Solutions, Uninformed Search Strategies, Informed (Heuristic) Search Strategies, Heuristic Functions.
Learning from Examples: Forms of Learning, Supervised Learning, Learning Decision Trees, Evaluating and Choosing the Best Hypothesis, Theory of Learning, Regression and Classification with Linear Models, Artificial Neural Networks, Nonparametric Models, Support Vector Machines, Ensemble Learning, Practical Machine Learning
Learning probabilistic models: Statistical Learning, Learning with Complete Data, Learning with Hidden Variables: The EM Algorithm. Reinforcement learning: Passive Reinforcement Learning, Active Reinforcement Learning, Generalization in Reinforcement Learning, Policy Search, Applications of Reinforcement Learning.
A survey on context aware system & intelligent Middleware’sIOSR Journals
Abstract: Context aware system or Sentient system is the most profound concept in the ubiquitous computing.
In the cloud system or in distributed computing building a context aware system is difficult task and
programmer should use more generic programming framework. On the basis of layered conceptual design, we
introduce Context aware systems with Context aware middleware’s. On the basis of presented system we will
analyze different approaches of context aware computing. There are many components in the distributed system
and these components should interact with each other because it is the need of many applications. Plenty
Context middleware’s have been made but they are giving partial solutions. In this paper we are giving analysis
of different middleware’s and comprehensive application of it in context caching.
Keywords: Context aware system, Context aware Middleware’s, Context Cache
A Model of Local Area Network Based Application for Inter-office Communicationtheijes
In most organizations, information circulation within offices poses a problem because clerical officers and office messengers usually dispatch letters and memos from one office to another manually. Sequel to this circulation procedure, implementation of decisions is always difficult and slow. On one hand, clerical officers sometimes divulge confidential information during the process of receiving and sending of mails and other documents. On the other hand, money is wasted on the purchase of paper for printing. However, it is cheerful to learn that technology has made it possible for staff, structures and infrastructures to control and share organization resources; hardware; software and knowledge by means of modern electronic communication. One cannot deny the fact that the flow of information is very imperative in every organization as it determines the effectiveness of decision-making and implementation. This feat can be achieved using Object-Oriented System Analysis and Design Methodology (OSADM). This is structurally analyzed with Use Case Diagram (UCD), Class Diagram, Sequence Diagram, State Transition Diagram, and Activity Diagram. Moreover, the system is coded with Java 1.6 version, in a client-server network running on star topology in LAN environment. This is the concept of this paper. The system is designed to work in two parts – the control part that is installed on the server; and the messenger part that is installed in the clients. This research work integrates the utility and organization resources into a shared center for all users to have access to; and for free communication during office hours.
Proactive cloud service assurance framework for fault remediation in cloud en...IJECEIAES
Cloud resiliency is an important issue in successful implementation of cloud computing systems. Handling cloud faults proactively, with a suitable remediation technique having minimum cost is an important requirement for a fault management system. The selection of best applicable remediation technique is a decision making problem and considers parameters such as i) Impact of remediation technique ii) Overhead of remediation technique ii) Severity of fault and iv) Priority of the application. This manuscript proposes an analytical model to measure the effectiveness of a remediation technique for various categories of faults, further it demonstrates the implementation of an efficient fault remediation system using a rulebased expert system. The expert system is designed to compute a utility value for each remediation technique in a novel way and select the best remediation technique from its knowledgebase. A prototype is developed for experimentation purpose and the results shows improved availability with less overhead as compared to a reactive fault management system.
How Resilient Are Our Societies?Analyses, Models, Preliminary ResultsVincenzo De Florio
Traditional social organizations such as those for the management of healthcare and civil defense are the result of designs and realizations that matched well with an operational
context considerably different from the one we are experiencing today: A simpler world, characterized by a greater amount of resources to match less users producing lower peaks of requests.
The new context reveals all the fragility of our societies: unmanageability is just around the corner unless we do not complement the “old recipes” with smarter forms of social organization.
Here we analyze this problem and propose a refinement to our fractal social organizations as a model for resilient cyber-physical societies. Evidence to our claims is provided by simulating our model in terms of multi-agent systems.
In this presentation we introduce a family of gossiping algorithms whose members share the same structure though they vary their performance in function of a combinatorial parameter. We show that such parameter may be considered as a “knob” controlling the amount of communication parallelism characterizing the algorithms. After this we introduce procedures to operate the knob and choose parameters matching the amount of communication channels currently provided by the available communication system(s). In so doing we provide a robust mechanism to tune the production of requests for communication after the current operational conditions of the consumers of such requests. This can be used to achieve high performance and programmatic avoidance of undesirable events such as message collisions.
Paper available at https://dl.dropboxusercontent.com/u/67040428/Articles/pdp12.pdf
On codes, machines, and environments: reflections and experiencesVincenzo De Florio
Code explicitly refers to a reference machine and, implicitly, to a set of conditions often called the system model and the fault model.
If one wants to guarantee an agreed-upon quality of service, one needs to either make assumptions about those conditions or adapt to them.
In this lecture I present this problem and a number of solutions, both practical and theoretical, that I have devised in the course of my career.
Although the main accent is on programming languages, here I provide links and references to other approaches that operate at algorithmic- and system-level.
Tapping Into the Wells of Social Energy: A Case Study Based on Falls Identifi...Vincenzo De Florio
Are purely technological solutions the best answer we can get to the shortcomings our organizations are often experiencing today? The results we gathered in this work lead us to giving a negative answer to such question. Science and technology are powerful boosters, though when they are applied to the “local, static organization of an obsolete yesterday” they fail to translate in the solutions we need to our problems. Our stance here is that those boosters should be applied to novel, distributed, and dynamic models able to allow us to escape from the local minima our societies are currently locked in. One such model is simulated in this paper to demonstrate how it may be possible to tap into the vast basins of social energy of our human societies to realize ubiquitous computing sociotechnical services for the identification and timely response to falls.
Accompanying paper available at https://arxiv.org/abs/1508.06655
DYNAMIC AND REALTIME MODELLING OF UBIQUITOUS INTERACTIONcscpconf
Ubiquitous systems require user to be dynamically and realtime informed in order to make his current activity increasingly easy. First, this paper presents and discusses a method to model the realtime interaction of the user with a ubiquitous system based on Petri-nets modelling technology. The goal deals with investigating dynamically the appropriate form of interaction depending on the context of the user. Thus, the interaction model structure should be dynamically improved with respect to the current and particular activity or goal of the user to better cope with his runtime requirements. This mechanism has been characterized as “models mutation”. Secondly, this paper proves the dynamic construction of models while basing on the dynamic composition of services. The ultimate purpose is to take advantage of the ontology of service written in OWL-S in order to describe the dynamic aspect of Petri-nets based models, especially, the realtime and automatic composition of such models. Simulation work has been conducted to validate the proposed approach.
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...IJNSA Journal
This study examines the traditional approach to software development within the United Kingdom Government and the accreditation process. Initially we look at the Waterfall methodology that has been used for several years. We discuss the pros and cons of Waterfall before moving onto the Agile Scrum methodology. Agile has been adopted by the majority of Government digital departments including the Government Digital Services. Agile, despite its ability to achieve high rates of productivity organized in short, flexible, iterations, has faced security professionals’ disbelief when working within the U.K. Government. One of the major issues is that we develop in Agile but the accreditation process is conducted using Waterfall resulting in delays to go live dates. Taking a brief look into the accreditation process that is used within Government for I.T. systems and applications, we focus on giving the accreditor the assurance they need when developing new applications and systems. A framework has been produced by utilising the Open Web Application Security Project’s (OWASP) Application Security Verification Standard (ASVS). This framework will allow security and Agile to work side by side and produce secure code.
ARCHITECTURE OF A IDENTITY BASED FIREWALL SYSTEMIJNSA Journal
Classic firewall systems are built to filter traffic based on IP addresses, source and destination ports and protocol types. The modern networks have grown to a level where the possibility for users’ mobility is a must. In such networks, modern firewalls may introduce such complexity where administration can become very frustrating since it needs the intervention of a firewall administrator. The solution for this problem is an identity based firewall system. In this paper we will present a new
design of a firewall system that uses the user’s identity to filter the traffic. In the design phase we will define key points which have to be satisfied as a crucial milestone for the functioning of the whole Identity based firewall system.
A major role is played in the layout and evaluation of any empirical wireless structure to manifest is the goal of this paper that counterfeit mode architectures affect counterfeit conduct, regarding structure accomplishment metrics, essentially and therefore, the excellent architecture should be explored in order to accomplish the most accurate and reliable results. It is found that the most analytical factors it is found that that actuate counterfeit mode accomplishment are counterfeit time, structure event organizing and
grade of adequate. It is, also, found that counterfeit time in relation to event existence in the real structure
along with the usage of modern architectural concepts such as multi-interweave technology complement
analytical issues too in the advancement of an adequate counterfeit organization for wireless communications. In order to evaluate the above findings an extensive empirical review has been
demeanored analysising several distinct events counterfeitorganizations towards presenting the relation
between channel designing collections, counterfeit time and structure accomplishment.
Aspect-Oriented Instrumentation for Capturing Task- Based Event TracesIDES Editor
User interface events provide valuable information
about user behavior with respect to an application’s user
interface and therefore are considered as an important source
of data for usability evaluation. Since usability evaluation is
based on tasks that users perform, it is crucial to capture user
interface events with sufficient information for task
identification. However, how to make it possible is still an
open question. We describe an approach to investigate the use
of the aspect-oriented technique with assistance of localized
instrumentation to capture task-based event traces. We also
present a proof-of-concept tool to demonstrate its effectiveness
and discuss its limitations.
Monitoring and Visualisation Approach for Collaboration Production Line Envir...Waqas Tariq
In this paper, a tool, called SPMonitor, to monitor and visualize of run-time execution productive processes is proposed. SPMonitor enables dynamically visualizing and monitoring workflows running in a system. It displays versatile information about currently executed workflows providing better understanding about processes and the general functionality of the domain. Moreover, SPMonitor enhances cooperation between different stakeholders by offering extensive communication and problem solving features that allow actors concerned to react more efficiently to different anomalies that may occur during a workflow execution. The ideas discussed are validated through the study of real case related to airbus assembly lines.
INVESTIGATING & IMPROVING THE RELIABILITY AND REPEATABILITY OF KEYSTROKE DYNA...IJNSA Journal
One of the most challenging tasks facing the security expert remains the correct authentication of human being which has been crucial to the fabric of our society. The emphasis is now on reliable person identification for computerized devices as the latter forms an integral part of our daily activities. Moreover with increasing geographical mobility of individuals, the identification problem has become more acute. One alternative, to curb down the increasing number of computer related crimes, is through the use of keystroke biometric technology which represents an enhancement to password mechanisms by incorporating typing rhythms in it. Time captured being critical to the performance of the identifier, it is primordial that it satisfies certain requirements at a suitable degree of acceptability This paper presents an evaluation of timing options for keystroke dynamics paying attention to their repeatability and reliability as well as their portability on different systems. In actual passwords schemes users enroll using one computer and access resources using other configurations at different locations without bothering about the different underlying operating systems.
Dashboard of intelligent transportation system (ITS) using mobile agents stra...IJECEIAES
Extracting accurate information from huge Transportation Database need to build efficiency Intelligent Transportation Systems ITS-Dashboard that should allow making correct decisions. The quality of decision and the achievement of performance depend on the quality of the information supplied. This information must be reliable, complete, pertinent and more to care about external attacks. Distributed Mobile Agent consists of autonomy of entities with capacities of perception, cooperation and action on their own environment. One of Agent function is the security of Authentication process by activation of notification system on Mobile Device. The main purpose of this paper is to make it consisting of an Agent Based Framework. The strategy is to exploit Mobile Agent capabilities in a Strict Notification Process when user validates his authentication request.
Similar to SAFETY ENHANCEMENT THROUGH SITUATION-AWARE USER INTERFACES (20)
In the Fifties, Arnold Schönberg introduced a model for music composition that he called "Grundgestalt", the basic shape. In this seminar I show how I interpreted this concept as a generative music model that translates the orbits of dynamic systems into musical components. I also describe a family of experiments that led me to the creation of simple and not-so-simple musical compositions, which I call "my little Grundgestalten”. Excerpts from a selection of those compositions will be presented.
Models and Concepts for Socio-technical Complex Systems: Towards Fractal Soci...Vincenzo De Florio
We introduce fractal social organizations—a novel class of socio-technical complex systems characterized
by a distributed, bio-inspired, hierarchical architecture. Based on a same building block that is recursively
applied at different layers, said systems provide a homogeneous way to model collective behaviors of
different complexity and scale. Key concepts and principles are enunciated by means of a case study and a
simple formalism. As preliminary evidence of the adequacy of the assumptions underlying our systems here
we define and study an algebraic model for a simple class of social organizations. We show how despite its
generic formulation, geometric representations of said model exhibit the spontaneous emergence of complex
hierarchical and modular patterns characterized by structured addition of complexity and fractal nature—
which closely correspond to the distinctive architectural traits of our fractal social organizations. Some
reflections on the significance of these results and a view to the next steps of our research conclude this
contribution.
On the Role of Perception and Apperception in Ubiquitous and Pervasive Enviro...Vincenzo De Florio
Building on top of classic work on the perception of natural systems this paper addresses the role played by such quality in
environments where change is the rule rather than the exception. As in natural systems, perception in software systems takes two major forms: sensory perception and awareness (also known as apperception). For each of these forms we introduce semi-formal models that allow us to discuss and characterize perception and apperception failures in software systems evolving in environments subjected to rapid and sudden changes—such as those typical of ubiquitous and pervasive computing. Our models also provide us with two partial orders to compare such software systems with one another as well as with reference environments. When those
environments evolve or change, or when the software themselves evolve after their environments, the above partial orders may be used to compute new environmental fits and different strategic fits and gain insight on the degree of resilience achieved through the current adaptation steps.
Service-oriented Communities: A Novel Organizational Architecture for Smarter...Vincenzo De Florio
The seminar I shall present at Masaryk University in Brno on May 19, 2016. A video of this presentation is available at https://www.youtube.com/edit?video_id=Fu5kv0sFWG4
This course teaches engineering students how to program in C. I gave this course for several years in the framework of the "Advanced Technology Higher Education Network" / SOCRATES program.
A framework for trustworthiness assessment based on fidelity in cyber and phy...Vincenzo De Florio
We introduce a method for the assessment of trust for n-open systems based on a measurement of fidelity and present a prototypic implementation of a complaint architecture. We construct a MAPE loop which monitors the compliance between corresponding figures of interest in cyber- and physical domains; derive measures of the system’s trustworthiness; and use them to plan and execute actions aiming at guaranteeing system safety and resilience. We conclude with a view on our future work.
Presented at ANTIFRAGILE'15
Companion paper available at http://www.sciencedirect.com/science/article/pii/S1877050915008923
A behavioural model for the discussion of resilience, elasticity, and antifra...Vincenzo De Florio
Resilience is one of those "general systems attributes" that appear to play a central role in several disciplines - including ecology, business, psychology, industrial safety, microeconomics, computer networks, security, management science, cybernetics, control theory, crisis and disaster management. Resilience thus seems to be "needed" everywhere; and yet, even in the framework of a same discipline, it is not easy to define it precisely and consensually. To add to the confusion, other terms such as elasticity, change tolerance, and antifragility, although clearly related to resilience, cannot be easily differentiated.
In this talk I tackle this problem by introducing a behavioural model of resilience. I interpret resilience as the property emerging from the interaction of the behaviours produced by two "players": a system and a hosting environment. The outcome of said interaction depends on both intrinsic and extrinsic factors, including the systemic "traits" of the system but also how the system's endowment matches the requirements expressed by the behaviours of the environment. I show how the behavioural approach provides a unifying framework within which it is possible to express coherent definitions for elasticity, change tolerance, and antifragility.
A Behavioral Interpretation of Resilience and AntifragilityVincenzo De Florio
In this presentation I discuss resilience and antifragility as behaviors resulting from the coupling of a system and its environment(s). Depending on the interactions between these two "ends" and on the quality of the individual behaviors that they may exercise, different strategies may be chosen: elasticity (change masking); entelechism (change tolerance); and antifragility (adapting to & learning from change). When the environment is very simple and only capable of so-called "random behavior", often the only effective strategy towards resilience is off-line dimensioning of redundancy as a result of a worst-case assessment of disturbances and/or threats. Much more complex and variegated is the case when both systems and environments are "intelligent" -- or at least able to exercise complex teleological and extrapolatory behaviors. In this case both system and ambient may choose among a variety of strategies in what could be regarded as a complex evolutionary game theory setting.
Community Resilience: Challenges, Requirements, and Organizational ModelsVincenzo De Florio
An important challenge for human societies is that of mastering the complexity of Community Resilience, namely “the sustained ability of a community to utilize available resources to respond to, withstand, and recover from adverse situations”. The above concise definition puts the accent on an important requirement: a community’s ability to
make use in an intelligent way of the available resources, both institutional and spontaneous, in order to match the complex evolution of the “significant multi-hazard threats characterizing a crisis”. Failing to address such requirement exposes a community to extensive failures that are known to exacerbate the consequences of natural and human-induced crises. As a consequence, we experience today an urgent need to respond to the challenges of community resilience engineering. This problem, some reflections, and preliminary prototypical contributions constitute
the topics of this presentation.
A companion article is available at https://dl.dropboxusercontent.com/u/67040428/Articles/serene14.pdf
On the Behavioral Interpretation of System-Environment Fit and Auto-ResilienceVincenzo De Florio
Already 71 years ago Rosenblueth, Wiener, and Bigelow introduced the concept of the “behavioristic study of natural events” and proposed a classification of systems according to the quality of the behaviors they are able to exercise. In this presentation we consider the problem of the resilience of a system when deployed in a changing environment, which we tackle by considering the behaviors both the system organs and the environment mutually exercise. We then introduce a partial order and a metric space for those behaviors, and we use them to define a behavioral interpretation of the concept of system-environment fit. Moreover we suggest that behaviors based on the extrapolation of future environmental requirements would allow systems to proactively improve their own system-environment fit and optimally evolve their resilience. Finally we describe how we plan to express a complex optimization strategy in terms of the concepts introduced in this presentation.
The paper accompanying this presentation is available at https://dl.dropboxusercontent.com/u/67040428/Articles/DF14b_Wiener21stA.pdf
Antifragility = Elasticity + Resilience + Machine Learning. Models and Algori...Vincenzo De Florio
Presentation for the ANTIFRAGILE 2014 workshop, https://sites.google.com/site/resilience2antifragile/
Abstract: We introduce a model of the fidelity of open systems—fidelity being interpreted here as the compliance between corresponding
figures of interest in two separate but communicating domains. A special case of fidelity is given by real-timeliness and synchrony,
in which the figure of interest is the physical and the system’s notion of time. Our model covers two orthogonal aspects of fidelity,
the first one focusing on a system’s steady state and the second one capturing that system’s dynamic and behavioral characteristics.
We discuss how the two aspects correspond respectively to elasticity and resilience and we highlight each aspect’s qualities and
limitations. Finally we sketch the elements of a new model coupling both of the first model’s aspects and complementing them
with machine learning. Finally, a conjecture is put forward that the new model may represent a first step towards compositional
criteria for antifragile systems.
Service-oriented Communities and Fractal Social Organizations - Models and co...Vincenzo De Florio
Presentation given by Vincenzo De Florio at the Ceremony for the handing of the 2013 Faculty Awards.
Keywords: Fractal social organizations; service oriented communities; mutual assistance communities
TOWARDS PARSIMONIOUS RESOURCE ALLOCATION IN CONTEXT-AWARE N-VERSION PROGRAMMINGVincenzo De Florio
Adopting classic redundancy-based fault-tolerant schemes in
highly dynamic distributed computing systems does not
necessarily result in the anticipated improvement in
dependability. This primarily stems from statically predefined
redundancy configurations employed within many classic
dependability strategies, which as well known may negatively
impact the schemes' overall effectiveness. In this paper, a
novel dependability strategy is introduced encompassing
advanced redundancy management, aiming to autonomously
tune its internal configuration in function of disturbances
observed. Policies for parsimonious resource allocation are
presented thereafter, intent upon increasing the scheme's cost
effectiveness without breaching its availability objective. Our
experimentation suggests that the suggested solution can
achieve a substantial improvement in availability, compared
to traditional, static redundancy strategies, and that tuning the
adopted degree of redundancy to the actual observed
disturbances allows unnecessary resource expenditure to be
reduced, therefore enhancing cost-effectiveness.
A Formal Model and an Algorithm for Generating the Permutations of a MultisetVincenzo De Florio
This paper may be considered as a mathematical divertissement as well as a didactical tool for
undergraduate students in a universitary course on algorithms and computation. The well-known problem of
generating the permutations of a multiset of marks is considered. We define a formal model and an abstract
machine (an extended Turing machine). Then we write an algorithm to compute on that machine the successor
of a given permutation in the lexicographically ordered set of permutations of a multiset. Within the model we
analyze the algorithm, prove its correctness, and show that the algorithm solves the above problem. Then we
describe a slight modification of the algorithm and we analyze in which cases it may result in an improvement of
execution times.
This paper, the ideas in it, and its realization are the work of the first author only.
A FAULT-TOLERANCE LINGUISTIC STRUCTURE FOR DISTRIBUTED APPLICATIONSVincenzo De Florio
The structures for the expression of fault-tolerance provisions into the application
software are the central topic of this dissertation.
Structuring techniques provide means to control complexity, the latter being a relevant factor
for the introduction of design faults. This fact and the ever increasing complexity of today’s dis-
tributed software justify the need for simple, coherent, and effective structures for the expression
of fault-tolerance in the application software. A first contribution of this dissertation is the defi-
nition of a base of structural attributes with which application-level fault-tolerance structures can
be qualitatively assessed and compared with each other and with respect to the above mentioned
need. This result is then used to provide an elaborated survey of the state-of-the-art of software
fault-tolerance structures.
The key contribution of this work is a novel structuring technique for the expression of the
fault-tolerance design concerns in the application layer of those distributed software systems
that are characterised by soft real-time requirements and with a number of processing nodes
known at compile-time. The main thesis of this dissertation is that this new structuring tech-
nique is capable of exhibiting satisfactory values of the structural attributes in the domain of soft
real-time, distributed and parallel applications. Following this novel approach, beside the con-
ventional programming language addressing the functional design concerns, a special-purpose
linguistic structure (the so-called “recovery language”) is available to address error recovery and
reconfiguration. This recovery language comes into play as soon as an error is detected by an
underlying error detection layer, or when some erroneous condition is signalled by the applica-
tion processes. Error recovery and reconfiguration are specified as a set of guarded actions, i.e.,
actions that require a pre-condition to be fulfilled in order to be executed. Recovery actions deal
with coarse-grained entities of the application and pre-conditions query the current state of those
entities.
An important added value of this so-called “recovery language approach” is that the exe-
cutable code is structured so that the portion addressing fault-tolerance is distinct and separated
from the rest of the code. This allows for division of complexity into distinct blocks that can be
tackled independently of each other.
Truly dependable software systems should be built with structuring techniques able to decompose the software complexity without
hiding important hypotheses and assumptions such as those regarding
their target execution environment and the expected fault- and system
models. A judicious assessment of what can be made transparent and
what should be translucent is necessary. This paper discusses a practical
example of a structuring technique built with these principles in mind:
Reflective and refractive variables. We show that our technique offers
an acceptable degree of separation of the design concerns, with limited
code intrusion; at the same time, by construction, it separates but does
not hide the complexity required for managing fault-tolerance. In particular, our technique offers access to collected system-wide information
and the knowledge extracted from that information. This can be used
to devise architectures that minimize the hazard of a mismatch between
dependable software and the target execution environments.
ARRL: A Criterion for Composable Safety and Systems EngineeringVincenzo De Florio
While safety engineering standards define rigorous and controllable
processes for system development, safety standards’ differences in distinct
domains are non-negligible. This paper focuses in particular on the aviation,
automotive, and railway standards, all related to the transportation market.
Many are the reasons for the said differences, ranging from historical reasons,
heuristic and established practices, and legal frameworks, but also from the
psychological perception of the safety risks. In particular we argue that the
Safety Integrity Levels are not sufficient to be used as a top level requirement
for developing a safety-critical system. We argue that Quality of Service is a
more generic criterion that takes the trustworthiness as perceived by users better
into account. In addition, safety engineering standards provide very little
guidance on how to compose safe systems from components, while this is the
established engineering practice. In this paper we develop a novel concept
called Assured Reliability and Resilience Level as a criterion that takes the
industrial practice into account and show how it complements the Safety
Integrity Level concept.
Implementing a Role Based Mutual Assistance Community with Semantic Service D...Vincenzo De Florio
The population of elderly people is increasing rapidly, which
becomes a predominant aspect of our society. For several reasons
so significant a share of the human society is simply regarded as
“retired” – a word condemning the elderly to a reduced
participation in all active life, regardless of their actual
conditions and abilities. In previous work, we discussed how
community resources can be organized in a better way. In
particular we introduced a so-called mutual assistance
community – a digital ecosystem that removes any predefined
and artificial distinction between care-givers and care-takers and
provides a service-oriented infrastructure for intelligent matching
of the supply and demand of services. According to this new
paradigm all people are potentially active participants to
activities defined by the people’s current needs, abilities,
locations, and availabilities. Moving from this conceptual view to
practical implementation calls for an architecture able to match
adequately demand and supply of services. This paper presents
an implementation of such an architecture based on semantic
service description and matching. In comparison with our
previous implementation, main added values include a greater
flexibility in service representation and service matching and
considerable improvements in performance.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
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.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
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
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
SAFETY ENHANCEMENT THROUGH SITUATION-AWARE USER INTERFACES
1. SAFETY ENHANCEMENT THROUGH
SITUATION-AWARE USER INTERFACES
V. De Florio, C. Blondia
PATS research group, Universiteit Antwerpen & IBBT
Middelheimlaan 1, 2020 Antwerp, Belgium
vincenzo.deflorio@ua.ac.be
Keywords: Adaptive user interfaces, safety, human errors,
situation awareness, human-computer interaction.
Abstract
Due to their privileged position halfway the physical and the
cyber universe, user interfaces may play an important role in
learning, preventing, and tolerating scenarios affecting the
safety of the mission and the user's quality of experience. This
vision is embodied here in the main ideas and a proof-ofconcepts
implementation of user interfaces combining
dynamic profiling with context- and situation-awareness and
autonomic software adaptation.
1 Introduction
The user interface (UI) may be considered as the contact point
between two "universes"—the physical universe of the user
(let us refer to this universe as U) and the cyber universe
where required computer services are executed (C). The UI is
also the logical “place” where actions are selected and passed
for execution in C. As well known U and C are very different
from each other—in particular they have quite different
notions of time, behaviours, actions, and quality of service.
Despite so huge a difference, the consequences of the actions
in C often reverberate in U—to the point that when the
computer
service
is
safety-critical
failures
or
misinterpretations in C may induce catastrophic events in U
possibly involving the loss of goods, capital, and even lives.
As a matter of facts, the human factor is known as one of the
major causes for system failures [2,15], and the UI is often
the indirect player behind most interaction faults at the root of
computer failures.
Due to its central role in the emergence of the user's quality of
experience (QoE), the UI has been the subject of extensive
research. As a result, current interfaces are adaptive,
anticipative, personalized, and to some degree “intelligent”
[3].
We believe that much more can be done beyond this already
noteworthy progress. Thanks to its privileged position
halfway between the user and the computer, we argue that the
UI is well suited for hosting several non-functional tasks,
including:
Gathering contextual information from both sides of
the activity spectrum.
Deriving situational information about the current
interaction processes.
Producing logs of the knowledge accrued and
situations unveiled.
Executing corrective actions in U and C so as to
mitigate the extent of the consequences of safety or
security violations.
●
In this paper we propose an approach based on the above
argument. This approach instruments a UI so as to produce a
stream of atomic UI operations and their C-time of
occurrence—such as the user typing a key at clock tick t 1 or
selecting a widget at clock tick t2. This stream is transcoded
into a suitable form (we call it an “interaction code”, or iCode
for short) that can be logged for post-mortem analysis and/or
used for run-time analysis, e.g. dynamically building or
refining a model of U. Well-known techniques such as
stereotypes, rules, hidden Markov models, or Bayesian
intelligence [3] may then be used e.g. to characterize the
expected, “normal” behaviour of a group of authorized “super
users” of a safety critical system. When such behaviours
would be represented in an adequate form, the UI could then
be instructed to function as a sort of custom biometric sensor
and recognize whether the current usability patterns
correspond to one of these users. For instance, when a
stereotype would change dynamically from that of a known
user to a different one, this may signal the occurrence of
several new situations, including:
1.
2.
3.
The user is no more in command (e.g. due to stress,
fatigue, drugs, or other external situations).
The user has changed (e.g. because a new person
took control after the authorized person logged in, or
because of a cyber attack).
The likely occurrence of a performance failures, i.e.
a violation of an agreed-upon scheduling of events
involving both C and U.
Correspondingly, UI may tolerate situations such as 1 and 2
by raising local/global alerts and/or shutting down critical
functionality in the UI. The corresponding loss in availability
or functionality would be the price to pay for the
enhancement in safety. Detecting a loss of responsiveness
2. jeopardising the real-time specifications of the service could
be avoided by defining safe default actions to be taken
autonomically when the probability of performance failures
arise.
In what follows we introduce the solutions we adopted to
implement the above five steps.
In this paper we present a prototypic demonstrator meant as a
proof of feasibility for UI-based biometric sensors. Our
system, embedded in a very simple Tcl/Tk [14] UI, is
currently based on naïve rules able to detect a few QoE
failures. When such simple context changes are detected, we
show how our UI can take simple forms of autonomic
adaptation during the system run-time. These adaptations may
be used e.g. to adjust dynamically the privileges of the current
user or request a new verification of the user's identity, which
paves the way to full-fledged safety enforcement protocols.
This paper is structured as follows: in Sect. 2 we present the
main assumptions and the basic elements of our approach.
Section 3 deals with context collection and analysis – the
foundation layer of our approach. Context and situation
analysis and planning are the focus of Sect. 4. Section 5
briefly describes how adaptations are enacted. Our
conclusions are finally summarized in Sect. 6.
2 Assumptions and Approach
Our approach is based on the classic steps of autonomic
computing [9], specialised and adapted as follows:
1.
2.
3.
4.
5.
Collection of the user-context, viz. all those U
actions that result from expected and unexpected
human-computer interaction, as well as their times of
occurrence. Context collection may be interpreted as
the perception layer of our approach [5].
Context analysis, that is analysis of the collected
actions and times meant to derive simple knowledge
about the behaviour and the state of the current user,
and in particular some indication of the current QoE.
Situation analysis and identification, that we
interpret here simply1 as the analysis of multiple
instances of the context knowledge derived in step 2
so as to detect the onset of complex high-level
situations [18] requiring proper corrective responses.
The term apperception is used in [5] to refer to both
context and situation analysis.
Planning of corrective responses to the onset of
situation or the detection of QoE losses. In practice,
this step requires the definition of software
evolutions matching the current situations and meant
to optimize QoE and tolerate conditions threatening
the mission design goals and the validity of the
system assumptions [6]. Evolution engine is the term
used in [4] to refer to a system's ability to plan
corrective responses.
Execution of the selected software evolutions.
1 For a more general discussion of situation identification
we refer the reader to [18].
Figure 1. Sequence diagram of Collection and Analysis steps.
3 Context Collection and Analysis
The Context collection and analysis steps in our strategy are
described via Fig. 1. Four main actors are portrayed therein:
the user in U produces events by interacting with a Tcl/Tk
graphical UI. In addition to its normal processing our UI
executes an extra task transparently of the user: for each
action being executed or activity being sensed, the UI
requests an Interaction Logger to produce a string describing
that action / activity and a time-stamp reporting the amount of
milliseconds elapsed since a given epoch. We refer to such
strings as to “the iCode”. The iCode may be considered as a
concise representation of UI events reflecting some of the
use-time events. The choice of which events to reflect is an
important design choice depending on technological, design,
mission, and cost constraints and influencing the quality of
the ensuing inferences, which are carried out by a component
called Interaction Analyzer (IA). Aim of the IA is parsing the
iCode—possibly producing a context knowledge base—and
analysing the interaction e.g. looking for misbehaviours or
other signs of non-optimal QoE. This analysis could for
instance infer that the user e.g. is is experiencing difficulties
in operating the system. Reactions to this could range from
distress signals to fail-safe enforcement, or just be used by the
UI itself to adjust autonomically its look-and-feel and
features.
Figure 2. Summary of the interactions carried out through a
simple Tcl/Tk UI.
3. A practical example of our Collection & Context Analysis
strategy is shown in Fig. 2. The picture shows on the left hand
side a snapshot from the interactions between a user and a
Tcl/Tk UI. The right hand side picture is a summary of all
interactions from the moment the UI is invoked until the user
presses the “Finished” button. As can be seen, the ordinates
represent a set of UI actions while the abscissas state the
times of occurrence of those actions. In this particular
example, the user first sets his age, then enters data, then
clicks the “Push Me” button; after this, he edits data, sets age
again, then clicks “Push Me”; and so forth. Timing is also
quite as it could be expected by an average user, with sudden
editing actions followed by periods of inactivity.
Analyses are carried out by functions that are called, one by
one, at the end of the parsing phase. As mentioned already,
various strategies may be employed, though the illustrative
ones we used here are based on the inspection of two stacks
of integer variables, called actstack and timestack and first
shown in Fig. 4. These stacks are filled in during the lexical
analysis in order to serialize iCode actions and their
corresponding times of occurrence. By inspecting these stacks
it is possible to detect several cases of discomfort or misuse.
In what follows we describe three examples by means of
excerpts from their source code (Fig. 5).
The first function in Fig. 5 checks whether the “Push Me”
button had been pressed before any input entry had occurred.
The second function checks whether multiple consecutive
occurrences of the same action (“Push Me”) are present in the
stack. The third one measures the time gradient while typing
in the input field. A typing rate of more than three characters
per second is assumed to be senseless and associated with
some source of distress. More complex analyses are likely to
require more sophisticated temporal-related techniques—
again, a matter in itself worth of research attention.
Figure 3. Excerpts from the source code and iCode of the UI
shown in Fig. 2.
Figure 3 shows excerpts from the UI code and the iCode
corresponding to the interactions of Fig. 2.
As anticipated in Fig. 1, a lexical analyser parses the iCode
and executes one or more analyses (see Fig. 4). The nature
and the extent of those analyses constitute a research topic in
itself and are likely to link together as different a discipline as
artificial intelligence, Bayesian intelligence, situation
calculus, and temporal logic—to name just a few [3]. The
ensuing results would then be reflected in several “biometric
sensors” as described e.g. in [7,8]. Our preliminary results are
based on two illustrative analyses shown in next section.
Figure 5. Discomfort detection: Three examples.
Figure 6 and Fig. 7 provide a summary of the interactions
during two runs of our Tcl/Tk interface, including three
discomfort detections.
Figure 4. Excerpts from the iCode parser.
As mentioned before, discomfort detections may trigger
corrective measures—for instance, a reshaping of the UI or a
4. request to reassert the user's identity. Such corrective
measures should take other context properties into account,
which could be represented as context models: sets of
assumptions characterizing the context the UI is meant to be
deployed in [6]. Context models could be as simple as a
device model and consist of e.g. a screen's dimensions, or
they could include complex assertions about the target user—
e.g. whether the user is impaired or not, or whether he or she
is accustomed to computer technology or otherwise. The
design of domain-specific context models should be
conducted with domain experts—e.g., in the case of target
user context models, by psychologists or sociologists able to
capture and express the essence of what the target user would
consider as positive QoE [3,16].
Figure 6. Summary of interactions, with two discomfort
detections.
4 Analyses and Planning
When the UI mission is confined to optimizing the current
user's QoE, Context analysis may be sufficient to direct the
ensuing Planning step. An example of this is described in Fig.
8, in which a simple UI adaptation is carried out to adjust
optimally the size of a widget. In this case we made use of a
simple technological context model—a screen size model: the
screen size is assumed to be that of a hand-held device with a
resolution of 260×H units and H>260 units. The case is
described in Fig. 8 and results in a progressive adjustment of
a Scale widget [14]. Once the widget becomes too large to fit
in horizontal mode, the UI is automatically adapted and the
widget is set in vertical mode.
In some other cases Situation analysis and identification
(SAI) as a higher level form of analysis may prove to be
indispensable in order to take higher level decisions—such as
those pertaining to system safety and security. In fact SAI
allows C or UI events and states to be put in relation with
complex U situations. A thorough discussion on this situation
identification and related techniques may be found in [18]. A
very simple example of this is the use of rules stating the
onset of U situations after the occurrence of several UI events
—for instance, situation s1 = “User is likely to have changed”
may be declared after a given number of consecutive
erroneous or senseless sequences of UI operations. Another
example would be situation s2 = “User is likely to have been
taken over by a computer”. Once situations such as s1 or s2
are declared, the Planning and Execution steps enforce some
form of corrective adaptation of the UI meant to guarantee the
integrity of the mission. An example of this is shown in Fig.
9. In this case the onset of situation s1 triggers a temporary
disabling of functionality of the UI until the user has reentered his or her credentials. Other forms of protection may
involve raising alarms when suspicion periods are started and
producing “black-box”-like logs of activities for off-line
analysis of the performance of the operators. Protection
against situations such as s2 may involve different strategies
e.g. a request to solve a CAPTCHA [1].
5 The Execution Step
Figure 7. Summary of interactions, with a third type of
discomfort detection. In this case during a burst of input
actions the user typed in an average of 4.7 characters per
second. As this is well above our threshold (3 chars/sec), a
case of suspected discomfort is declared.
When embedded in a UI, execution requires an evolution of
the structure and functions of the user interface. In our
prototypic implementation this is carried out by embedding
the analysis in the UI itself (cf. Fig. 10), which of course
means intertwining functional and adaptation concerns.
Another approach was carried out in [17], in which a Java UI
is serialized, evolved, and then reloaded to execute the
planned adaptations. This allowed a straightforward
implementation of what we refer to as widget paging—a
technique that manages the widgets in a UI similarly to
memory pages in virtual memory. In so doing the screen
space is allocated to widgets in a way that reflects the
frequency of usage of widgets, with the least frequently used
widgets removed from the screen. Figure 11 shows an
experiment with a winner-takes-all strategy—the most
frequently used widget taking all the screen space.
5. usually is the inert witness of behaviours and situations that,
when correctly understood, could trigger actions to mitigate
the extent and severity of those failures—if not tolerate them.
By making user interfaces aware of those dynamic situations
and context changes we argued that it may be possible to
enhance at the same time system safety, usability, and quality
of experience. In this paper we have introduced the main
concepts and a prototypic implementation of user interfaces
compliant to this vision and coupling dynamic profiling [3],
situation awareness [18], and autonomic computing [9].
Figure 8. Adaptation actions triggered by rapid bursts of
“scale” actions. The UI is deployed in a screen with a
width of 260 units (on a conventional PC screen, about
6cm). Height is assumed to be greater than 260 units. The
Scale widget is initially set to a width of 200 units. In a)
no adaptation is carried out. In b) and c) as a result of two
bursts of “scale” actions the size of the widget reaches 240
units. A further burst in d) triggers a change in orientation
of the widget, which now is set to a height of 260 units.
Extensively used in software adaptation, aspect orientation
[13] is a well-known technique that can be used to achieve
effectively separation of design concerns in the Execution
step of our approach. Aspects allow adaptation logics to be
modularized as individually deployable units that can be
directly weaved in the application business logics either offline or during the run-time [12], which makes aspect
orientation an ideal tool to realize systems such as the one
reported in this paper. One major drawback is that it calls for
specific linguistic support, which is not available e.g. for
Tcl/Tk. An interesting alternative is given by Transformer, a
Java / OSGi framework for adaptation behaviour composition
that dynamically selects and merges reusable and adaptation
modules in function of the current context [10,11,12]. Finally,
the Execution step may be realized as callbacks on so-called
reflective and refractive variables [7,8].
6 Conclusions
Human errors are at the core of many a catastrophic failure.
Such errors often take place behind a user interface, which
Figure 9. “Too many” QoE failures (in this case, 6 or more)
trigger a request for confirming the identity of the user.
Figure 10. Trivial way to enact the Execution step: procedure
react is called each time a context change is detected.
Despite the simplistic design of our proof of concepts, our
system already allows several behaviours to be tracked
turning a user interface into a simple and cheap usability and
biometric sensor. When coupled with a framework such as
Transformer [10,11,12] our system may also allow the
computer system to be reshaped after the dynamic model of
6. the current user, preventing unnecessary or unsafe
functionality to be “unloaded” from both the system and the
user interface. This may also be used to produce “big data”
about the usability of computer services and tell enterprises
what features are the most desired or the most despised in
their products. Yet another by-product could be the realisation
of design-for-all interfaces based on a WYSIWYE (“what you
see is what you expect”) principle.
References
[1] W. Al-Sudani, A. Gill, C. Li, J. Wang, F. Liu.
“Protection through Intelligent and Multimedia
Captchas”, Int.l Journal of Adaptive, Resilient and
Autonomic Systems, 3 (2), pp. 44–58, (April–June 2012).
[2] A. B. Brown, D. A. Patterson. “To Err is Human”,
Proceedings of the 1st Workshop on Evaluating and
Architecting System dependabilitY (EASY ’01), (2001).
[3] M. Chevalier, C. Julien, C. Soulé. “User models for
adaptive information retrieval on the web: Towards an
interoperable and semantic model”, International
Journal of Adaptive, Resilient and Autonomic Systems, 3
(3), pp. 1–19, (July–September 2012).
[4] V. De Florio. “Robust-and-evolvable Resilient Software
Systems: Open Problems and Lessons Learned”,
Proceedings of the 8th workshop on Assurances for
Self-Adaptive Systems (ASAS 2011), Szeged, Hungary,
(2011).
[5] V. De Florio. “On the role of perception and
apperception
in
ubiquitous
and
pervasive
environments”, Proc. of the 3rd Workshop on Service
Discovery and Composition in Ubiquitous and Pervasive
Environments (SUPE'12), Ontario, Canada, (2012).
[6] V. De Florio. “Software Assumptions Failure Tolerance:
Role, Strategies, and Visions”, in Architecting
Dependable Systems, 7, Lecture Notes in Computer
Science, Springer, (2010).
[7] V. De Florio, C. Blondia. “Reflective and Refractive
Variables: A Model for Effective and Maintainable
Adaptive-and-Dependable Software”, Proc. of the 33rd
Conference on Software Engineering and Advanced
Applications (SEAA 2007), Lübeck, Germany, (2007).
[8] V. De Florio, C. Blondia. “System Structure for
Dependable Software Systems”, Proc. of the 11th
International Conference on Computational Science and
Its Applications (ICCSA 2011), LNCS, 6784, Springer,
pp. 594–607, (2011).
[9] J. O. Kephart, D. M. Chess. “The vision of autonomic
computing”, Computer, 36, pp. 41–50, (2003).
[10] N. Gui et al. “ACCADA: A Framework for Continuous
Context-Aware Deployment and Adaptation”, Proc. of
the 11th International Symposium on Stabilization,
Safety, and Security of Distributed Systems, (SSS
2009), Lyon, France, LNCS, 5873, Springer, pp. 325–
340, (2009).
[11] N. Gui et al. “Toward architecture-based context-aware
deployment and adaptation”, Journal of Systems and
Software, 84 (2), pp. 185–197, (2011).
[12] N. Gui, V. De Florio. “Transformer: an adaptation
framework with contextual adaptation behavior
composition support”, Software: Practice & Experience,
Wiley, (to appear), (2012).
[13] G. Kiczales, J. Lamping, A. Mendehekar, C. Maeda, C.
Videira Lopez, J.-M. Loingtier, J. Irwin. “Aspectoriented Programming”, Proc. of the European Conf. on
Object-Oriented Programming (ECOOP), Lecture Notes
in Computer Science, 1241, Springer, (1997).
[14] J. K. Ousterhout, K. Jones. “Tcl and the Tk Toolkit”, 2nd
edn., Addison-Wesley, Reading, MA, (2009).
[15] D. Patterson, A. Brown, P. Broadwell, G. Candea et al.
“Recovery oriented computing (ROC): Motivation,
definition, techniques, and case studies”, Technical
Report, UCB/CSD-02-1175, EECS Department,
University of California, Berkeley, (2002).
[16] B. Shapira, P. Shoval, U. Hanani. “Stereotypes in
information filtering systems”, Information Processing
& Management, 33 (3), pp. 273–278, (1997).
[17] H. Toll Vallejo. “Adaptive User Interfaces”, M.Sc.
Thesis, University of Antwerp, (June 2011).
[18] J. Ye, S. Dobson, S. McKeever. “Situation identification
techniques in pervasive computing: A review”,
Pervasive and Mobile Computing, 8 (1), pp. 36–66,
(2012).
Figure 11. Widget paging with a single widget: the screen is temporarily allocated to the single widget the user focuses
his or her attention to. At any time the user can restore the original structure by clicking a button.