Software vendors must consider confidentiality especially while creating software architectures because decisions made here are hard to change later. Our approach represents and analyzes data flows ...in software architectures. Systems specify data flows and confidentiality requirements specify limitations of data flows. Software architects use detected violations of these limitations to improve the system. We demonstrate how to integrate our approach into existing development processes.
The security of software-intensive systems is frequently attacked. High fines or loss in reputation are potential consequences of not maintaining confidentiality, which is an important security ...objective. Detecting confidentiality issues in early software designs enables cost-efficient fixes. A Data Flow Diagram (DFD) is a modeling notation, which focuses on essential, functional aspects of such early software designs. Existing confidentiality analyses on DFDs support either information flow control or access control, which are the most common confidentiality mechanisms. Combining both mechanisms can be beneficial but existing DFD analyses do not support this. This lack of expressiveness requires designers to switch modeling languages to consider both mechanisms, which can lead to inconsistencies. In this article, we present an extended DFD syntax that supports modeling both, information flow and access control, in the same language. This improves expressiveness compared to related work and avoids inconsistencies. We define the semantics of extended DFDs by clauses in first-order logic. A logic program made of these clauses enables the automated detection of confidentiality violations by querying it. We evaluate the expressiveness of the syntax in a case study. We attempt to model nine information flow cases and six access control cases. We successfully modeled fourteen out of these fifteen cases, which indicates good expressiveness. We evaluate the reusability of models when switching confidentiality mechanisms by comparing the cases that share the same system design, which are three pairs of cases. We successfully show improved reusability compared to the state of the art. We evaluated the accuracy of confidentiality analyses by executing them for the fourteen cases that we could model. We experienced good accuracy.
Generating adaptation rule-specific neural networks Bureš, Tomáš; Hnětynka, Petr; Kruliš, Martin ...
International journal on software tools for technology transfer,
12/2023, Volume:
25, Issue:
5-6
Journal Article
Peer reviewed
There have been a number of approaches to employ neural networks in self-adaptive systems; in many cases, generic neural networks and deep learning are utilized for this purpose. When this approach ...is to be applied to improve an adaptation process initially driven by logical adaptation rules, the problem is that (1) these rules represent a significant and tested body of domain knowledge, which may be lost if they are replaced by a neural network, and (2) the learning process is inherently demanding given the black-box nature and the number of weights in generic neural networks to be trained. In this paper, we introduce the rule-specific neural network method that makes it possible to transform the guard of an adaptation rule into a rule-specific neural network, the composition of which is driven by the structure of the logical predicates in the guard. Our experiments confirmed that the black box effect is eliminated, the number of weights is significantly reduced, and much faster learning is achieved whilst the accuracy is preserved. This text is an extended version of the paper presented at the ISOLA 2022 conference (Bureš et al. in Proceedings of ISOLA 2022, Rhodes, Greece, pp. 215–230,
2022
).
Versatile description languages such as the Unified Modeling Language (UML) are commonly used in software engineering across different application domains in theory and practice. They often use ...graphical notations and leverage visual memory for expressing complex relations. Those notations are hard to access for people with visual impairment and impede their smooth inclusion in an engineering team. Existing approaches provide textual notations but require manual synchronization between the notations. This paper presents requirements for an accessible and language-aware team work environment as well as our plan for the assistive implementation of Cooperate. An industrial software engineering team consisting of people with and without visual impairment will evaluate the implementation.
Zusammenfassung
Das gemeinsame Entwerfen von UML-Modellen durch Personen mit und ohne Seheinschränkung ist durch die aktuell vorhandenen Werkzeuge und Modellierungssprachen nur eingeschränkt möglich. ...Grund hierfür sind unter anderem Werkzeuge wie Eclipse, die nur bedingt barrierefrei bedienbar sind und Modellierungssprachen wie z. B. PlantUML, die die Anforderungen für eine barrierefreie Nutzung nur teilweise erfüllen. So können blinde Software-Entwickler zwar mit Eclipse und den existierenden UML-Plugins grafische Modelle erzeugen, diese jedoch nicht mit einem Screenreader lesen. Im Rahmen des Cooperate-Projektes wurde ein Kooperationswerkzeug entwickelt, das je nach Arbeitsweise eine textuelle oder grafische Modellierung erlaubt. Änderungen werden synchron gehalten. Für die textuelle Modellierung von UML-Diagrammen wurde mit UML4ALL eine textuelle Syntax entworfen, die ohne die Nachahmung von visuellen Elementen durch ASCII-Zeichen auskommt und der Arbeitsweise von Menschen mit Blindheit beispielsweise durch die Verwendung einer Präfixnotation entgegenkommt. Diese neue Sprache hilft nicht nur Menschen mit Seheinschränkung, sondern allen, die Modelle textuell entwerfen möchten. Das beschriebene Vorgehen lässt sich auch auf andere grafische Notationen übertragen. Um den Einstieg in die UML, in UML4ALL, in PlantUML und in die Entwicklungsumgebung Eclipse zu erleichtern, wurden Schulungsmaterialien erstellt, die mithilfe von taktilen Grafiken, textuellen Beschreibungen und Einführungstexten die unterschiedlichen Themen näher erläutern. Alle bisher entwickelten Inhalte inklusive einer ersten Version des Kooperationswerkzeugs wurden von Personen mit Seheinschränkung getestet und zur Verbesserung der Materialien verwendet.
Das gemeinsame Entwerfen von UML-Modellen durch Personen mit und ohne Seheinschränkung ist durch die aktuell vorhandenen Werkzeuge und Modellierungssprachen nur eingeschränkt möglich. Grund hierfür ...sind unter anderem Werkzeuge wie Eclipse, die nur bedingt barrierefrei bedienbar sind und Modellierungssprachen wie z. B. PlantUML, die die Anforderungen für eine barrierefreie Nutzung nur teilweise erfüllen. So können blinde Software-Entwickler zwar mit Eclipse und den existierenden UML-Plugins grafische Modelle erzeugen, diese jedoch nicht mit einem Screenreader lesen. Im Rahmen des Cooperate-Projektes wurde ein Kooperationswerkzeug entwickelt, das je nach Arbeitsweise eine textuelle oder grafische Modellierung erlaubt. Änderungen werden synchron gehalten. Für die textuelle Modellierung von UML-Diagrammen wurde mit UML4ALL eine textuelle Syntax entworfen, die ohne die Nachahmung von visuellen Elementen durch ASCII-Zeichen auskommt und der Arbeitsweise von Menschen mit Blindheit beispielsweise durch die Verwendung einer Präfixnotation entgegenkommt. Diese neue Sprache hilft nicht nur Menschen mit Seheinschränkung, sondern allen, die Modelle textuell entwerfen möchten. Das beschriebene Vorgehen lässt sich auch auf andere grafische Notationen übertragen. Um den Einstieg in die UML, in UML4ALL, in PlantUML und in die Entwicklungsumgebung Eclipse zu erleichtern, wurden Schulungsmaterialien erstellt, die mithilfe von taktilen Grafiken, textuellen Beschreibungen und Einführungstexten die unterschiedlichen Themen näher erläutern. Alle bisher entwickelten Inhalte inklusive einer ersten Version des Kooperationswerkzeugs wurden von Personen mit Seheinschränkung getestet und zur Verbesserung der Materialien verwendet.