黄罡
博士 教授 博士生导师
北京大学 信息科学技术学院
个性化签名
- 姓名:黄罡
- 目前身份:在职研究人员
- 担任导师情况:博士生导师
- 学位:博士
-
学术头衔:
博士生导师
- 职称:高级-教授
-
学科领域:
计算机软件
- 研究兴趣:
黄罡,男,博士,1975年10月出生于湖南株洲,北京大学教授、博导,软件研究所副所长,操作系统研究中心主任,中国青年科技奖、中国计算机学会青年科学家奖、全国优秀博士学位论文获得者。
分别于1997年和2000年在西北工业大学取得学士和硕士学位;2003年在北京大学取得博士学位。
长期从事系统软件领域的教学与科研工作,在国家重点研发计划、国家高技术研究发展计划(863)、国家自然科学基金、中美自然科学基金联合研究、欧盟第七框架等项目支持下,针对自适应软件的可变性、可达性和可用性问题,从复杂自适应系统的视角,提出一套基础化、系统化、普适化的基于运行时体系结构的自适应软件模型与方法,在自适应软件计算反射原理、运行时模型驱动方法、自适应系统的软件定义方法等方面取得突破,研制的技术与系统在企业计算、云计算、大数据和区块链等领域得到广泛应用。先后获2007年国家技术发明二等奖(个人排名第三)、2012年国家自然科学二等奖(排名第二)、2015年高等学校科技进步一等奖(排名第一)、2018年国家技术发明一等奖(排名第二)以及十余次国际会议和期刊最佳/优秀论文等荣誉。
现任中国电子学会青年科学家俱乐部副主席、中国电子学会云计算与大数据青年科学家专委会主任、中国计算机学会专委工作委员会副主任、IEEE商业信息化与系统技术委员会执行委员、中国新一代IT产业推进联盟技术委员会主任、北京市大数据工作领导小组专家咨询组专家。曾任ACM/IFIP/USENIX Middleware、IEEE COMPSAC、IEEE SOSE、“一带一路”青年创新大会等国际会议程序委员会主席或大会主席、ISO/JTC云计算国际标准以及Java国际标准专家组成员。
-
主页访问
102
-
关注数
1
-
成果阅读
694
-
成果数
19
Journal of Systems and Software,2011,84(7):1160-1170
2011年07月01日
Being a popular runtime infrastructure in the era of Internet, middleware provides more and more services to support the development, deployment and management of distributed systems. At the same time, the reliability of middleware services has a significant impact on the overall reliability of the system. Different services have different impacts and different service fault-tolerance solutions have different costs and risks. Therefore, the identification of the services that greatly affect the whole system reliability is the major obstacle to achieving reliable middleware-based systems. In this paper, we present an analytical framework to automatically reason and quantify such impacts when deploying the target system. In this framework, faults are represented by exceptions in modern programming languages; service failures are simulated by software fault injection; reliability impacts are measured by scenarios. This framework is demonstrated on multiple JEE application servers, including JBoss, JonAS and PKUAS. The experiments on two JEE blueprint applications, namely JPS and ECperf, show the feasibility, the applicability and the usability of this framework.
Reliability, Middleware service, Impact analysis, Software implemented fault injection
0
-
58浏览
-
0点赞
-
0收藏
-
0分享
-
0下载
-
0评论
-
引用
【期刊论文】Supporting runtime software architecture: A bidirectional-transformation-based approach
Journal of Systems and Software,2011,84(5):711-723
2011年05月01日
Runtime software architectures (RSA) are architecture-level, dynamic representations of running software systems, which help monitor and adapt the systems at a high abstraction level. The key issue to support RSA is to maintain the causal connection between the architecture and the system, ensuring that the architecture represents the current system, and the modifications on the architecture cause proper system changes. The main challenge here is the abstraction gap between the architecture and the system. In this paper, we investigate the synchronization mechanism between architecture configurations and system states for maintaining the causal connections. We identify four required properties for such synchronization, and provide a generic solution satisfying these properties. Specifically, we utilize bidirectional transformation to bridge the abstraction gap between architecture and system, and design an algorithm based on it, which addresses issues such as conflicts between architecture and system changes, and exceptions of system manipulations. We provide a generative tool-set that helps developers implement this approach on a wide class of systems. We have successfully applied our approach on JOnAS JEE system to support it with C2-styled runtime software architecture, as well as some other cases between practical systems and typical architecture models.
Software architecture, Bidirectional transformation, Runtime system management
0
-
44浏览
-
0点赞
-
0收藏
-
0分享
-
0下载
-
0评论
-
引用
【期刊论文】Towards accuracy of role-based access control configurations in component-based systems
Journal of Systems Architecture,2011,57(3):314-326
2011年03月01日
Access control is a common concern in most software applications. In component-based systems, although developers can implement access control requirements (ACRs) by simply declaring role-based access control configurations (ACCs) of components, it is still difficult for them to define and evolve ACCs accurately implementing ACRs due to the gap between the complex high-level ACRs and the voluminous ACCs enforced by underlying middleware platforms, and the ad hoc mistakes of human. This paper introduces and clarifies the concept of accuracy of ACCs relative to ACRs, and presents a set of metrics and algorithms which can be used to automatically evaluate and improve accuracy of ACCs by evaluating and reconfiguring the software architecture with ACCs. We apply our achievements in a composed e-shop application.
Software architecture, Access control, Accuracy, Component-based system
0
-
32浏览
-
0点赞
-
0收藏
-
0分享
-
0下载
-
0评论
-
引用
【期刊论文】Towards architecture-based management of platforms in the cloud
Frontiers of Computer Science,2012,6():388–397
2012年08月03日
System management is becoming increasingly complex and brings high costs, especially with the advent of cloud computing. Cloud computing involves numerous platforms often of virtual machines (VMs) and middleware has to be managed to make the whole system work cost-effectively after an application is deployed. In order to reduce management costs, in particular for the manual activities, many computer programs have been developed remove or reduce the complexity and difficulty of system mamnagement. These programs are usually hard-coded in languages like Java and C++, which bring enough capability and flexibility but also cause high programming effort and cost. This paper proposes an architecture for developing management programs in a simple but powerful way. First of all, the manageability of a given platform (via APIs, configuration files, and scripts) is abstracted as a runtime model of the platform’s software architecture, which can automatically and immediately propagate any observable runtime changes of the target platforms to the corresponding architecture models, and vice versa. The management programs are developed using modeling languages, instead of those relatively low-level programming languages. Architecture-level management programs bring many advantages related to performance, interoperability, reusability, and simplicity. An experiment on a real-world cloud deployment and comparisonwith traditional programming language approaches demonstrate the feasibility, effectiveness, and benefits of the new model based approach for management program development.
无
0
-
34浏览
-
0点赞
-
0收藏
-
0分享
-
0下载
-
0评论
-
引用
【期刊论文】Internetware: A Software Paradigm for Internet Computing
Computer,2012,45(6):26 - 31
2012年05月08日
To meet the needs of computing in the Internet environment, the Internetware software paradigm provides a set of technologies that support the development of applications with characteristics that are autonomous, cooperative, situational, evolvable, emergent, and trustworthy.
无
0
-
28浏览
-
0点赞
-
0收藏
-
0分享
-
0下载
-
0评论
-
引用
【期刊论文】A new software paradigm for Internet computing
National Science Review,2013,1(2):168–169
2013年11月21日
无
无
0
-
31浏览
-
0点赞
-
0收藏
-
0分享
-
0下载
-
0评论
-
引用
【期刊论文】Model-Based Automated Navigation and Composition of Complex Service Mashups
IEEE Transactions on Services Computing,2014,8(3):494 - 506
2014年08月13日
Service computing promotes a large number of web-delivered services, including web services, APIs and data feeds. Composing data, functionalities and even UI from these web-delivered services into a single web application, usually called service mashup, becomes a popular web development paradigm. The web-delivered services can be modeled as mashup components, while the development of mashup actually yields a set of inter-connected mashup components. The growing popularity of mashup components enriches functionality and user experiences, while the possible connections among components are complex and difficult to mashup developers, who might be non-professional programmers or even end-users, as actions over one component may have potential impacts on another. This paper proposes a novel approach for recommending developers in terms of navigation and completion of mashup components with a large-scale components repository. From data-driven perspective, we model the relationships between mashup components by a generic layered-graph model. Developers are allowed to select some initial components as starting point, while a graph-based algorithm recommends how to navigate to potentially relevant mashup components and complete the relevant mashup application. We experimentally demonstrate the efficiency and effectiveness of our approach for rapid mashup construction.
无
0
-
43浏览
-
0点赞
-
0收藏
-
0分享
-
0下载
-
0评论
-
引用
【期刊论文】Data-Driven Composition for Service-Oriented Situational Web Applications
IEEE Transactions on Services Computing,2014,8(1):2 - 16
2014年02月05日
The convergence of Services Computing and Web 2.0 gains a large space of opportunities to compose “situational” web applications from web-delivered services. However, the large number of services and the complexity of composition constraints make manual composition difficult to application developers, who might be non-professional programmers or even end-users. This paper presents a systematic data-driven approach to assisting situational application development. We first propose a technique to extract useful information from multiple sources to abstract service capabilities with a set tags. This supports intuitive expression of user's desired composition goals by simple queries, without having to know underlying technical details. A planning technique then exploits composition solutions which can constitute the desired goals, even with some potential new interesting composition opportunities. A browser-based tool facilitates visual and iterative refinement of composition solutions, to finally come up with the satisfying outputs. A series of experiments demonstrate the efficiency and effectiveness of our approach.
无
0
-
24浏览
-
0点赞
-
0收藏
-
0分享
-
0下载
-
0评论
-
引用
【期刊论文】Runtime model based approach to IoT application development
Frontiers of Computer Science,2015,9():pages540–5
2015年06月06日
The internet of things (IoT) attracts great interest in many application domains concerned with monitoring and control of physical phenomena. However, application development is still one of the main hurdles to a wide adoption of IoT technology. Application development is done at a low level, very close to the operating system and requires programmers to focus on low-level system issues. The underlying APIs can be very complicated and the amount of data collected can be huge. This can be very hard to deal with as a developer. In this paper, we present a runtime model based approach to IoT application development. First, the manageability of sensor devices is abstracted as runtime models that are automatically connected with the corresponding systems. Second, a customized model is constructed according to a personalized application scenario and the synchronization between the customized model and sensor device runtime models is ensured through model transformation. Thus, all the application logic can be carried out by executing programs on the customized model. An experiment on a real-world application scenario demonstrates the feasibility, effectiveness, and benefits of the new approach to IoT application development.
无
0
-
40浏览
-
0点赞
-
0收藏
-
0分享
-
0下载
-
0评论
-
引用
IEEE Transactions on Services Computing,2016,12(1):6 - 19
2016年07月07日
Mobile Web applications (a.k.a., Web apps) stand for an important trend for next-generation Internet-based software. Currently popular mobile Web apps need to be adapted to various and ever-changing contexts and personalized user requirements. Based on our over-decade research experiences and practice on the Internetware paradigm, this position article describes an Internetware-oriented approach to designing, developing, and deploying situational mobile Web apps, by synthesizing the resources and services of mobile and cloud. Guided by a novel Service-Model-View-Controller (SMVC) software model, a mobile Web app is organized into a well-defined structure that facilitates adaptation including online/offline data access, computation offloading, user interface optimization, hybrid composition, etc. We provide efficient runtime support spanning mobile and cloud to make mobile Web apps more flexibly adaptive. The proof-of-concept evaluation demonstrates that our approach can benefit end-users with optimized user experience of mobile Web apps.
无
0
-
29浏览
-
0点赞
-
0收藏
-
0分享
-
0下载
-
0评论
-
引用