department menu
Yongjie Zheng

Yongjie Zheng

Associate Professor, CSM Computer Science and Information Systems


Office: Science Hall 2 341

Yongjie Zheng

I received my Ph.D. degree from the School of Information and Computer Sciences at the University of California, Irvine in 2012. I received my Master's degree from the Hong Kong Polytechnic University and received my Bachelor's degree from the Tsinghua University, both in the computer science major.

My research interests include software engineering, software architectures, software product lines, and self-adaptive software systems. My current research focuses on architecture-implementation mapping that automatically processes the architectural model to generate, update, and identify the corresponding implementation in source code to maintain their conformance. This is essential to the wide application of software architectures to address the increasing complexity and variability of modern software systems. My students and I have developed novel techniques, including 1.x-way mapping and 1.x-line mapping, to support evolutions of both single software systems and software product lines. In particular, we built software tools (e.g., xMapper, xLineMapper) to realize these techniques and successfully applied them to real software systems (e.g., Apache Solr). 

Education

Research

My research addresses implementing software architecture, maintaining architecture-implementation conformance during architectural evolution, and tracing architectural implementation in source code. The following is a list of research projects that I have worked on.


1.x-Line Mapping for Software Product Line Development

Architecture-implementation mapping is a process of converting architecture specifications to and from source code with the goal of maintaining their conformance. 1.x-line mapping addresses architecture-implementation mapping during development and evolution of a family of software products that have extensive commonality (i.e., software product line). This is a challenge that fails to be addressed by existing approaches. The 1.x-line approach can trace a product line feature to the architecture and source code, and automatically update the architecture and source code to maintain their conformance when feature changes occur. We implemented an Eclipse-based toolset named xLineMapper to support the approach and conducted a case study with the Apache Solr open-source system. More detailed introduction of 1.x-line mapping can be found in our ICSA 2017 paper and in our ACM TOSEM paper.

A video demo of the xLineMapper tool that we built is available online.


1.x-way mapping for single system development

Architecture-implementation mapping is a process of converting architecture specifications to and from source code with the goal of maintaining their conformance. Depending on which artifacts can be manually changed, there are approaches of one-way mapping and two-way mapping. 1.x-way mapping is a new approach that only allows changes to be initiated in the architecture (“1”) and a separated portion of the code (“.x”). Suppression of manual changes of architecture-prescribed code, automatic mapping of specific kinds of architecture changes to code in specific ways, and support for behavioral mappings are three most important features of 1.x-way mapping. We built a tool called xMapper for 1.x-way mapping in the ArchStudio architecture development environment. More detailed introduction of 1.x-way mapping can be found in our ICSE 2012 paper and in our ACM TOSEM paper.

A video demo of the xMapper tool that we built is available online.


ArchFeature Product Line Architecture Modeling

ArchFeature is a modeling approach and tool that we developed to reduce the overhead and effort involved in product line architecture modeling. It specifically addresses the difficulty of manually editing and updating guard conditions accompanied with variation points in the PLA (i.e. variability modeling), and the cognition overhead of identifying feature-related architecture elements. ArchFeature extends an existing XML-based architecture description language, xADL and integrates feature specification into the product line architecture model. It then provides tool support to fully automate operations such as variability modeling, development and maintenance of feature-architecture relationships, and derivation of architecture instances for a product of the product line. ArchFeature allows us to easily create and maintain a product line architecture model, so that we can focus on the research on implementation and evolution of product line architectures.

A video demo of ArchFeature is online.   

Courses

Fall 2018

CS 311 - Data Structures

CS 441 - Software Engineering

Spring 2019

TBD.

Vitae

Publications

Journal Articles
  1. Yongjie Zheng, Cuong Cu, and Richard N. Taylor. 2018. Maintaining Architecture-Implementation Conformance to Support Architecture Centrality: From Single System to Product Line DevelopmentACM Transactions on Software Engineering and Methodology. 27, 2, Article 8 (June 2018), 52 pages.
  2. Yongjie Zheng and Richard N. Taylor. A classification and rationalization of model-based software development, Expert's Voice, Software and Systems Modeling 12 (4), 669-678, October 2013.
  3. Yongjie Zheng and Alvin T.S. Chan. MobiGATE: A Mobile Computing Middleware for the Active Deployment of Transport Services, IEEE Transactions on Software Engineering, Jan 2006, vol. 32, no. 1, pp 35-50. 
  4. Yongjie Zheng, Alvin T.S. Chan, and Grace Ngai. Applying Coordination for Service Adaptation in a Mobile Computing Environment, IEEE Internet Computing, Sep/Oct 2006, pp. 61-67, vol. 10, no. 5, IEEE.
  5. Yongjie Zheng, Alvin T.S. Chan, and Grace Ngai. MCL: A MobiGATE Coordination Language for Highly Adaptive and Reconfigurable Mobile Middleware, Sofware Practice and Experience, special issue on Auto-adaptive and Reconfigurable Systems, 36(11-12), pp1355-1380, 2006.
