4 research outputs found

    Software Patterns and Architecture Under Examination Hammer: An Approach to the Consolidation of Interdisciplinary Knowledge

    Get PDF
    Software engineering is normally perceived, and even defined, based upon applicability of scientific and technical knowledge, in order to provide solutions to different challenges. The bright side of engineering concepts in general, is the continuous process of acquiring knowledge and skills needed to develop and make adjustments to various systems, in respect to helping humankind. An important phase of this process is ”Architecting”, which is the big picture of any intended systems. While good architecture leads to successful systems, bad architecture can result in misfortune. In this thesis, my proposition is to investigate, in depth, both theoretical (academic) and industry domains, regarding the way in which they treat Software Pattern (SP), Software Architecture (SA), and Software Architecture Evaluation (SAE) techniques. I argue that the process of creating, evaluating, and documenting SPs and SA with no common guidelines, standards, and frameworks, will result in unused and conflicted information within their areas, which finally will impact the software engineering field. While the employment of interdisciplinary knowledge (such as SPs, modelling techniques, description languages, evaluation methods, standards, and frameworks), could elevate SA development and validation methodologies, and increase its utilisation within the software engineering community. The goal here is to help build better systems, which could be improved by developing suitable SA, and evaluate its qualities by proper methods and tools, before further development, which should save time as well as money. Therefore, after a long process of analysing the current-state-of-the-art, I have introduced in this thesis novel findings concerning descriptions, relationships, documentation, and utilisation in relation to SA, SAE, and SPs, through employing several investigatory techniques, including comparisons between reliable references, questionnaires, field study, and case study. The investigation of SPs resulted in creating a database as a partial solution, in order to minimise their confusion within the literature, concerning their definitions, categorisations, and relationships with different quality attributes Quality Attribute (QA)s; also, to introduce the information in a proper fashion for users, which includes the required data that supports comparisons between pattern references, and to facilitate their selection processes. The issues, gaps, limitations, inconsistencies, and conflicts within current SA, QAs, and SPs discovered by this study, such as their poor description and the ignorance of them by developers during software development, has led to important recommendations, as well as suggestions for future research. The required information from different sectors (government, academia and industry) regarding SPs, SA, SAE, and modelling languages, has been gathered, and analysed through two surveys and a field study. The strong relationships and influences between the aforementioned areas were introduced and proven by a case study analysis for the Real-time Control System Real-time Control System (RCS) reference architecture, followed by introducing a conceptual paradigm that aimed to improve and generalise the Moreno et al. [2008] performance model. The outcomes from this thesis provide the basis for future work. Also, the information from different interdisciplinary knowledge merged to form new concepts for SA evaluation, which are recommended for future study

    Software Security Metrics for Malware Resilience

    Get PDF
    We examine the level of resistance offered by a software product against malicious software (malware) attacks. Analysis is performed on the software architecture. This is available as a result of the software design process and can hence be used at an early stage in development. A model of a generic computer system is developed, based on the internationally recognized Common Criteria for Information Technology Security Evaluation. It is formally specified in the Z modeling language. Malicious software attacks and security mechanisms are captured by the model. A repository of generic attack methods is given and the concept of resistance classes introduced to distinguish different levels of protection. We assess how certain architectural properties and changes in system architecture affect the possible resistance classes of a product. This thesis has four main contributions: A generic model of an operating system from a security perspective, a repository of typical attack methods, a set of resistance classes, and an identification of software architecture metrics pertaining to ordered security levels

    Coupled model transformations for QoS enabled component-based software design

    Get PDF
    This thesis presents the Palladio Component Model and its accompanying transformations for component-based software design with predictable performance attributes. The use of transformations results in a deterministic relationship between the model and its implementation. The introduced Coupled Transformations method uses this relationship to include implementation details into predictions to get better predictions. The approach is validated in several case studies showing the increased accuracy

    Combining SOA and BPM Technologies for Cross-System Process Automation

    Get PDF
    This paper summarizes the results of an industry case study that introduced a cross-system business process automation solution based on a combination of SOA and BPM standard technologies (i.e., BPMN, BPEL, WSDL). Besides discussing major weaknesses of the existing, custom-built, solution and comparing them against experiences with the developed prototype, the paper presents a course of action for transforming the current solution into the proposed solution. This includes a general approach, consisting of four distinct steps, as well as specific action items that are to be performed for every step. The discussion also covers language and tool support and challenges arising from the transformation
    corecore