Architectural styles and patterns

Architectural styles and patterns represent prototypical solutions to recurring design problems. They may be thought of the building blocks of software architectures, in the sense that the architecture of a system is often created by combining known styles and patterns. From experience we know how the application of a particular well-known style or pattern will influence the properties of the system. Some styles and patterns important to our research are briefly described below.

Component-based architecture

In component based architectures the basic building blocks of a software system is software components. Within this style a component is understood as a software part with contractually specified interfaces and and explicitely defined interfaces, which can be deployed separately and can be reused in different systems. The architecture model of a software system identifies the components it consists of and constrains the way they can be interconnected.  In our our work in the area of adaptive systems we exploit this style to achieve dynamic adaptation by reconfiguring at the  component level based on a runtime representation of the  architecture model.

 

Service-oriented architecture

Service-oriented architecture (SOA) is an architectural style that follows guidelines of service orientation, a relatively new paradigm for software development and system integration. Services with well-defined interfaces are developed and deployed independently in a networked environment, and can be dynamically discovered, selected, bound and composed to create new applications that can utilize available resources and meet changing and emerging user requirements. This is a promising paradigm for supporting evolution and management of software systems that can adapt to continuously changing environment and user requirements. It is also a good candidate for dealing with heterogeneity and dynamism in many application areas, like ubiquitous computing, Internet of Things and Services, and the Future Internet.

Event-driven architecture

  


Published March 9, 2012