Huy Tran @LinkedIn  Huy Tran at Facebook  Huy Tran at Twitter  Huy Tran's citations
Huy TRAN [CV]
Vienna University of Technology
Distributed Systems Group
Institute of Information Systems
Argentinierstrasse 8/184-1 [map]
Wien 1040, Austria.

Email: htran@infosys.tuwien.ac.at
Phone: +43 1 58801 18431
Fax: +43 1 8801 18491

IMPORTANT: From March 1st, 2011, I started working at the Software Architecture Group, University of Vienna, Austria. Please visit my new home page for up-to-date information.

Huy Tran is a post-doctoral researcher working at the Distributed Systems Group, Institute of Information Systems, Vienna University of Technology, Austria. He received his bachelor degree in Computer Science from Ho Chi Minh City University of Technology, Viet Nam in February 2002 and his doctoral degree in Computer Science specialized in Software Engineering at Vienna University of Technology, Austria in December 2009.

His current research interests include:

  • software architecture: view-based modeling, domain-specific architectural knowledge, architecture transformations
  • model-driven engineering: meta-modeling, view-based approach, traceability, and model transformations
  • domain-specific modeling: language engineering and integration of multiple languages
  • business process: enhancing agility, reusability, and traceability in business processes modeling
  • compliance engineering: compliance modeling, compliance management framework
  • service-oriented computing: architectures, Web services

He worked in the COMPAS EU FP7 project that developed new methodologies, techniques, and frameworks for modeling, assessing, and ensuring compliance in SOAs and process-driven SOAs. The project earned best grades from the EU project officer and reviewers and was enthusiastically praised as one of among exceptionally successful EU projects.

Copyright Policy on Published Papers: Several papers are available for download. By following these links you agree to respect the copyrights of the papers. The papers obtained from this Web page are included by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all people copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.
Dissertation
  • View-based and Model-driven Approach for Process-driven, Service-Oriented Architectures, PhD Thesis, Vienna University of Technology, Dec 2009.
    [pdf (7.6M), bib]
Book chapters
  1. H. Tran}, T. Holmes, U. Zdun, and S. Dustdar, Using Model-Driven Views and Trace Links to Relate Requirements and Architecture : A Case Study, Relating software requirements and architectures, I. Mistrik, with J. Grundy, J.G. Hall, and P. Avgeriou, Patricia Lago, eds., Springer, 2011 (forthcoming).
  2. H. Tran, T. Holmes, U. Zdun, and S. Dustdar. Chapter 2: Modeling Process-Driven SOAs – a View-Based Approach. In J. Cardoso, W. van der Aalst: Handbook of Research on Business Process Modeling, IGI Global, 2009
    [pdf, bib]
Journal articles
  1. H. Tran, U. Zdun, and S. Dustdar. VbTrace: Using View-based and Model-driven Development to Support Traceability in Process-driven SOAs, Software & System Modeling, Vol. 10, No.1, Nov 2011, pp. 5-29.
    [pdf, bib]
