29 research outputs found
法律与道德的分立是否可能——哈贝马斯对分析实证主义法学的批评与突破
作为和自然法学派对立的法学思潮,分析实证主义法学强调法律与道德的分离,以合法律性论证法律规范的合法有效性,坚决地将法律规范设计成为一个封闭的体系。尽管分析实证主义法学取得了不少成果,但还是存有严重的缺陷。哈贝马斯在考察了分析实证主义法学的研究成果之后,对其作出了中肯的批评,试图通过他的商谈理论解决法律规范的有效性问题,并从合法有效性的角度,论述了道德与法律的关系,提供了不少可资借鉴的观点
斯蒂文森的伦理分歧理论
斯蒂文森揭示了语言的两种用法:描述事实性的信念、表达某种动态性的意义。伦理语言的典型特征就在于其动态性的意义是对情感的表达和引导,所以伦理分歧的根本原因在于情感态度的分歧。为了解决伦理分歧,既要通过理性的方法来澄清信念,又要借助非理性的劝导法。后者尤为重要,它通过促成双方态度的一致来达到伦理上的一致
The Research on Graphical Software Process Modeling Method with Rigorous Operational Semantics
``软件危机'',这一始于上世纪~60~年代的概念,始终伴随着软件业的整个历史发展进程。
为了解决该问题,人们逐渐开始借鉴一些传统领域内的管理理论、方法和工具,以期解决软件开发中所面临的问题。其中,更多的是作为一种管理哲学,而不是具体管理方法的全面质量管理(Total Quality Management,TQM),在软件工程领域得到了广泛应用。全面质量管理对于软件工程的影响,一个很重要的方面是促进了软件过程和软件过程改 进的研究、实践。
作为软件过程研究的重要内容,软件过程建模是通过特定的方法对软件过程进行抽象、表示和分析以增加对软件过程的理解,并通过直接或者间接的方式指导实际软件开发活动。为了对软件过程管理活动提供方法和工具支持,人们提出了多种以过程为中心的软件过程工程环境(Process-centered Software Engineering Environment, PSEE),其最终目的是使得实际软件开发活动受软件过程模型的支配。但由于过程模型本身的正确性得不到保证、PSEE中执行的软件过程模型和实际开发过程之间的信息反馈缺乏客观性以及过程模型和实际开发过程之间的抽象层次不同和描述粒度不一致,导致PSEE中执行的软件过程模型和实际开发过程之间经常产生严重的偏差,以至于PSEE对实际开发活动逐渐地失去了支持和指导作用,进而使得投入大量成本所开发的软件过程模型无法发挥其应有的作用。
针对这些问题,本文提出了一种具有严格操作语义的图形化软件过程建模方法。由于在具有图形化表示方式的同时,又具备严格的操作语义,因此基于该方法所描述的软件过程比较易于分析。特别是,通过模型检测技术验证软件过程模型本身的正确性,可以减少由模型错误所导致的不一致;通过比较预定义的过程模型和实际开发过程,可以发现两者间的不一致并及时地消除。同时,具有严格操作语义的软件过程建模方法,可以为软件过程执行提供良好的支持。
首先,本文提出了一种具有严格操作语义的图形化建模语言——TRISO/ML。该语言具有图形化的表示方式,可以更容易地为软件工程人员所接受,以及更好地满足过程表示对易用性和可理解性的需求。该语言同时具有严格的操作语义,可以映射到多元PI演算,从而能够更准确地描述软件过程,避免歧义的产生。更为重要的是,该语言从行为角度出发,能够以一致的方式描述软件过程中的各种实体及其相互间的并发、同步和通信。
其次,在TRISO/ML语言的基础之上,提出了一系列的软件过程分析方法。主要研究如何利用多元PI演算的理论、方法和工具以及软件验证技术,对软件过程进行分析和验证。软件过程分析的研究主要集中在如下两个方面:a)软件过 程模型本身正确性的验证,以确保该模型准确地描述了所希望表达的内容。b)比较两个过程模型是否等价。
然后,基于软件过程移动性概念,研究了如何通过软件过程结构的变化支持过程的动态执行。软件过程移动性概念反映了软件过程执行时,由于软件过程实体的动态交互,导致构成软件过程的实体及其相互间的关系不断地发生变化。
软件过程移动性这一概念的提出,使得软件过程实体之间的关系可以在软件过程执行时动态地确立和调整,软件过程的定义随着过程信息的不断丰富而逐步地细化和明确,从而能够以更灵活的方式支持软件过程的表示和执行。
最后,描述了支持TRISO/ML的原型工具,包括基于TRISO/ML的过程表示、多元PI演算语义描述的自动生成,以及进一步的分析和验证。The concept ``software crisis'' was coined in the 1960s and it has been plaguing the software development industry in the passed several decades. To address the crisis, the theories, methods and tools used for management in some traditional domains, such as the manufacture industry, are leveraged to solve the problems facing the software development community. Total Quality Management (TQM), as a philosophy rather than specific management methods, has been introduced and widely used in the software engineering literature. In particular, there has been significant progress in the research on software processes as a result of the TQM's introduction.
As part of the research on software processes, software process modeling is to provide effective means to represent and analyze a process and, by doing so, to enhance the understanding of the modeled process. In addition, an enactable process model can provide direct guidance on how an actual development process should proceed. A lot of Process-centered Software Engineering Environments (PSEE) have been developed to support the management of software process activities. The ultimate goal of PSEE is to ensure that an actual development process is governed by the process model executed in PSEE's virtual environment. However, the actual development process tends to deviate from the process model executed in PSEE because of possible errors in the process model definitions, the subjectivity of the feedback from the actual development process to PSEE and a different level of abstraction and granularity used by process models to describe process entities. The deviation is often so obvious that PSEE can not provide guidance and concrete support to the performance of actual development processes and they are rejected by users. Furthermore, the process models that have been developed with a substantial investment do not play the role as they are intended to be.
To address these problems, a graphical software process modeling method, but with rigorous operational semantics, is proposed in this paper. The rigorous operational semantics enables a process to be more amenable to analysis. In particular, model checking techniques can be employed to check the correctness of process models and, thus, the deviations resulted from errors in process models will be partially avoided. The equivalence checking between a process model and the underlying model reflecting how the actual development process proceeds is very helpful to detect and locate the deviations between the actual development process and the process model executed in PSEE and to reconcile them in a timely fashion. In addition, substantial support can be provided to the execution of processes when rigorous operational semantics is available.
Firstly, TRISO/ML, a graphical process modeling language but with rigorous operational semantics, is proposed. With comprehensible visual notations, it is more likely to be accepted by software engineers and better serve the requirements of process representation. On the other hand, the rigorous operational semantics in polyadic PI-calculus is greatly helpful to precisely describe software processes and reduce ambiguities in process definitions. Another predominant characteristic of TRISO/ML is that all process entities and the concurrency, synchronization, and communication among them are coherently described from the behavior point of view.
Secondly, several methods are proposed for verifying and analyzing software processes in TRISO/ML. They are centered on how to apply those theories, methods and tools of polyadic PI-calculus and software verification techniques to verifying and analyzing software processes. The research can be classified into two categories: a) the correctness checking of process models to ensure that a process model will behave as expected. b) to decide if two process models are equivalent.
Thirdly, based on the novel concept of software process mobility, the research on how to support the dynamic execution of a process by adjusting its running-time structure is presented. The concept ``software process mobility'' reflects the intrinsic feature of software processes that process entities and relationships among them are always changing as a result of interactions among entities. The introduction of software process mobility enables the relationships among process entities to be dynamically created and adapted during the execution of a process and a process to be incrementally refined and clarified when more and more information about the process is available. Thus, the flexibility in the representation and execution of processes is substantially increased.
Finally, a prototype for TRISO/ML is presented, which supports the modeling of processes with visual notations of TRISO/ML, the automatic generation of polyadic PI-calculus descriptions from a graphical TRISO/ML process, and the verification and analysis of software processes
The Characteristics and Functions of Normative Judgment
事实判断以事实为描述对象,其语气是直陈的,具有真或假的特征。价值判断可分为评价判断与规范判断。评价判断直接反映主体与客体之间的价值关系这一价值事实,其语气可能是直陈的,也可能是感叹的。相对于特定的主体,直陈的评价判断也具有真或假的特征,而感叹的评价判断则无真假之分,只有真诚与否的差别。规范判断不直接描述价值事实,其语气是祈使性的,只有合理不合理之分而无真假、真诚不真诚之分。规范判断具有提供关于行动的知识、引导主体行为、表达态度或者情感、建构和维持社会共同体的功能。The factual judgment whose tone is indicative describes "fact" and has the feature of "true/false".Value judgment can be divided into evaluative and normative kind.The evaluative judgment reflects on"value fact"directly which means the value relationship between subject and object.Its tone can be indicative or emotive.For specific subject,indicative kind has the feature of"true/false",while emotive one is only distinguished by whether expressed sincerely or not.Normative judgment does not tell "value fact" directly.It is imperative or introductory and does not have the feature of "true/false",sincere or not,but only reasonable or not.In general,normative judgment has functions of providing knowledge about action,guiding concrete behavior,expressing emotion,and constructing and maintaining social community.国家社会科学基金项目“调整人与自然关系规范的系统性研究”(11BZX027);; 教育部人文社会科学基金项目“语言分析与规范判断”(12YJC720048
The Refutation and Vindication of "Open Question" Argument:Trend in Contemporary Western Meta-ethics
20世纪初,直觉主义者摩尔以“开放性问题“的论证来反对自然主义用自然性质给“善“下定义,主张“善“只能靠直觉去把握。但因为“直觉“难以言明,所以不能彻底驳倒自然主义。其后的非认知主义者黑尔通过揭示道德语言的用法,强调评价功能是道德语言的特殊性,为“开放性问题“的论证提供新辩护。作为应对,自然主义者既通过“性质综合同一性定义“的理论继续反驳该论证,又揭示了非道德语词也可能具有的评价功能,回应了非认知主义的批评,以新自然主义的方式再度复兴。在关于“开放性问题“论证的长期争论过程中,西方元伦理学的各流派此起彼伏,纷至沓来,形成了西方元伦理学百家争鸣的局面。全面把握上述论争和走向,对于国内元伦理学的发展具有借鉴意义。In the early 20th century,Moore,a representative figure of intuitionalism,refuted the naturalistic practice of defining "good"according to natural properties with the "open question" argument,and proposed that 'good'can only be attained by intuition.Subsequently,Hare,a non-cognitivist,provided a new vindication for this argument by clarifying through his research on the usage of moral language that the particularity of moral language lies in its evaluative function.In response,the naturalists presented new points of view: on the one hand,they continued to raise counter-arguments on the theoretical basis of "synthetically identified moral and natural properties";on the other hand,they responded to the non-cognitivist criticism by explicating the possible evaluative function of non-moral language,which brought about a revival in the form of neo-naturalism.It is during the long-standing heated debate over the open question argument that diverse schools of thought came into being in the field of meta-ethics,and underwent ups and downs,which results in the general trend of contending currents coexisting in contemporary western meta-ethics
heuristic symbolic verification of safety properties for parameterized systems
参数化系统(paramterized system)是指包含特定有限状态进程多个实例的并发系统,其中的参数是指系统内进程实例的数目,即系统的规模.反向可达性分析(backward reachability analysis)已被广泛用于验证参数化系统是否满足以向上封闭(upward-closed)集合表示的安全性(safety property).与有限状态系统验证相类似,参数化系统的验证同样也面临着状态爆炸(state explosion)问题,并且模型检测算法的有效性依赖于如何采用有效的数据结构表示状态集合.针对表示无穷状态的向上封闭集合,研究人员提出了多种基于约束(constraint-based)的符号表示方法.但这些方法依然面临着符号状态爆炸(symbolic state explosion)问题或者其包含判定问题,即判断一个约束条件集合符号化表示的实际状态集合是否为另一约束条件集合所对应的状态集合的子集,是Co-NP完全问题.因此,虽然有限状态验证技术能够验证一些具有一定规模的问题,但现有针对参数化系统的验证方法所能解决的问题的规模较为有限,需要近一步提高模型检测算法的效率.针对参数化系统提出了加快反向可达性分析的多个启发式规则,实验结果表明,这些启发式规则可以使算法的效率提高几个数量级,从而有助于解决现有参数化系统验证方法所存在的问题
design and implementation of software process modeling system based on algebra
软件过程建模的主要目的是建立组织内软件开发过程的模型,使得软件开发过程在整个组织内获得一致的理解,进而提高软件开发效率和改进软件生产质量.软件过程建模语言一方面要易于理解、具有较强的表达能力,同时也要易于分析和验证,以保证所要描述的软件过程的正确性.介绍了基于代数的软件过程建模系统ASPMS的设计和实现,该系统提供了图形化的建模表示方式,而该图形化表示方式具有基于多元π演算的形式化语义,从而较好地平衡了建模语言的易于理解、具有较强的表达能力和易于分析和验证这一矛盾的内在要求
gsim: gpu-accelerated software process simulation framework
为了提高软件过程仿真的效率,提出了一种基于图形处理单元(graphic processing unit,GPU)加速的仿真框架。该框架利用图形化语言和随机参数来描述一个过程模型,将模型转换为RansomSpec字节码从而可以在GPU平台上 运行,以期借助GPU平台的高并行特性提高原有仿真算法的效率。实验结果表明,通过这种框架,基于GPU的随机软件过程仿真与传统基于CPU串行的仿真算 法相比在效率上提高一个数量级。A graphic processing unit(GPU)-accelerated simulation framework is presented to improve the efficiency of software process simulation.With the framework,processes are described with a graphical language with annotations of stochastic parameters that will be later transferred into an internal form that amenable to running on GPU platform,where the performance of simulation may could benefit from the high concurrency feature of GPU.Experimental results show that,by using this framework,GPU-enabled stochastic software process simulation can reach one order of magnitude faster than traditional CPU serial algorithms
基于过程模型随机仿真的TDD模块选取建模方法研究
为了帮助项目经理合理选择TDD实施模块,基于进程代数方法对测试驱动软件开发过程和非测试驱动软件开发过程建立过程仿真模型。通过用例度量软件模块的复杂性来获取随机变量参数对模型调参,并采用该模型得到仿真结果。提出TDD模块选取算法来分析仿真结果并得出最佳TDD实施策略,最终为项目经理提供合理的决策
a requirement change driven software project human resource rescheduling method
需求开发和维护是软件生产的基础,是软件开发的重要部分.需求变更是软件项目中最常见、影响最大的风险之一,会对软件项目的成本、进度和软件产品的质量产生不同程度的影响.提出一种需求变更驱动的软件项目人力资源再调度方法.该方法通过建立需求变更模型来分析需求变更对软件项目计划的影响,并在此基础上使用人力资源调度算法来获得满足时间、成本双重约束的人力资源分配方案,为软件项目管理人员提供决策参考,从而提高软件企业的风险管理能力和资源利用率.最后,通过一个示例说明了该方法的可行性和有效性.国家自然科学基金项目(90718042,60903051)|国家高技术研究发展计划项目(2007AA010303)|国家重点基础研究发展计划项目(2007CB310802)|中国科学院知识创新工程领域前沿项目(ISCAS2009-DR09)Requirement development and maintenance is the foundation of software production and an important part of software development.Requirement change is one of the most frequent and influential risks during a software project, which will exert a great influence on cost, progress and product quality of the software project.In this article the authors introduce a requirement change driven human resource rescheduling method.On the basis of investigating the impact of requirement change on software project plan by establishing a requirement change model, a human resource scheduling algorithm is employed to acquire a human resource allocation plan under the dual constraints of time and cost in order to provide software project managers with decision making references, thus ameliorating a software enterprises risk management ability and resource utilization efficiency.Finally a case study is presented to verify the feasibility and validity of the method