Conference Proceedings and Workshops
  1. Yongjie Zheng, Cuong Cu, and Hazeline U. Asuncion. Mapping Features to Source Code through Product Line Architecture: Traceability and Conformance. 2017 IEEE International Conference on Software Architecture (ICSA 2017, formerly WICSA), Gothenburg, Sweden, 2017, pp. 225-234. Acceptance rate: 22% (21/95).
  2. Gharib Gharibi and Yongjie Zheng. ArchFeature: A Modeling Environment Integrating Features into Product Line Architectures. ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS 2016), Tool Demonstrations, Saint Malo, Brittany, France, October 02 - 07, 2016.
  3. Cuong Cu and Yongjie Zheng. Architecture-Centric Derivation of Products in a Software Product Line. In Proceedings of the 8th International Workshop on Modeling in Software Engineering (MiSE 2016), held in conjunction with the 38th International Conference on Software Engineering, pp. 27-33, Austin, TX, May 14 - 22, 2016.
  4. Yongjie Zheng and Cuong Cu. Towards Implementing Product Line Architecture. In Proceedings of the 1st International Workshop on Bringing Architectural Design Thinking into Developers' Daily Activities (Bridge 2016), held in conjunction with the 38th International Conference on Software Engineering, pp. 5-10, Austin, TX, May 14 - 22, 2016.
  5. Gharib Gharibi and Yongjie Zheng. ArchFeature: Integrating Features into Product Line Architecture. In Proceedings of the 31st Annual ACM Symposium on Applied Computing (SAC 2016), Track on Software Architecture: Theory, Technology, and Applications (SA-TTA), pp. 1302-1308, Pisa, Italy, April 04 - 08, 2016.
  6. Yongjie Zheng and Richard N. Taylor. Enhancing Architecture-Implementation Conformance with Change Management and Support for Behavioral Mapping. In Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), pp. 628-638, Zurich, Switzerland, June 02 - 09, 2012. Acceptance rate: 21% (87/408).
  7. Yongjie Zheng and Richard N. Taylor. xMapper: An Architecture-Implementation Mapping Tool. In Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), Informal Research Demonstration, pp. 1461-1462, Zurich, Switzerland, June 02 - 09, 2012.
  8. Yongjie Zheng and Richard N. Taylor. Taming Changes With 1.x-Way Architecture-Implementation Mapping. In Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), pp. 396-399, Lawrence, Kansas, November 6 - 10, 2011.
  9. Yongjie Zheng. 1.x-Way Architecture-Implementation Mapping. In Proceedings of the 33rd International Conference on Software Engineering (ICSE 2011), Doctoral Symposium, pp. 1118-1121, Honolulu, Hawaii, May 21 - 28, 2011.
  10. Yongjie Zheng and Alvin T. S. Chan. Coordinated Composition of Services for Adaptive Mobile Middleware. In Proceedings of the 11th IEEE Symposium on Computers and Communications (ISCC 2006), pp. 789-794, Calkiari, Sardinia, Italy, June 26 - 29, 2006.
  11. Yongjie Zheng and Alvin T. S. Chan. Stream Composition for Highly Adaptive and Reconfigurable Mobile Middleware. In Proceedings of the 28th Annual International Computer Software and Applications Conference (COMPSAC 2004), pp. 122-127, Hong Kong, 28 - 30 September, 2004.
  12. Yongjie Zheng and Alvin T.S. Chan. MobiGATE: A Mobile Gateway Proxy for the Active Deployment of Transport Entities. In Proceedings of the 33rd IEEE International Conference on Parallel Processing (ICPP 2004), pp. 566-573, Montreal, Quebec, Canada, 15 - 18 August, 2004.

Custom Tab 2