Peer-reviewed conference papers
  1. H. Tran, T. Holmes, E. Oberortner, E. Mulo, A.B. Cavalcante, J. Serafinski, M. Tluczek, A. Birukou, P. Silveira, U. Zdun, and S. Dustdar,An End-to-End Framework for Business Compliance in Process-Driven SOAs, 12th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), Timisoara, Romania, IEEE, 2010, pp. 407-414.
    [pdf, bib]
  2. H.Tran, U. Zdun, and S. Dustdar. Name-based view integration for enhancing the reusability in process-driven SOAs. 1st Workshop on Reuse in Business Process Management (rBPM 2010), 8th Int. Conf. on Business Process Management (BPM 2010), Hoboken, New Jersey, Sep 13-16, 2010.
    [pdf, bib]
  3. T. Holmes, H.Tran, U. Zdun, and S. Dustdar. Model-driven and Domain-specific Architectural Knowledge View for Compliance Meta-data in Process-Driven SOAs. Fifth Workshop on SHAring and Reusing architectural Knowledge (SHARK 2010), 32nd Int. Conf. on Software Engineering (ICSE 2010), Cape Town, South Africa, May 2-8, 2010, pp.64-71.
    [pdf, bib]
  4. T. Holmes, H. Tran, U. Zdun, and S. Dustdar. Modeling Human Aspects of Business Processes - A View-Based, Model-Driven Approach, 4th European conference on Model Driven Architecture: Foundations and Applications., pp.246-261, June 2008.
    [pdf, bib]
  5. H. Tran, U. Zdun, and S. Dustdar. View-Based Reverse Engineering Approach for Enhancing Model Interoperability and Reusability in Process-Driven SOAs. 10th ICSR, pp.233-244, LNCS 5030/2008, May 2008.
    [pdf, bib]
  6. H. Tran, U. Zdun, and S. Dustdar. View-based Integration of Process-driven SOA Models At Various Abstraction Levels, Model-Based Software and Data Integration Workshop, pp. 55-66, Springer CCIS, April 2008.
    [pdf, bib]
  7. H. Tran, U. Zdun, and S. Dustdar. View-based and Model-driven Approach for Reducing the Development Complexity in Process-Driven SOAs. BPSC, vol. 116 LNI, pages 105-124, 2007.
    [pdf, bib]
  8. M. Aiello, C. Platzer, F. Rosenberg, H. Tran, M. Vasko, and S. Dustdar. Web Service Indexing for Efficient Retrieval and Composition. CEC/EEE, 26-29 June, San Francisco, USA, 2006.
    [pdf, bib]
  9. N. M. Tran, H. K. Le, and H. Tran. An Adaptive Static Scheduling Algorithm for Non-dedicated Grid. School on Computational Sciences and Engineering: Theory and Applications, March 2-4, HCM City, Vietnam, 2005.
  10. Thanh-Son Nguyen, Huy Tran, and Anh-Kiet Nguyen. Balance Algorithm-a New Approach to Solving Mapping Problem On Heterogeneous Systems (HPSC), Springer-Verlag, 2004
    [link]
COMPAS - Compliance-driven Models, Languages, and Architectures for Services (EU Framework 7 STREP project, Call 1, Theme ICT 1.1.2 Software and Services): design and implement novel models, languages, and an architectural framework to ensure dynamic and on-going compliance of software services to business regulations and stated user service-requirements. COMPAS will use model-driven techniques, domain-specific languages, and service-oriented infrastructure software to enable organizations developing business compliance solutions easier and faster". (DSG Team:   S. Dustdar, U. Zdun, H. Tran, T. Holmes, E. Oberortner, E. Mulo). Period: 2008-2011. COMPAS

Selected journals (ordered by impact factors)

Abbr. Journal Issues/Year Publisher IS2008 CORE2010
TSE Transactions on Software Engineering 6 IEEE 3.569 A*
TOSEM Transactions on Software Engineering and Methodology 4 ACM 3.958 A*
JACM Journal of ACM 6 ACM 2.917 A*
ISJ Information Systems Journal 6 Wiley-Blackwell 2.375 A*
  IEEE Software 6 IEEE 2.099 B
  IEEE Computer 12 IEEE 2.093
JIT Journal of Information Technology 4 Palgrave MacMillan 1.966 A
IS Information Systems 8 Pergamon-Elsevier Science 1.660 A*
  Requirements Engineering 4 Springer 1.625 B
EJIS European Journal of Information Systems 6 Palgrave MacMillan 1.482 A*
DKE Data & Knowledge Engineering 12 Elsevier 1.480
JSS Journal of Systems and Software 12 Elsevier 1.241 A
  Advances in Engineering Software 12 Elsevier 1.188 C
INFSOF Information and Software Technology 12 Elsevier 1.200 B
IJCIS Int. Journal of Cooperative Information Systems 3 World Scientific 0.714 B
  Software: Practice and Experience 15 Wiley 0.713 A
