授课教师:李海宽
国籍:荷兰
职称:客座教授
教师简介(中英文):李海宽博士毕业于北京大学,获荷兰代尔夫特理工大学博士学位,在欧洲学术界和工业界从事理论研究与工业实践凡30年。从上世纪90年代初开始,李海宽博士就从事人工智能、动态程序设计与软件复用的学术研究,与荷兰科学家、代尔夫特理工大学教授 J. van Katwijk、M. Looijen和H.G. Sol一起提出了大规模软件复用的概念和模型。之后,他在欧洲一家国际知名企业的战略部工作,负责策划软件战略并亲自主持基于机器学习的大型复杂系统重构项目。李海宽博士曾出版大规模软件复用技术相关专著并就所研究的内容多次在国际会议上发表主题演讲。近年来,在欧洲主持多项国际合作研究项目,涉及机器翻译、智能信息处理与跨语言电子商务等,其主要成果与项目核心技术已在荷兰登记注册,拥有自主知识产权。他目前的研究兴趣为大数据时代的软件开发范式(Paradigm),涉及数据化,智能化,架构化与集约化等-系列软件开发的前沿技术。
Mr. H. Li was director of CLEBA International Research, the Netherlands, who graduated from Peking University, Beijing, China and received PhD from Delft University of Technology, the Netherlands. He has about 30 years’ experience in the European academic and industry society. Starting before 1990s he was engaged in academic research on artificial intelligence, software reuse, dynamic software programming and co-developed concepts and models of software reuse-in-the-large with Prof. J. van Katwijk, Prof. M. Looijen and Prof. H.G. Sol of Delft University of Technology, the Netherlands. Later on he served for a strategic department of a major European company, planning software reuse strategies and chairing a project on re-architecting large and complex systems. He published a professional book on application reuse-in-the-large and presented keynote speeches in international conferences. Furthermore he had chaired an international research department for years on accurate machine translation, cross-language e-business and intelligent information processing, resulting a set of intellectual properties. His current research interests are on software development paradigm in the era of big data, regarding to the software development technology of datafication, intelligent, architecturalization and Intensification.
课程简介(中英文):本课程将讨论动态程序设计,一种新型的智能软件开发模式。在这个软件定义与万物互联的时代,传统的程序设计模式行将淡出,代之而起的是动态程序设计。传统意义下的程序设计以静态程序组件构建系统;而动态程序设计则以动态组件构建系统。动态组件可以是软件定义的任何事物或正在运行的系统或应用。动态程序设计的集成性、智能化、自主性、动态性,演化性以及不确定性等构成了这种程序设计模式的重要特征。 动态组件的动态特性将使系统架构在运行期间动态变化,从而导致动态架构的产生。 这种动态架构与动态组件构成了动态程序设计的基本要素;而其智能化特征不仅为软件开发带来了新的优势,同时也将为设计本身带来了新的挑战。另外,本课程还将介绍主讲老师和他的同事们多年来为开拓这一新的软件工程邻域所付出的努力。
In this course we are going to discuss dynamic software programming - a new paradigm for intelligent software development. In the era of software defined and internet of everything, most of our activities in software development will be dynamic software development or in other words, dynamic software programming. Programming in the traditional sense uses (static) program components to build systems; while dynamic software programming uses active components to build systems. The active components can be processes, running systems or any software defined things in operation. The autonomous, uncertainty, dynamic, evolution, user inclusive and intelligent nature of these components constitute important features of dynamic software programming. The dynamic feature of the active components makes the system architecture changing dynamically during runtime, resulting in dynamic architectures. Dynamic architecture and active components are the basic elements of system development. In addition, the intelligent features of dynamic software programming will bring not only advantages, but also challenges to software engineering. In addition, this course will also introduce the efforts that the lecturer and his colleagues have made over the years to explore this new field of software engineering.