Optimizing decomposition of software architecture for local recovery

Hasan Sözer, B. Tekinerdogan, Mehmet Aksit

    Research output: Contribution to journalArticleAcademicpeer-review

    10 Citations (Scopus)
    17 Downloads (Pure)

    Abstract

    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.
    Original languageUndefined
    Pages (from-to)203-240
    Number of pages38
    JournalSoftware quality journal
    Volume21
    Issue number2
    DOIs
    Publication statusPublished - Jun 2013

    Keywords

    • Performance
    • Software Architecture Design
    • Software architecture designFault toleranceLocal recovery Availability Performance
    • EWI-22377
    • Local recovery
    • IR-83370
    • Availability
    • Fault Tolerance
    • METIS-296115

    Cite this

    Sözer, Hasan ; Tekinerdogan, B. ; Aksit, Mehmet. / Optimizing decomposition of software architecture for local recovery. In: Software quality journal. 2013 ; Vol. 21, No. 2. pp. 203-240.
    @article{29af405a702a496b8e5360c15ff1f64e,
    title = "Optimizing decomposition of software architecture for local recovery",
    abstract = "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.",
    keywords = "Performance, Software Architecture Design, Software architecture designFault toleranceLocal recovery Availability Performance, EWI-22377, Local recovery, IR-83370, Availability, Fault Tolerance, METIS-296115",
    author = "Hasan S{\"o}zer and B. Tekinerdogan and Mehmet Aksit",
    note = "eemcs-eprint-22377",
    year = "2013",
    month = "6",
    doi = "10.1007/s11219-011-9171-6",
    language = "Undefined",
    volume = "21",
    pages = "203--240",
    journal = "Software quality journal",
    issn = "0963-9314",
    publisher = "Springer",
    number = "2",

    }

    Optimizing decomposition of software architecture for local recovery. / Sözer, Hasan; Tekinerdogan, B.; Aksit, Mehmet.

    In: Software quality journal, Vol. 21, No. 2, 06.2013, p. 203-240.

    Research output: Contribution to journalArticleAcademicpeer-review

    TY - JOUR

    T1 - Optimizing decomposition of software architecture for local recovery

    AU - Sözer, Hasan

    AU - Tekinerdogan, B.

    AU - Aksit, Mehmet

    N1 - eemcs-eprint-22377

    PY - 2013/6

    Y1 - 2013/6

    N2 - 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.

    AB - 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.

    KW - Performance

    KW - Software Architecture Design

    KW - Software architecture designFault toleranceLocal recovery Availability Performance

    KW - EWI-22377

    KW - Local recovery

    KW - IR-83370

    KW - Availability

    KW - Fault Tolerance

    KW - METIS-296115

    U2 - 10.1007/s11219-011-9171-6

    DO - 10.1007/s11219-011-9171-6

    M3 - Article

    VL - 21

    SP - 203

    EP - 240

    JO - Software quality journal

    JF - Software quality journal

    SN - 0963-9314

    IS - 2

    ER -