IJSEKE Int. Journal of SW Engineering and Knowledge Engineering 6-8 World Scientific 0.447 B
CSUR ACM Computing Surveys 6 ACM A*
  Automated Software Engineering 4 Springer B
TSC Transactions on Services Computing 4 IEEE
IJBPIM Int. Journal of Business Process Integration and Management 4 Inderscience
  IEEE Internet Computing 6 IEEE  
SoSyM Software and Systems Modeling 4 Springer B
JOT Journal of Object Technology 6 ETH Zürich, Switzerland B
  Journal of SW Maintenance and Evolution: Research and Practice 6 Wiley B
  Annals of Software Engineering 4 Springer
EMISA Enterprise Modelling and Information Systems Architectures   MoBIS/LNI
TKDE Transactions on Knowledge and Data Engineering 12 IEEE
TWeb ACM Transactions on the Web 4 ACM B
  Service Oriented Computing and Applications   Springer  

Selected conferences (ordered by submission deadlines)

1. General, foundational conferences

Abbr. Conference Submission Held in CORE2010 Ref.Rank
COMPSAC Int. Computer Software and Applications Conference Jan July (Aug, Nov) B 3
ISSTA Int. Symposium on Software Testing and Analysis Jan (Feb) July A  
TOOLS Int. Conf- Objects, Models, Components, Patterns Feb June B  
RE Int. Requirements Engineering Conference Feb Sep (Oct) A 2
SEKE SW Engineering and Knowledge Engineering Mar July B  
ESEC/FSE European SW Engineering Conf. & ACM SIGSOFT Symp. on the Foundations of SE Mar Sep (Aug) A 1
EDOC Int. Conf. Enterprise Distributed Object Computing Mar Sep-Oct B  
SPLASH(OOPSLA) ACM Int. Conf. on Systems, Programming, Languages and Applications Mar Oct A 1
PACIS Pacific Asia Conf. on Information Systems Mar July A 2
ICSM Int. Conf. Software Maintenance Mar (Apr) Sep (Oct) A 2
SEFM Conf. on Software Engineering and Formal Methods Mar (Jun) Sep (Nov) B
WICSA/ECSA IEEE/IFIP Working Conf. on SW Architecture Apr Sep A
GPCE Int. Conf. Generative Programming and Component Engineering May Sep-Oct B
ASE Int. Conf. Automated Software Engineering May Sep (Nov) A 2
ICSR Int. Conf. on Software Reuse May May (Apr,Jun,Jul) A 2
APSEC Asia-Pacific SW Engineering Conference June Dec (Nov) C 3
ICSE Int. Conf. on Software Engineering Sep May (Jun) A 1
ECIS European Conf. on Information Systems Sept Jun A
ICST Int. Conf. on SW Testing, Verification and Validation Sep (Oct) Apr C  
CSMR European Conf. on SW Maintenance and Reengineering Oct Mar (Apr) C  
ETAPS/FASE European Conf. on Theory and Practice of SW & Fundamental Approaches to SE Oct
Mar (Apr)
B 3
AOSD Aspect-Oriented Software Development Oct Mar A  
CAiSE Int. Conf. on Advanced Information Systems Engineering Nov (Dec) June A 2
DSN Int. Conf. on Dependable Systems and Networks Dec Jun A
ECOOP European Conf. on Object-Oriented Programming Dec July A 2

2. Internet & Service-oriented Computing

Abbr. Conference Submission Held in CORE2010
ICWS International Conference on Web Services Feb July (Sep, Nov) A
ICWE International Conference on Web Engineering Feb July (late June) C
CLOUD International Conference on Cloud Computing Mar July B
SERVICES IEEE Congress on Services Mar July B
WISE Web Information Systems Engineering Mar~May Sep~Dec A
SCC International Conference on Services Computing Apr Sep A
MIDDLEWARE ACM/IFIP/USENIX Int. Middleware Conference Apr Dec A
ECOWS IEEE European Conf. on Web Services June
Nov C
ICSOC Int. Conf. on Service Oriented Computing June
Dec A
APSCC Asia-Pacific Services Computing Conference June-July Dec C
SOCA IEEE Int. Conf. on Service-Oriented Computing and Applications Aug Dec A
WWW World Wide Web Conference Nov Apr (early May) A

