85 research outputs found
Quality Goal Oriented Architectural Design and Traceability for Evolvable Software Systems
Softwaresysteme werden heute z.B. aufgrund sich ändernder Geschäftsprozesse
oder Technologien mit häufigen Veränderungen konfrontiert. Die Software und
speziell ihre Architektur muss diese Ă„nderungen zur dauerhaften Nutzbarkeit
ermöglichen.Während der Software-Evolution können Änderungen zu einer
Verschlechterung der Architektur fĂĽhren, der Architekturerosion. Dies
erschwert oder verhindert weitere Ă„nderungen wegen Inkonsistenz oder
fehlendem Programmverstehen. Zur Erosionsvermeidung müssen Qualitätsziele
wie Weiterentwickelbarkeit, Performanz oder Usability sowie die
Nachvollziehbarkeit von Architekturentwurfsentscheidungen berĂĽcksichtigt
werden. Dies wird jedoch oft vernachlässigt.Existierende Entwurfsmethoden
unterstützen den Übergang von Qualitätzielen zu geeigneten
Architekturlösungen nur unzureichend aufgrund einer Lücke zwischen Methoden
des Requirements Engineering und des Architekturentwurfs. Insbesondere gilt
dies fĂĽr Weiterentwickelbarkeit und die Nachvollziehbarkeit von
Entwurfsentscheidungen durch explizite Modellabhängigkeiten.Diese Arbeit
präsentiert ein neues Konzept, genannt Goal Solution Scheme, das
Qualitätsziele über Architekturprinzipien auf Lösungsinstrumente durch
explizite Abhängigkeiten abbildet. Es hilft somit, Architekturlösungen
entsprechend ihrem Einfluss auf Qualitätsziele auszuwählen. Das Schema wird
speziell hinsichtlich Weiterentwickelbarkeit diskutiert und ist in ein
zielorientiertes Vorgehen eingebettet, das etablierte Methoden und Konzepte
des Requirements Engineering und Architekturentwurfs verbessert und
integriert. Dies wird ergänzt durch ein Traceability-Konzept, welches einen
regelbasierten Ansatz mit Techniken des Information Retrieval verbindet.
Dies ermöglicht eine (halb-) automatische Erstellung von Traceability Links
mit spezifischen Linktypen und Attributen fĂĽr eine reichhaltige Semantik
sowie mit hoher Genauigkeit und Trefferquote.Die Realisierbarkeit des
Ansatzes wird an einer Fallstudie einer Software fĂĽr mobile Serviceroboter
gezeigt. Das Werkzeug EMFTrace wurde als eine erweiterbare Plattform
basierend auf Eclipse-Technologie implementiert, um die Anwendbarkeit der
Konzepte zu zeigen. Es integriert Entwurfsmodelle von externen CASE-Tools
mittels XML-Technologie in einem gemeinsamen Modell-Repository, wendet
Regeln zur Linkerstellung an und bietet Validierungsfunktionen fĂĽr Regeln
und Links.Today software systems are frequently faced with demands for changes, for
example, due to changing business processes or technologies. The software
and especially its architecture has to cope with those frequent changes to
permanently remain usable.During software evolution changes can lead to a
deterioration of the structure of software architectures called
architectural erosion, which hampers or even inhibits further changes
because of inconsistencies or lacking program comprehension. To support
changes and avoid erosion, especially quality goals, such as evolvability,
performance, or usability, and the traceability of design decisions have to
be considered during architectural design. This however often is
neglected.Existing design methods do not sufficiently support the
transition from the quality goals to appropriate architectural solutions
because there is still a gap between requirements engineering and
architectural design methods. Particularly support is lacking for the goal
evolvability and for the traceability of design decisions by explicit model
dependencies.This thesis presents a new concept called Goal Solution
Scheme, which provides a mapping from goals via architectural principles to
solution instruments by explicit dependencies. Thus it helps to select
appropriate architectural solutions according to their influence on quality
goals. The scheme is discussed especially regarding evolvability, and it is
embedded in a goal-oriented architectural design method, which enhances and
integrates established methods and concepts from requirements engineering
as well as architectural design. This is supplemented by a traceability
concept, which combines a rule-based approach with information retrieval
techniques for a (semi-) automated establishment of links with specific
link types and attributes for rich semantics and a high precision and
recall.The feasibility of the design approach has been evaluated in a case
study of a software platform for mobile robots. A prototype tool suite
called EMFTrace was implemented as an extensible platform based on Eclipse
technology to show the practicability of the thesis' concept. It integrates
design models from external CASE tools in a joint model repository by means
of XML technology, applies rules for link establishment, and provides
validation capabilities for rules and links
Managing conflicts among non-functional requirements
Abstractâ Non-functional requirements (NFRs) tend to interfere, conflict, and contradict with one other. Unlike functional requirements, this inevitable conflict arises as a result of inherent contradiction among various types of NFRs. A number of techniques to deal with this conflict have been developed. Majority of them focus on categorizing, documenting, or listing the potential conflicts among NFRs. Several models that represent the positive or negative relationships among NFRs have also been published in literature. However, the interpretation of NFRs may vary depending on numerous factors, such as the context of the system being developed and stakeholder involvement. Consequently, the relationships among them are not always obvious. This paper investigates the gaps in the existing research literature about the conflicts among NFRs and proposes a framework to manage this type of conflict
MATrA: meta-modelling approach to traceability for avionics
PhD ThesisTraceability is the common term for mechanisms to record and navigate relationships between artifacts
produced by development and assessment processes. Effective management of these relationships is
critical to the success of projects involving the development of complex aerospace products.
Practitioners use a range of notations to model aerospace products (often as part of a defined technique
or methodology). Those appropriate to electrical and electronic systems (avionics) include Use Cases
for requirements, Ada for development and Fault Trees for assessment (others such as PERT networks
support product management). Most notations used within the industry have tool support, although a
lack of well-defined approaches to integration leads to inconsistencies and limits traceability between
their respective data sets (internal models).
Conceptually, the artifacts produced using such notations populate four traceability dimensions. Of
these, three record links between project artifacts (describing the same product), while the fourth relates
artifacts across different projects (and hence products), and across product families within the same
project.
The scope of this thesis is to define a meta-framework that characterises traceability dimensions for
aerospace projects, and then to propose a concrete framework capturing the syntax and semantics of
notations used in developing avionics for such projects which enables traceability across the four
dimensions. The concrete framework is achieved by exporting information from the internal models of
tools supporting these notations to an integrated environment consisting of. i) a Workspace comprising
a set of structures or meta-models (models describing models) expressed in a common modelling
language representing selected notations (including appropriate extensions reflecting the application
domain); ii) well-formedness constraints over these structures capturing properties of the notations (and
again, reflecting the domain); and iii) associations between the structures. To maintain consistency and
identify conflicts, elements of the structures are verified against a system model that defines common
building blocks underlying the various notations.
The approach is evaluated by (partial) tool implementation of the structures which are populated using
case study material derived from actual commercial specifications and industry standards
Dynamic Workflow-Engine
We present and assess the novel thesis that a language commonly accepted for requirement elicitation is worth using for configuration of business process automation systems. We suggest that Cockburn's well accepted requirements elicitation language - the written use case language, with a few extensions, ought to be used as a workflow modelling language. We evaluate our thesis by studying in detail an industrial implementation of a workflow engine whose workflow modelling language is our extended written use case language; by surveying the variety of business processes that can be expressed by our extended written use case language; and by empirically assessing the readability of our extended written use case language. Our contribution is sixfold: (i) an architecture with which a workflow engine whose workflow modelling language is an extended written use case language can be built, configured, used and monitored; (ii) a detailed study of an industrial implementation of use case oriented workflow engine; (iii) assessment of the expressive power of the extended written use case language which is based on a known pattern catalogue; (iv) another assessments of the expressive power of the extended written use case language which is based on an equivalence to a formal model that is known to be expressive; (v) an empirical evaluation in industrial context of the readability of our extended written use case language in comparison to the readability of the incumbent graphical languages; and (vi) reflections upon the state of the art, methodologies, our results, and opportunities for further research. Our conclusions are that a workflow engine whose workflow modelling language is an extended written use case language can be built, configured, used and monitored; that in an environment that calls upon an extended written use case language as a workflow modelling language, the transition between the modelling and verification state, enactment state, and monitoring state is dynamic; that a use case oriented workflow engine was implemented in industrial settings and that the approach was well accepted by management, workflow configuration officers and workflow participants alike; that the extended written use case language is quite expressive, as much as the incumbent graphical languages; and that in industrial context an extended written use case language is an efficient communication device amongst stakeholders
A Trust-by-Design Framework for the Internet of Things
The Internet of Things (IoT) is an environment where interconnected entities can interact and can be identifiable, usable, and controllable via the Internet. However, in order to interact among them, such IoT entities must trust each other. Trust is difficult to define because it concerns different aspects and is strongly dependent on the context. For this reason, a holistic approach allowing developers to consider and implement trust in the IoT is highly desirable. Nevertheless, trust is usually considered among different IoT entities only when they have to interact among them.
In fact, without considering it during the whole System Developmente Life Cycle (SDLC) there is the possibility that security issues will be raised. In fact, without a clear conception of the possible threats during the development of the IoT entity, the lack of planning can be insufficient in order to protect the IoT entity.
For this reason, we believe that it is fundamental to consider trust during the whole SDLC in order to carefully plan how an IoT entity will perform trust decisions and interact with the other IoT entities. To fulfill this goal, in this thesis work, we propose a trust-by-design framework for the IoT that is composed of a K-Model and several transversal activities. On the one hand, the K-Model covers the SDLC from the need phase to the utilization phase. On the other hand, the transversal activities will be implemented differently depending on the phases. A fundamental aspect that we implement in this framework is the relationship that trust has with other related domains such as security and privacy. Thus we will also consider such domains and their characteristics in order to develop a trusted IoT entity
Design Models for Service-based Software Application
Context: The use of a Service Oriented Architecture (SOA) offers a new and distinct approach to creating software based applications (SBAs) around the idea of integrating distributed autonomous computing resources. A widely available realisation of an SOA exists in the form of web services. However, to date no standard techniques have emerged for developing SBAs. There is also a lack of consistency in describing the concept itself, and the published literature offers little evidence derived from the experience of developing `real world examples.
Aims: The objective of the work described in this thesis was to conduct a series of studies to explore systematically the concept of what constitutes an SOA by using the published literature, to employ this to construct a proof of concept SOA design model based on a real world problem, and in doing so, to investigate how well existing
design notations are able to support this architectural style.
Method: The research described in this thesis has been conducted in an evolutionary manner by employing a range of empirical methods. A mapping study was performed to investigate how the concept of SOA is interpreted by the research community. Based upon this model of SOA, a participant-observer case study was employed to construct an SOA design model and a use case model for an energy engineering application to demonstrate use for a real world problem. Finally, expert knowledge was employed for evaluation of the case study through the use of walkthroughs.
Results: From the mapping study we created an integrated model of what constitutes an SOA for the use with the case study. The case study outcomes include a design for a renewable energy control system together with codified experience of constructing and recording the SOA design model. The experience of employing the walkthrough
method for evaluation, and the outcomes of the evaluation are also discussed.
Conclusion: From this research we conclude that the SOA research community needs to develop a clearer shared understanding and agreement on the model of what constitutes an SOA and the vocabulary used to describe the SOA concept. This will aid designers to communicate their mental models more effectively and will provide the
semantics needed for devising the new notations that this study implies are needed for SBA design. Further, some lessons about SBA design have been derived from the case study experiences
- …