A Unified Software Reengineering Approach towards Model Driven Architecture Environment

Author(s):  
Bing Qiao ◽  
Hongji Yang ◽  
Alan O’Callaghan

When developing a software system, there are a number of principles, paradigms, and tools available to choose from. For a specific platform or programming language, a standard way can usually be found to archive the ultimate system; for example, a combination of an incremental development process, object-oriented analysis and design, and a well supported CASE (Computer-Aided Software Engineering) tool. Regardless of the technology to be adopted, the final outcome of the software development is always a working software system. However, when it comes to software reengineering, there is rather less consensus on either approaches or outcomes. Shall we use black-box or white-box reverse engineering for program understanding? Shall we produce data and control flow graphs, or some kind of formal specifications as the output of analysis? Each of these techniques has its pros and cons of tackling various software reengineering problems, and none of them on its own suffices to a whole reengineering project. A proper integration of various techniques capable of solving a specific issue could be an effective way to unravel a complicated software system. This kind of integration has to be done from an architectural point of view. One of the most exciting outcomes of recent efforts on software architecture is the Object Management Group’s (OMG) Model-Driven Architecture (MDA). MDA provides a unified framework for developing middleware-based modern distributed systems, and also a definite goal for software reengineering. This chapter presents a unified software reengineering methodology based on Model-Driven Architecture, which consists of a framework, a process, and related techniques.

1981 ◽  
Vol 10 (128) ◽  
Author(s):  
Neil D. Jones

<p>We describe a method to analyze the data and control flow during mechanical evaluation of lambda expressions. The method produces a finite approximate description of the set of all states entered by a call-by-value lambda-calculus interpreter; a similar approach can easily be seen to work for call-by-name. A proof is given that the approximation is ''safe'' i.e. that it includes descriptions of every intermediate lambda-expression which occurs in the evaluation.</p><p>From a programming languages point of view the method extends previously developed interprocedural analysis methods to include both local and global variables, call-by-name or call-by-value parameter transmission and the use of procedures both as arguments to other procedures and as the results returned by them.</p>


Author(s):  
Marite Kirikova

In information systems engineering there is a long history of development and application of different domain modeling approaches, methods and techniques. The chapter surveys and analyzes enterprise models, systems development artifacts, enterprise architectures, enterprise modeling tools, and information systems change management issues from the point of view of information systems engineering. The purpose of this work is to share experience from information systems engineering with model driven architecture community and to reveal strong and weak sides of domain modeling approaches and tools used in information systems engineering which, in turn, would help to see where further research and development efforts are needed in order to achieve maximum value from systems development efforts in the area of information systems engineering and model driven architecture. The chapter focuses on methods used in information systems engineering and, according to its purpose, does not consider in detail domain modeling approaches that are well known to model driven development/engineering/architecture community.


2014 ◽  
Vol 16 (1) ◽  
pp. 43-52
Author(s):  
Viktoria Ovchinnikova ◽  
Erika Asnina ◽  
Vicente García-Díaz

Abstract The software system needs to be analyzed and designed before the program code is written. A Computation Independent Model (CIM) and a Platform Independent Model/ Platform Specific Model (PIM/PSM) from Model-Driven Architecture (MDA) will be partially considered in this paper. A Topological Functioning Model (TFM) will be considered as a formal CIM, and UML sequence diagrams - as a behavioral PIM/PSM of the software system. The paper presents a short overview of the TFM and sequence diagrams with their constructs, as well as the example of transformation from the sequence diagrams to the TFM.


Author(s):  
Pierre Laforcade ◽  
Thierry Nodenot ◽  
Christophe Choquet ◽  
Pierre-Andre Caron

This chapter deals with the application of Model-Driven Engineering and Model-Driven Architecture approaches in a Technology Enhanced Learning (TEL) context. Such Software Engineering approaches provide concrete benefits (productivity, interoperability, adaptability) by means of intensive uses of models, meta-models and transformations. Such benefits can also be met in a TEL context. Because computer scientists or engineers cannot currently find well-defined frameworks about this new trend, we have chosen to report recent results of our working group (initiated in 2003) in order to provide readers with a survival kit. Our results, illustrated in this chapter, argue that Model Driven Engineering can help designers to reduce the gap between specific instructional requirements (domain point of view) and the software architectures that practically support the implementation, the run-time and the regulation of this instruction.


2009 ◽  
Vol 38 (38) ◽  
pp. 119-130
Author(s):  
Erika Asnina

Use of Business Models within Model Driven Architecture Model Driven Architecture is a framework dedicated for development of large and complex computer systems. It states and implements the principle of architectural separation of concerns. This means that a system can be modeled from three different but related to each other viewpoints. The viewpoint discussed in this paper is a Computation Independent one. MDA specification states that a model that shows a system from this viewpoint is a business model. Taking into account transformations foreseen by MDA, it should be useful for automation of software development processes. This paper discusses an essence of the Computation Independent Model (CIM) and the place of business models in the computation independent modeling. This paper considers four types of business models, namely, SBVR, BPMN, use cases and Topological Functioning Model (TFM). Business persons use SBVR to define business vocabularies and business rules of the existing and planned domains, BPMN to define business processes of both existing and planned domains, and use cases to define business requirements to the planned domain. The TFM is used to define functionality of both existing and planned domains. This paper discusses their capabilities to be used as complete CIMs with formally defined conformity between planned and existing domains.


Sign in / Sign up

Export Citation Format

Share Document