3. Business Process

Abbr. Conference Submission Held in CORE2010
CEC IEEE Conference on Commerce and Enterprise Computing (merged of CEC/EEE) Jan-Feb July C
BPMDS Workshop on Business Process Modeling, Development, and Support Feb June C
BPM Int. Conf. on Business Process Management Mar
Sep A
BPD Int. Workshop on Business Process Design Mar Oct C
ICEBE IEEE International Conference on e-Business Engineering May
Oct B
OTM/CoopIS Conference on Cooperative Information Systems June
Oct-Nov A

4. Model-driven Engineering, Language Engineering

References

  1. ERA (Excellence in Research for Australia) CORE Ranking Feb 2010
  2. Cristina Vicente-Chicote's list of Software Engineering Journals & Magazines
  3. Jeff Offutt's list of journals
  4. Periodicals on Software Engineering
  5. Steven C.H. Hoi's reference list
  6. Tao Xie's Software Engineering Conferences
  7. Daniel Lemire's list of journals

View-based Modeling Framework for Process-driven SOAs

1. Introduction

In process-driven, service-oriented architectures (SOA), process activities invoke services to perform the various tasks of the business process. As the number of elements involved in a business process architecture, such as processes, process activities, and services, grows, the complexity of process development also increases along with the number of the elements' relationships, interactions, and data exchanges – and quickly becomes hardly manageable. In addition, process-driven SOA models address different stakeholders, such as business experts and technical experts, who require different kinds of information for their work. Finally, process-driven SOA models must deal with constant changes – both at the business level (e.g. business concept changes) and the technical level (e.g. technology and platform changes).

One of the successful approaches to manage complexity is separation of concerns. Process-driven SOAs use a specific realization of this principle, modularization: Services expose standard interfaces to processes and hide unnecessary details for using or reusing. This helps in reducing the complexity of process-driven SOA models, but from the modelers’ point of view this is often not enough to cope with the complexity challenges explained above, because modularization only exhibits a single perspective of the system focusing on its (de-)composition. Other – more problem-oriented – perspectives, such as a business-oriented perspective or a technical perspective (used as an example above), are not exhibited to the modeler. In the field of software architecture, architectural views have been proposed as a solution to this problem. An architectural view is a representation of a system from the perspective of a related set of concerns. The architectural view concept offers a separation of concerns that has the potential to resolve the complexity challenges in process-driven SOAs, because it offers more tailored perspectives on a system, but it has not yet been exploited in process modeling languages or tools.

Inspired by the concept of architectural views, we suggest a view-based approach to modeling of process-driven SOAs. Namely, perspectives on business process models and service interactions – as the most important concerns in process-driven SOA – are used as central views in our approach. The approach is extensible with all kinds of other views. In particular, our approach offers separated views, in which each of them represents a certain part of the processes and services, such as the collaboration view, the information view, the flow view, etc. These views can be viewed separately to get a better understanding of a specific concern, or they can be integrated to produce a richer view or a thorough view of the processes and services.

Our concepts are realized in terms of a framework, namely, View-based Modeling Framework (VbMF), for process-driven SOAs using the model-driven software development paradigm. VbMF provides three major contributions: firstly, it captures different perspectives of a business process model in separate, (semi-)formalized views; secondly, it separates different abstraction levels in a business process architecture; thirdly, it is an extensible model-driven approach to integrate the different view models and abstraction levels. Moreover, VbMF automatically generates platform-specific descriptions and executable code of business processes in WSDL and BPEL.

2. A View-based and Model-driven Approach

