Results 1 - 10
of
32
Software Architecture: a Roadmap
, 2000
"... attention as an important sub#eld of software engineering. During that time there has been considerable progress in developing the technological and methodological base for treating architectural design as an engineering discipline. However, much remains to be done to achieve that goal. Moreover, th ..."
Abstract
-
Cited by 53 (0 self)
- Add to MetaCart
attention as an important sub#eld of software engineering. During that time there has been considerable progress in developing the technological and methodological base for treating architectural design as an engineering discipline. However, much remains to be done to achieve that goal. Moreover, the changing face of technology raises anumber of new challenges for software architecture. This paper examines some of the important trends of software architecture in research and practice, and speculates on the important emerging trends, challenges, and aspirations.
Modeling and Validation of Service-Oriented Architectures: Application vs. Style
"... Most applications developed today rely on a given middleware platform which governs the interaction between components, the access to resources, etc. To decide, which platform is suitable for a given application (or more generally, to understand the interaction between application and platform) , we ..."
Abstract
-
Cited by 35 (6 self)
- Add to MetaCart
Most applications developed today rely on a given middleware platform which governs the interaction between components, the access to resources, etc. To decide, which platform is suitable for a given application (or more generally, to understand the interaction between application and platform) , we propose UML models of both the architectural style of the platform and the application scenario. Based on a formal interpretation of these as graphs and graph transformation systems, we are able to validate the consistency between platform and application.
DiscoTect: A System for Discovering Architectures from Running Systems
- In Proc. 26th International Conference on Software Engineering
, 2004
"... One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper we describe a technique that uses run time observations about an executing system to construct an architectural view of the system. With this tech ..."
Abstract
-
Cited by 25 (7 self)
- Add to MetaCart
One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper we describe a technique that uses run time observations about an executing system to construct an architectural view of the system. With this technique we develop mappings that exploit regularities in system implementation and architectural style. These mappings describe how low-level system events can be interpreted as more abstract architectural operations. We describe the current implementation of a tool that uses these mappings, and show that it can highlight inconsistencies between implementation and architecture.
Discovering Architectures from Running Systems: Lessons Learned
, 2004
"... Abstract—One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper, we describe a technique that uses runtime observations about an executing system to construct an architectural view of the system. In th ..."
Abstract
-
Cited by 20 (11 self)
- Add to MetaCart
Abstract—One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. In this paper, we describe a technique that uses runtime observations about an executing system to construct an architectural view of the system. In this technique, we develop mappings that exploit regularities in system implementation and architectural style. These mappings describe how low-level system events can be interpreted as more abstract architectural operations and are formally defined using Colored Petri Nets. In this paper, we describe a system, called DiscoTect, that uses these mappings and we introduce the DiscoSTEP mapping language and its formal definition. Two case studies showing the application of DiscoTect suggest that the tool is practical to apply to legacy systems and can dynamically verify conformance to a preexisting architectural specification. Index Terms—Software architecture discovery, reverse engineering, architecture design tools and analyses. Ç
Distributed Component System Based On Architecture Description: The SOFA Experience
, 2002
"... In this paper, the authors share their experience gathered during the design and implementation of a runtime environment for the SOFA component system. The authors focus on the issues of mapping the SOFA component definition language into the C++ language and the integration of a CORBA middlewar ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
In this paper, the authors share their experience gathered during the design and implementation of a runtime environment for the SOFA component system. The authors focus on the issues of mapping the SOFA component definition language into the C++ language and the integration of a CORBA middleware into the SOFA component system, aiming to support transparently distributed applications in a real-life environment. The experience highlights general problems related to the type system of architecture description languages and middleware implementations, the mapping of the type system into the implementation language, and the support for dynamic changes of the application architecture.
Modeling architectural patterns using architectural primitives
- In Proceedings of the 20th ACM Conference on Object-Oriented Programming, Systems, Languages & Applications (OOPSLA 2005
, 2005
"... Architectural patterns are a key point in architectural documentation. Regrettably, there is poor support for modeling architectural patterns, because the pattern elements are not directly matched by elements in modeling languages, and, at the same time, patterns support an inherent variability that ..."
Abstract
-
Cited by 8 (4 self)
- Add to MetaCart
Architectural patterns are a key point in architectural documentation. Regrettably, there is poor support for modeling architectural patterns, because the pattern elements are not directly matched by elements in modeling languages, and, at the same time, patterns support an inherent variability that is hard to model using a single modeling solution. This paper proposes tackling this problem by finding and representing architectural primitives, as the participants in the solutions that patterns convey. In particular, we examine a number of architectural patterns to discover those primitive abstractions that are common among the patterns, and at the same time demonstrate a degree of variability in each pattern. These abstractions belong in the components and connectors architectural view, though more abstractions can be found in other views. We have selected UML 2 as the language for representing these primitive abstractions as extensions of the standard UML elements. The added value of this approach is twofold: it proposes a generic and extensible approach for modeling architectural patterns by means of architectural primitives; it demonstrates an initial set of primitives that participate in several well-known architectural patterns.
Modeling Software Components Using Behavior Protocols
, 2003
"... This thesis proposes a novel approach for a description of a software component's behavior. The behavior is specified by using behavior protocols - a notation similar to regular expressions, which is easy to read and comprehend. ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
This thesis proposes a novel approach for a description of a software component's behavior. The behavior is specified by using behavior protocols - a notation similar to regular expressions, which is easy to read and comprehend.
PRISMA: Towards Quality, Aspect Oriented and Dynamic Software Architectures
- In Int. Conf. On Quality Software
, 2003
"... The development of software systems must be done using platforms that allow the description of quality, complex, distributed, dynamic and reusable architectural models. We present in this paper PRISMA, an architectural modelling approach based on aspects and components, that uses a component definit ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
The development of software systems must be done using platforms that allow the description of quality, complex, distributed, dynamic and reusable architectural models. We present in this paper PRISMA, an architectural modelling approach based on aspects and components, that uses a component definition language (components, connectors and systems) to define architectural types at a high abstraction level and a configuration language to design the architecture of software systems. The component definition language increases reuse allowing importation of COTS and reduces complexity by integrating two modern software development approaches: Component-Based Software Development and Aspect-Oriented Software Development. The configuration language designs the architecture of software systems by creating and interconnecting instances of the defined types including possible imported COTS. PRISMA has a metalevel with reflexive properties for these two languages. For this reason, the types of PRISMA may evolve and the topologies of PRISMA may be reconfigured dynamically.
Using UML Profiles for Documenting Web-Based Application Frameworks
- Annals of Software Engineering
, 2002
"... The Web now offers an exceptional infrastructure for the development of distributed collaborative services and applications. However, most of the existing applications only make use of the Web access and visualization facilities, without exploiting its distributed-processing potential capabilities. ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
The Web now offers an exceptional infrastructure for the development of distributed collaborative services and applications. However, most of the existing applications only make use of the Web access and visualization facilities, without exploiting its distributed-processing potential capabilities. Web technologies are currently more focused on the provision of semantics to data and the design of dynamic Web pages, while paying little attention to the distributed architecture of the applications -- that should go beyond client-server architectures. Application frameworks are one of the key technologies that may provide the mechanisms required for the design and development of reusable and scalable systems in these environments. However, the way to document such frameworks so they can be effectively tailored and reused still remains unresolved. In this paper we propose the use of UML profiles for documenting Webbased application frameworks, as a standard means for expressing their semantics. UML profiles allow all stakeholders of a system to share a common graphical notation and vocabulary, and permit more precise specifications and better documentation on how to use and customize applications. As an example, we build a UML profile for MultiTEL, a framework particularly well suited for the development of Internet-based multimedia and collaborative systems, and show how systems designers can use it to derive and document their applications.
Style-based architectural analysis for migrating a webbased regional trade information system
- In: Web-based Maintenance and Reengineering Workshop 2006 (WMR06
, 2006
"... In this paper, we present the MIDARCH method for selecting a middleware platform in Enterprise Application Integration (EAI) and migration projects. Its specific contribution is the use of architectural styles (MINT Styles) as a vehicle for binding architectural knowledge. In addition, an ongoing ca ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
In this paper, we present the MIDARCH method for selecting a middleware platform in Enterprise Application Integration (EAI) and migration projects. Its specific contribution is the use of architectural styles (MINT Styles) as a vehicle for binding architectural knowledge. In addition, an ongoing case study is presented which applies the MIDARCH method to a web-based regional trade information system. The project involves the integration of three subsystems, which have been developed rather independently in the past, two of which are already web-based. The major motivation for migrating the system is to improve evolvability of the system and to make it more apt for the supply to a larger number of customers.

