Learn More
Software-intensive systems have become increasingly large and complex and new techniques and methodologies are necessary to deal with such complexity. Model-Driven Development (MDD) has been used to deal with complex scenarios, since software models, despite details, facilitate the visualization of the whole. Moreover, MDD has been widely recognized as a(More)
Currently, software systems have become increasingly large and complex, often resulted by the integration of several operationally independent systems, resulting in a new class of systems: the Systems of Systems (SoS). In another perspective, software architectures play a major role in determining system quality, since they form the backbone of any(More)
—Software architectures play a major role in determining system quality, since they form the backbone to any successful software-intensive system. In this context, reference architecture is a generic architecture for a class of software systems used as a foundation for the design of concrete architectures from this class. Because of their fundamental role,(More)
Robotics has emerged as one of the most prominent research areas in the last years. To cope with the great variety of robots application areas, as well as the heterogeneity of the robots, Service-Oriented Architecture (SOA) has been adopted to develop robotic systems, i.e., the software systems that manage the robots. Nevertheless, there is a lack of(More)
Software architectures have played a significant role in determining the success of software systems. In this context, reference ar-chitectures have emerged as a special type of architecture that contains knowledge of a specific domain, aiming at improving reuse and productivity , facilitating the development of systems of that domain. Considering their(More)
—Robotic systems have been increasingly adopted in several sectors of the society. To cope with this demand and diversity, researchers have investigated the Service-Oriented Architecture (SOA) to develop such systems. SOA promotes interoperability between software modules and heterogeneous hardware devices, and a better reusability and flexibility for(More)
Aspect-Oriented Programming (AOP) has arisen as a new technology to support a better SoC (Separation of Concerns), intending to contribute to the development of reusable, maintainable, and evolvable software systems. Aspects have been also explored in the early life cycle phases, aiming at contributing to a more adequate development of aspect-oriented(More)
A diversity of methods to software architecture evaluation has been proposed, aiming at the quality of software systems. Efforts to identify, analyse and compare these methods can be also found. However, a more recent study has not been conducted. Thus, in this paper, we aim at identifying methods to evaluate recent and specific architectures — reference(More)