Our approach provides a number of foundational modeling elements such as a meta-model, view models, and view instances (see Figure 1). A view model is a representation of a process from the perspective of related concerns. In VbMF, a view is specified using a relevant framework’s view model. Each view model is a (semi-)formalized representation of a particular business process concern. Therefore, the view model specifies entities and their relationships that can appear in the correspondent view instance. The view models, in turn, are defined on top of the meta-model which is the Eclipse Modeling Framework meta-model. VbMF defines a number of view models, one for each architectural view. A view model at a lower abstraction level is defined as an extension of the view models at higher levels. At the heart of VbMF is the Core view model from which each view meta-model is derived. Example view models that we have derived from the Core model include the following views: Collaboration, Control Flow, Information, Transaction, Human View, and so on. Based on the view models, we derive particular view instances. For specific technologies, for instance, BPEL and WSDL, we provide extension meta-models which comprise additional details required to depict the specifics of these technologies. Figure 1 shows the relevant BPEL-specific view models of those aforementioned view models. Hence, we can use the distinction of Core view model, generic view models, and extension view models to handle different abstraction levels, including business-level concerns and technical concerns (see Figure 2).

Concepts

Figure 1. Fundamental concepts of the view-based, model-driven approach

Layer view

Figure 2. Layered architecture of the view-based, model-driven approach

 

Architecture

Figure 3. Top-down and bottom-up approach for process-driven SOAs in VbMF.

VbMF provides stakeholders both top-down and bottom-up approaches. The top-down approach consists of a forward engineering tool-chain (see Figure 3) in which the stakeholders can develop process-driven view models, can generate process code from these views, or can extend the modeling framework with other process concerns by adding new view models or by enhancing existing view models. The bottom-up approach provides a reverse-engineering tool-chain for adapting legacy process descriptions and integrating various modeling representations. During the reverse engineering process, high-level, abstract and low-level, technology-specific views on the process descriptions are recovered from the existing code. These tailored view instances can be put into a common repository, and then be re-used in other processes or be manipulated to re-generate new schematic executable code, which corresponds to changes in the corresponding view instances. This way, the reverse engineering approach helps stakeholders to get involved in process re-development and maintenance at different abstraction levels. Reverse engineering of business processes not only helps to adapt process models to stakeholder needs but also offers the ability to seamlessly integrate various process models into VbMF in order to enhance their interoperability.

3. Tool support

We realize the aforementioned tool-chain by facilitating the Eclipse Modeling Framework (EMF) and openArchitectureWare MDD Framework (see Figure 4). The most advantage of using Eclipse Modeling Framework is that we gain better integration and interoperability with existing development tools developed based on EMF Ecore, a MOF-compliant meta-model, and XMI, a standard for serializing models. The View-based Modeling Framework provides different editors for manipulating views, such as FlowView Editor, (Bpel)CollaborationView Editor, (Bpel)InformationView Editor, and so on. For the sake of demonstration, we mainly use the tree-based editors which are generated from our view models by the EMF generator. The template-based code generation rules are developed using the XPand language editor provided in openArchitectureWare. Using these rules, we can automatically generate process implementations including BPEL and WSDL descriptions.

VbMF IDE

Figure 4. The proof-of-concept of the view-based, model-driven approach for process-driven SOAs: (1) FlowView Editor, (2) (Bpel)InformationView Editor, (3) (Bpel)CollaborationView Editor, (4) Code generation template rules, and (5) Generated process code

4. People involved

5. User Guide

5.1 Create views using VbMF view editors

We provide simple high-level and low-level tree-based view editors such as Flow View, Collaboration View, Information View editors, by using EMF generator. Go to File > New > Other, or simply press Ctrl+N. In the upcoming dialog, go to View-based Modeling Framwork category, and choose the desired one to create its new instance (see Fig. 5). Otherwise, users can choose the VbMF HelloWorld Project to start with a HelloWorld process including some predefined views. A simple tree-based editor will be activated to support editing the selected view. In case you want to manipulate an existing view, just double-click on the view to activate the corresponding editor.

