Integrating Software Architecture Concepts Into the MDA Platform (original) (raw)
Related papers
Integrating Software Architecture Concepts into the MDA Platform with UML Profile
Journal of Computer Science, 2007
Architecture Description Languages (ADLs) provide an abstract representation of software systems. Achieving a concrete mapping of such representation into the implementation is one of the principal aspects of MDA (Model Driven Architecture). Integration of ADLs within MDA confers to the MDA platform a higher level of abstraction and a degree of reuse of ADLs. Indeed they have significantly different platform metamodels which make the definition of mapping rules complex. This complexity is clearly noticeable when some software architecture concepts cannot be easily mapped to MDA platform. In this research, we propose to integrate software architecture within MDA. We define also strategy for direct transformation using a UML profile. It represents both software architecture model (PIM) and MDA platform model (PSM) in UML meta-model then elaborates transformation rules between results UML meta-models. The goal is to automate the process of deriving implementation platform from software concepts.
Towards an UML Profile for the Description of Software Architecture
Existing ADLs (architecture description languages) have an advantage of formally specifying the architecture of component-based systems. But ADLs have not come into extensive use in industries since ADL users should learn a distinct notation specific to architecture, and ADLs do not address all stakes of development process that is becoming diversified everyday. On the other hand, UML is a de facto standard general modeling language for software developments as UML provides a consistent notation and various supporting tools during the whole software development cycle. A number of researches on architecture modeling based on UML have been progressed. In particular, many research results have been introduced that specialize UML by its extension mechanism in order to explicitly represent core architecture concepts that UML does not fully support. In this paper, we examine architecture modeling elements that can be represented in UML2.0 and discuss how to extend and specialize UML2.0 in order to make it more suitable for representing architectures.
An approach to software architecture description using UML
2004
This document presents a practical way of describing software architectures using the Unified Modeling Language. The approach is based on a "3+1" structure in which three viewpoints on the described system are used -module, component & connector, and allocation -are used to describe a solution for a set of architectural requirements.
TOWARDS A SEMI-AUTOMATIC TRANSFORMATION PROCESS IN MDA - Architecture and Methodology
2008
Recently, Model Driven Engineering (MDE) approaches have been proposed for supporting the development, maintenance and evolution of software systems. Model driven architecture (MDA) from OMG (Object Management Group), "Software Factories" from Microsoft and the Eclipse Modelling Framework (EMF) from IBM are among the most representative MDE approaches. Nowadays, it is well recognized that model transformations are at the heart of these approaches and represent as a consequence one of the most important operations in MDE. However, despite the multitude of model transformation languages proposals emerging from university and industry, these transformations are often created manually. In this paper we propose in the first part an extended architecture that aims to semi-automate the process of transformation in the context of MDA. This architecture introduces mapping and matching as first class entities in the transformation process, represented by models and metamodels. In the second part, our architecture is enforced by a methodology which details the different steps leading to a semi-automatic transformation process. Finally, a classification of these different steps according to two main criteria is presented: how the steps are achieved (manual/automatic), and who is responsible for their achievement (expert, designer or software).
Describing dynamic software architectures using an extended UML model
Proceedings of the 2006 …, 2006
In this paper, we propose a new UML2.0 profile to describe the change of software architectures. The profile introduces a set of stereotypes for modeling the structural and the dynamic aspect as well as architectural constraints. We adapt the component diagrams metamodel on specific purposes by extending existing metaclasses. The adaptations are defined using stereotypes which are grouped in a profile. The profile offers to the architects an intuitive and complete way to specify the software architecture based on visual notations.
Modeling Software Architecture with UML
2015
Abstract: Software Architecture is being widely used today to describe a very high level design methodology of large & heterogeneous software systems. A good Architectural representation scheme holds the key to the effectiveness of a Software architecture description and usage. In this paper, we look at UML (unified modeling language) as a prospect for a generalized architecture description language. UML also “unifies " the design principles of each of the object oriented methodologies into a single, standard, language that can be easily applied across the board for all object-oriented systems and a scheme AND-OR DFD method is introduced and developed.
Automating specification to implementation software development using model driven architecture
2011
Model driven architecture (MDA) is a new development methodology which raises abstraction and re-using levels. MDA is aimed at developing applications in established domains without writing new codes. To this end, models are first-class artifacts where the specification of the system is modeled using platform independent model (PIM). The implementation is modeled as code-based API using platform specific model (PSM). MDA is about mapping PIM to PSM, whereby specifications will translate into calls to the code-based API which execute it. The ultimate goal of MDA is to automate this process. This process is not specified in detail in standard Object Management Group (OMG) document. Due to lack of previous work tackling the development problem from specification to implementation, this research proposes End to End Development Engineering (E2EDE) method using MDA methodology. E2EDE is a novel approach to software engineering, where the notion of variability is utilized from Software Product Line and used to model design decisions in PSM. PIM is equipped with Non-Functional Requirements (NFRs) to inform design decisions; thereby guiding the mapping process. A Unified Modeling Language (UML) profile is developed for modelling NFRs in PIM and Meta-Object Facility (MOF) profile for modeling variability in PSM. To address mapping variability and its modeling, an MOF metamodel is developed. In addition, a vii
Linking Model-Driven Development and Software Architecture: A Case Study
IEEE Transactions on Software Engineering, 2000
A basic premise of model-driven development (MDD) is to capture all important design information in a set of formal or semiformal models, which are then automatically kept consistent by tools. The concept, however, is still relatively immature and there is little by way of empirically validated guidelines. In this paper, we report on the use of MDD on a significant real-world project over several years. Our research found the MDD approach to be deficient in terms of modeling architectural design rules. Furthermore, the current body of literature does not offer a satisfactory solution as to how architectural design rules should be modeled. As a result developers have to rely on time-consuming and error-prone manual practices to keep a system consistent with its architecture. To realize the full benefits of MDD, it is important to find ways of formalizing architectural design rules, which then allow automatic enforcement of the architecture on the system model. Without this, architectural enforcement will remain a bottleneck in large MDD projects.
ByADL: An MDE Framework for Building Extensible Architecture Description Languages
Lecture Notes in Computer Science, 2010
In order to deal with evolving needs and stakeholder concerns, next generation ADLs should support incremental extension and customization. In this direction we proposed BYADL (Build Your ADL), a framework which allows software architects to (i) extend existent ADLs with domain specificities, new architectural views, or analysis aspects, (ii) integrate an ADL with development processes and methodologies, and (iii) customize an ADL. This paper presents the BYADL tool and its features.
A Method for the Development of Platform Models in the Model Driven Architecture Context
Journal of Computer Science, 2012
The application of the Model Driven Architecture (MDA) approach to the design of embedded software based on Real-Time Operating Systems (RTOS) is encouraged by the fact that such software has a wide variety of platforms. In this way, the creation of methods for the development of platform models that meet such diversity of platforms is necessary. This study proposes a method called PM-MDA for the development of platform models that design embedded software based on RTOS in the context of MDA. In addition, this study defines the swxRTOS metamodel, a UML 2.0 profile for RTOS based on embedded software design. Such profile defines a set of stereotypes to describe Platform Models (PMs) and is intended to generically describe the services provided by a given embedded system platform of the RTOS. This profile promotes the creation of Platform Models, which will be used as input parameters in the model transformation. Due to the inherent complexity in embedded software design and the existence of a wide variety of platform models, new methods that support the development of such software become crucial.