15 research outputs found

    A non-parametric approach for survival analysis of component-based software

    Get PDF

    Technique for early reliability prediction of software components using behaviour models

    Get PDF
    Behaviour models are the most commonly used input for predicting the reliability of a software system at the early design stage. A component behaviour model reveals the structure and behaviour of the component during the execution of system-level functionalities. There are various challenges related to component reliability prediction at the early design stage based on behaviour models. For example, most of the current reliability techniques do not provide fine-grained sequential behaviour models of individual components and fail to consider the loop entry and exit points in the reliability computation. Moreover, some of the current techniques do not tackle the problem of operational data unavailability and the lack of analysis results that can be valuable for software architects at the early design stage. This paper proposes a reliability prediction technique that, pragmatically, synthesizes system behaviour in the form of a state machine, given a set of scenarios and corresponding constraints as input. The state machine is utilized as a base for generating the component-relevant operational data. The state machine is also used as a source for identifying the nodes and edges of a component probabilistic dependency graph (CPDG). Based on the CPDG, a stack-based algorithm is used to compute the reliability. The proposed technique is evaluated by a comparison with existing techniques and the application of sensitivity analysis to a robotic wheelchair system as a case study. The results indicate that the proposed technique is more relevant at the early design stage compared to existing works, and can provide a more realistic and meaningful prediction

    Optimizing decomposition of software architecture for local recovery

    Get PDF
    Cataloged from PDF version of article.The increasing size and complexity of software systems has led to an amplified number of potential failures and as such makes it harder to ensure software reliability. Since it is usually hard to prevent all the failures, fault tolerance techniques have become more important. An essential element of fault tolerance is the recovery from failures. Local recovery is an effective approach whereby only the erroneous parts of the system are recovered while the other parts remain available. For achieving local recovery, the architecture needs to be decomposed into separate units that can be recovered in isolation. Usually, there are many different alternative ways to decompose the system into recoverable units. It appears that each of these decomposition alternatives performs differently with respect to availability and performance metrics. We propose a systematic approach dedicated to optimizing the decomposition of software architecture for local recovery. The approach provides systematic guidelines to depict the design space of the possible decomposition alternatives, to reduce the design space with respect to domain and stakeholder constraints and to balance the feasible alternatives with respect to availability and performance. The approach is supported by an integrated set of tools and illustrated for the open-source MPlayer software

    Strategy for scalable scenarios modeling and calculation in early software reliability engineering

    Get PDF
    System scenarios derived from requirements specification play an important role in the early software reliability engineering. A great deal of research effort has been devoted to predict reliability of a system at early design stages. The existing approaches are unable to handle scalability and calculation of scenarios reliability for large systems. This paper proposes modeling of scenarios in a scalable way by using a scenario language that describes system scenarios in a compact and concise manner which can results in a reduced number of scenarios. Furthermore, it proposes a calculation strategy to achieve better traceability of scenarios, and avoid computational complexity. The scenarios are pragmatically modeled and translated to finite state machines, where each state machine represents the behaviour of component instance within the scenario. The probability of failure of each component exhibited in the scenario is calculated separately based on the finite state machines. Finally, the reliability of the whole scenario is calculated based on the components’ behaviour models and their failure information using modified mathematical formula. In this paper, an example related to a case study of an automated railcar system is used to verify and validate the proposed strategy for scalability of system modeling

    Improving the Modifiability of the Architecture of Business Applications

    Get PDF
    Abstract-In the current rapidly changing business environment, organizations must keep on changing their business applications to maintain their competitive edges. Therefore, the modifiability of a business application is critical to the success of organizations. Software architecture plays an important role in ensuring a desired modifiability of business applications. However, few approaches exist to automatically assess and improve the modifiability of software architectures. Generally speaking, existing approaches rely on software architects to design software architecture based on their experience and knowledge. In this paper, we build on our prior work on automatic generation of software architectures from business processes and propose a collection of model transformation rules to automatically improve the modifiability of software architectures. We extend a set of existing product metrics to assess the modifiability impact of the proposed model transformation rules and guide the quality improvement process. Eventually, we can generate software architecture with desired modifiability from business processes. We conduct a case study to illustrate the effectiveness of our transformation rules

    Risk analysis in biometric-based Border Inspection System

    Get PDF
    The main goal of a Border Inspection System is to prevent the entry of individuals who pose a threat to a country. The entry of just one of these persons could have severe consequences. Nevertheless, performing a lengthy border inspection is not possible, given that 240,737 international passengers enter the country in an average day [5]. For this reason, the primary inspection is performed using biometrics traits and information flow processes that have a low false acceptance rate and have a high throughput.;This thesis uses the analytic modeling tool called LQNS (Layered Queueing Network Solver) to solve open models for biometric-based border inspection system and cost curves to evaluate the risk. The contributions of the thesis include a performance model of a biometric-based border inspection using open workloads and a risk model of a biometric-based border inspection using cost curves. Further, we propose an original methodology for analyzing a combination of performance risk and security risk in the border inspection system

    Reliability stochastic systems and rational expectations

    Get PDF
    Attraverso la predizione del tempo di fallimento di sistemi stocastici con componenti interconnesse possiamo trarre interessanti conclusioni nell\u2019ambito della teoria dell\u2019affidabilit\ue0. In questa tesi di dottorato vogliamo approfondire questo filone di ricerca proponendo un modello stocastico per valutare il tempo di fallimento atteso di sistemi stocastici sotto una prospettiva di aspettative razionali. Il nostro obiettivo \ue8 quello di esplorare l\u2019affidabilit\ue0 dei sistemi k-out-of-n con componenti eterogenee e omogenee attraverso le aspettative razionali. Sono quindi due i framework sui quali si baser\ue0 questo lavoro di ricerca: la teoria dell\u2019affidabilit\ue0 con focus sui sistemi k-out-of-n e le aspettative razionali. I due principali approcci alla teoria dell\u2019affidabilit\ue0 possono essere cos\uec distinti: un approccio probabilistico che si concentra sulla distribuzione di probabilit\ue0 dei tempi di fallimento dei sistemi e un approccio di tipo Bayesiano computazionale che stima il tempo medio di fallimento di un sistema condizionandolo a diverse caratteristiche. Sono moltissimi gli studi che si approcciano a questo problema attraverso la distribuzione di probabilit\ue0, cos\uec come moltissimi ricercatori hanno affrontato problemi di affidabilit\ue0 sfruttando l\u2019approccio Bayesiano. La nostra ricerca si colloca in quest\u2019ultima area di studio. Infatti andremo a stimare il tempo medio di fallimento di sistemi il cui fallimento \ue8 direttamente dipendente dal numero e dalla rilevanza delle componenti. Ci occupiamo sia di sistemi con componenti omogenee che eterogenee, considerando diverse distribuzioni inziali della rilevanza delle componenti stesse con lo scopo di scoprire quale distribuzione funziona meglio in questo contesto. L\u2019affidabilit\ue0 dei sistemi oggetto di studio \ue8 valutata condizionando i risultati alle informazioni disponibili registrate con il passare del tempo e quindi nel contesto delle aspettative razionali. Vogliamo esplorare come l\u2019utilizzo efficiente delle informazioni collezionate nel tempo sull\u2019evoluzione dinamica dei pesi delle componenti dei sistemi, possa influenzare il miglioramento delle previsioni dei tempi di fallimento dei nostri sistemi stocastici. Si tratta di uno studio innovativo con risultati originali in quanto non esistono contributi simili nella letteratura esistente. La nostra nuova metodologia di previsione \ue8 ispirata a quella proposta da Andersen e Sornette (2005, 2006). A differenza loro per\uf2 proponiamo un\u2019interazione nel tempo tra le componenti che influenza la composizione e il funzionamento dell\u2019intero sistema. I sistemi sono confrontati sulla base di alcune misure sintetiche (la varianza, la curtosi, l\u2019asimmetria, il coefficiente di Gini e l\u2019entropia di Shannon) calcolate sulle realizzazioni dei pesi delle componenti ad ogni tempo (configurazioni). I pesi sono estratti da cinque diverse distribuzioni iniziali: uniforme in (0,1), beta con \u3b1=1 e \u3b2=3, beta con \u3b1=\u3b2=0.5, beta con \u3b1=\u3b2=2, beta con \u3b1=1 e \u3b2=0.5. Si tratta di valori dinamici in quanto la rilevanza delle componenti cambia ogni volta che ne fallisce una. Si applica infatti la \u201cregola di riallocazione\u201d che ci permette di avere sistemi dinamici con componenti interattive: il peso della componente che fallisce viene riallocato in maniera proporzionale sui pesi delle componenti ancora attive all\u2019interno del sistema. Le aspettative razionali ci permetteranno quindi di calcolare il valore atteso dei tempi di fallimento sotto il vincolo degli indicatori statistici delle configurazioni che variano nel tempo. Presentiamo dei sistemi le cui le informazioni sulle misure statistiche delle configurazioni e sui tempi di fallimento sono catalogate in un set (set informativo). Per realizzare le previsioni mettiamo a confronto le informazioni ottenute sui sistemi reali (sistemi in-vivo) condizionandole a quelle del set informativo. Il risultato \ue8 l\u2019implementazione di un\u2019analisi di scenario degli errori ottenuti da questo confronto che tiene conto di due aspetti fondamentali: le misure statistiche dei pesi delle componenti e il tempo. Illustriamo prima di tutto un framework teorico seguito da due diversi modelli computazionali basati su simulazioni numeriche con diversi focus e risultati differenti. I due modelli forniscono validazione teorica al modello teorico e dipendono strettamente dal tempo e dagli indicatori statistici. Nel primo modello viene enfatizzato il ruolo dei vari indicatori statistici con un\u2019analisi trasversale nel tempo. La nostra intenzione \ue8 quella di predire i tempi residui di fallimento dei sistemi stocastici andando a studiare gli errori che commettiamo in corrispondenza dei diversi livelli delle misure statistiche oggetto di analisi. Si tratta di un\u2019analisi individuale dei vari indicatori e come cambia l\u2019efficacia di predizione a seconda della distribuzione iniziale dei pesi individuata. Nel secondo modello ci focalizziamo sul ruolo del tempo attraverso tre diversi condizionamenti. Esploriamo in questo caso le aspettative razionali per studiare il comportamento rispetto al tempo degli errori di predizione condizionati a percentili differenti delle distribuzioni degli indicatori statistici. Misuriamo in questo contesto in una prima analisi l\u2019andamento degli errori per ogni indicatore, e poi procediamo con una comparazione tra le varie analisi per investigare quale indicatore statistico performa meglio anche in relazione alla distribuzione iniziale dei pesi scelta. Si tratta di due studi complementari mostrati con due distinti approcci computazionali. L\u2019obiettivo \ue8 quello di implementare delle procedure che posso essere sfruttate per verificare l\u2019affidabilit\ue0 di qualsiasi sistema con componenti interconnesse. In questa tesi quindi proponiamo un modello teorico per descrivere le aspettative razionali in un contesto di teoria dell\u2019affidabilit\ue0, validandolo attraverso due diversi approcci. I risultati presentati incoraggiano l\u2019uso delle aspettative razionali nei modelli di predizione. In entrambi i modelli proposti riusciamo a fornire predizioni molto accurate e a stabilire quali indicatori statistici sono pi\uf9 adatti a seconda delle circostanze oggetto di analisi. Esaminiamo nei due approcci presentati come i percorsi degli errori sono influenzati dall\u2019indicatore utilizzato, dai valori assunti dall\u2019indicatore stesso e dalle distribuzioni iniziali dei pesi delle componenti. Dimostriamo quindi che \ue8 possibile ottenere la predizione dei tempi di fallimento di sistemi stocastici. Sono molte le ricerche future che abbiamo intenzione di proseguire. \uc8 nostra intenzione cambiare le regole e le assunzioni proposte in questa tesi, e confrontare nuovi risultati con quelli gi\ue0 collezionati. Vorremo estendere l\u2019analisi aggiungendo altre misure statistiche (indice di Frosini, indice di Pearson oppure altre entropie). Vorremo approfondire il modo in cui l\u2019evoluzione delle distribuzioni dei pesi delle componenti influenza i risultati ottenuti oppure sarebbe interessante costruire un network sulle connessioni esistenti tra le componenti in considerazione della probabilit\ue0 con la quale falliscono. Questa tesi di dottorato pu\uf2 avere una reale rilevanza in un contesto economico-finanziario nel caso di modelli per previsioni basate sulle informazioni disponibili o nell\u2019analisi del rischio sistemico. La nostra intenzione \ue8 quella di applicare i nostri modelli a dati reali fornendo esperimenti numerici nel campo economico-finanziario. In generale \ue8 adattabile ad ogni sistema con componenti interconnesse. Sono quindi molti i futuri spunti di ricerca che speriamo di riuscire presto ad approfondire

    Optimizing decomposition of software architecture for local recovery

    Get PDF
    The increasing size and complexity of software systems has led to an amplified number of potential failures and as such makes it harder to ensure software reliability. Since it is usually hard to prevent all the failures, fault tolerance techniques have become more important. An essential element of fault tolerance is the recovery from failures. Local recovery is an effective approach whereby only the erroneous parts of the system are recovered while the other parts remain available. For achieving local recovery, the architecture needs to be decomposed into separate units that can be recovered in isolation. Usually, there are many different alternative ways to decompose the system into recoverable units. It appears that each of these decomposition alternatives performs differently with respect to availability and performance metrics. We propose a systematic approach dedicated to optimizing the decomposition of software architecture for local recovery. The approach provides systematic guidelines to depict the design space of the possible decomposition alternatives, to reduce the design space with respect to domain and stakeholder constraints and to balance the feasible alternatives with respect to availability and performance. The approach is supported by an integrated set of tools and illustrated for the open-source MPlayer software. © 2011 Springer Science+Business Media, LLC

    Improving Cloud System Reliability Using Autonomous Agent Technology

    Get PDF
    Cloud computing platforms provide efficient and flexible ways to offer services and computation facilities to users. Service providers acquire resources according to their requirements and deploy their services in cloud. Service consumers can access services over networks. In cloud computing, virtualization techniques allow cloud providers provide computation and storage resources according to users’ requirement. However, reliability in the cloud is an important factor to measure the performance of a virtualized cloud computing platform. Reliability in cloud computing includes the usability and availability. Usability is defined as cloud computing platform provides functional and easy-to-use computation resources to users. In order to ensure usability, configurations and management policies have to be maintained and deployed by cloud computing providers. Availability of cloud is defined as cloud computing platform provides stable and reliable computation resources to users. My research concentrates on improving usability and availability of cloud computing platforms. I proposed a customized agent-based reliability monitoring framework to increase reliability of cloud computing

    Evaluación del nivel de usabilidad basado en la NTP-ISO/IEC 9126 de un producto software generado por una herramienta para el modelado de procesos de negocio

    Get PDF
    La calidad del software es un elemento importante que garantiza que el software producido pueda cumplir con los requisitos del cliente, por esta razón, se han creado varias normas para medir dicha calidad, entre las cuales destaca la ISO/IEC 9126, la misma que mide, entre varias características, la usabilidad del producto, no siendo ajenas los productos software utilizados en las gestiones administrativas de las instituciones educativas. Por esta razón, se asumió como objetivo general, la evaluación del nivel de usabilidad basado en la NTP-ISO/IEC 9126 de un producto de software generado por una herramienta BPM. Para llevar a cabo dicho objetivo, primeramente, se seleccionó la herramienta BPM con mejores prestaciones para el desarrollo de un producto software; luego, se construyó un Sistema de Gestión de Pagos y Pensiones para una institución educativa caso de estudio; posteriormente se seleccionaron los atributos de la usabilidad a partir de NTP-ISO/IEC 9126 a utilizar, y; finalmente se midió el nivel de usabilidad considerando diez (10) usuarios a quienes se les capacitó y brindó un manual de usuario de dicho producto software y a quienes también se les encuestó. Los resultados obtenidos revelaron que, el nivel de usabilidad basado en la NTPISO/IEC 9126 del Sistema de Gestión de Pagos y Pensiones para la I.E.P. El Buen Pastor, considerando las cinco sub características de la usabilidad, obtuvo un consolidado de 89.2% de usabilidad. Se concluyó que, dicho producto software se encontraba en un “Nivel Excelente” de usabilidad lo cual se interpretó como un software “Usable”.TesisInfraestructura, Tecnología y Medio Ambient
    corecore