Figure 5. Creating new view with VbMF wizards

5.2 Gegnerate process implementation

Beside view manipulations, users can also quickly generate process implementation in BPEL and WSDL descriptions of the process under development. Just right-click on the Core Model of the process, then choose "Generating Process Code (WSBPEL/WSDL)" in the drop-down menu (or so-called the context menu) (see Fig. 6). A new folder "generate-code" will be created to store the generated code.

Figure 6. Generating process implemetation

5.4 Extract views from process implementation Starting from scratch is an expensive option in software development. Therefore, we devise a view-based reverse engineering approach that can support users to extract views from existing process implementation in BPEL/WSDL.

To facilitate the view-based reverse engineering, users just right-click on the BPEL file and choose "Extract View" in the drop-down menu. A new folder "generate-view" will be created to store the views extracted from the corresponding process implementation (see Fig.7).

Figure 7. Extracting views from process implementation

Note: we assume that there is a WSDL file delacring Web service interfaces for a BPEL process. The BPEL and WSDL files have the same name but different extensions. For instance, the HelloWorld project contains a process specification in Hello.bpel and Web service interfaces of that process in Hello.wsdl.

6. Developer Guide

6.1. Setup hosting environment (Eclipse and Eclipse EMF)

VbMF has been implemented using the Eclipse Modeling Framework (EMF) and openArchitectureWare (oAW), a model-driven software development tool. The current version of VbMF runs inside Eclipse development environment with appropriate plugins.

6.2. Get VbMF sources

VbMF source code is available here or by our internal SVN (for DSG members only). VbMF is an open source software. You can find a MIT/BSD-like license attached.

6.3. Import VbMF projects into the active Eclipse workspace

The current version of VbMF is delivered as Eclipse projects which can be easily imported by choosing menu File > Import, then choose Existing Projects into Workspace. In the next dialog, browse for the directory containing VbMF projects. Eclipse will recognizes and imports VbMF into the active workspace. VbMF includes the main projects, namely, at.ac.tuwien.vitalab.vb, and other projects, namely, at.ac.tuwien.vitalab.vb.edit, at.ac.tuwien.vitalab.vb.editor, at.ac.tuwien.vitalab.vb that offer the user interface and view editors generated from the main project (see Fig. 8).

Figure 8. VbMF source code organized as Eclipse plugin projects

7. License

            Copyright (c) 2007-2010 Vienna University of Technology, Austria. All rights reserved.

            Developed by: Distributed Systems Group,
                          Information Systems Institute,
                          Vienna University of Technology, Austria.
                          http://www.infosys.tuwien.ac.at

            Permission is hereby granted, free of charge, to any person obtaining a copy
            of this software and associated documentation files (the "Software"), to
            deal with the Software without restriction, including without limitation the
            rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
            sell copies of the Software, and to permit persons to whom the Software is
            furnished to do so, subject to the following conditions:

              1. Redistributions of source code must retain the above copyright notice,
                 this list of conditions and the following disclaimers.
              2. Redistributions in binary form must reproduce the above copyright
                 notice, this list of conditions and the following disclaimers in the
                 documentation and/or other materials provided with the distribution.
              3. Neither the names of Distributed Systems Group, Information Systems
                 Institute, Vienna University of Technology, Austria, nor the names
                 of its contributors may be used to endorse or promote products derived
                 from this Software without specific prior written permission.

            The Software is provided "as is", without warranty of any kind, express or
            implied, including but not limited to the warranties of merchantability,
            fitness for a particular purpose and noninfringement.  in no event shall the
            contributors or copyright holders be liable for any claim, damages or other
            liability, whether in an action of contract, tort or otherwise, arising
            from, out of or in connection with the Software or the use or other dealings
            with the Software.
              
Last update: 2010-10-04
Valid XHTML 1.0 Strict