Skip to content
Fábio Nogueira edited this page Dec 7, 2016 · 9 revisions

Home -> Related Work #SASSY Self-architecting Software Systems (SASSY) é um framework dirigido por modelos que visa suportar a adaptação dinâmica de sistemas nos quais os requisitos podem mudar em tempo de execução. Nesse contexto, eventuais mudanças podem promover adaptações arquiteturais, de forma a satisfazer os requisitos funcionais e não-funcionais (estes últimos especificados através de funções objetivo).

In SASSY, domain experts capture the intended application requirements using a visual activity-modeling lan- guage. From this, SASSY automatically derives an architecture that specifi es which services are part of the system and how they’re coordinated.

The key challenges are how to automatically determine the original architecture and how to continuously and dynamically adapt the architecture and runtime system to maintain QoS goals.

Automatic architecting and rearchi- tecting is an NP-hard optimization problem. Through an effi cient heuris- tic, SASSY generates near-optimal ar- chitectures and service selections to mitigate the problem’s computational complexity.

Figure 1 shows how SASSY initially generates a software architecture. As we just mentioned, third-party soft- ware engineers develop services and register them in a service directory so that SASSY can discover them. Soft- ware architects develop QoS architec- tural patterns, which are patterns of service composition (such as replication for fault tolerance, load balancing for increased throughput, and mediation for secure communication). A software performance engineer associates these patterns with parameterized QoS ana- lytic models that determine how a par- ticular pattern infl uences various QoS metrics of interest. In addition, the ar- chitects develop software adaptation patterns to dynamically adapt an exe- cuting system from its current architec- ture to another at runtime.

Clone this wiki locally