Towards a Formal Model of Software Components

Toward a Formal Model of Software Components

Maritta Heisel,Thomas Santen,and Jeanine Souqui`e res

Technische Universit¨a t Ilmenau,Germany

email:maritta.heisel@tu-ilmenau.de

Technische Universit¨a t Berlin,Germany

email:santen@https://www.360docs.net/doc/d417241138.html,

LORIA—Universit′e Nancy2,France

email:souquier@loria.fr

Abstract.W e are interested in specifying component models in a way that al-

lows us to analyze the interplay of components in general,and to concisely spec-

ify individual components.As a starting point for coming up with a technique of

specifying component models,we consider JavaBeans.We capture the JavaBean

component model using UML class diagrams,Object-Z,and life sequence charts.

1Introduction

Component-based software engineering[20]is an emerging?eld of great interest in research and practice.Its goal is to develop software systems not from scratch but by assembling pre-fabricated parts,as is done in other engineering disciplines.These pre-fabricated parts are called components.

Components are independently deployable pieces of software.Several component models,such as JavaBeans[17],Enterprise Java Beans[18],Microsoft COM[12],and CORBA[13]have been proposed.A component model is designed to allow components to interoperate that are implemented according to the standards set by the model.Build-ing a system from components means selecting components that adhere to a particular component model and composing them in a way that is suitable to achieve the desired system behavior.

To ensure the interoperability of components,a component model must address the following aspects:the syntactic conventions for building component interfaces(often called the“interface speci?cation”);the dynamic behavior describing allowed and for-bidden?ows of events between connected components;and the semantics of operations of a component,e.g.registering a call-back procedure with a component has an effect on the state of the component,although that may not be immediately visible.

An analysis of a component model must demonstrate that the interplay of compo-nents ful?lls the expectations described in the component model in any case,i.e.that the component model is consistent(components can interoperate),and that it is complete (all possible behaviors are covered).

For an individual component,a concise way of instantiating the component model (saying that it is a component)is needed.Additionally,a speci?cation describing the speci?cs of the individual component is necessary to analyze whether a speci?c way of composing individual components actually achieves a desired system behavior.

receives generates constrained properties bound properties events

set / get other operations

receives generates constrained properties bound properties events

set / get other operations

Fig.1.The JavaBean Interface

The general aim of our research is to come up with a technique of specifying the different semantic aspects of a component model,capturing the dynamic behavior and the effects of operations in suf?cient detail for analyzing consistency and completeness of the model.A component model speci?cation should be easily instantiable to yield a concise,easily extensible speci?cation of concrete components.We use a combination of UML class diagrams [14],an extension of sequence diagrams called life sequence charts (LSC)[6],and the formal speci?cation language Object-Z [15]to capture the different aspects of a component model.In the present work,we focus on the JavaBean component model [17].JavaBeans are a well-established technology.The JavaBean component model is reasonably simple to allow us to illustrate our general approach to specifying component models without obscuring the presentation with the technical detail of a more elaborate component model.

2Introduction to JavaBeans

JavaBeans is a component model originally introduced by Sun in 1996.It has an event-based communication model between components,which are called Beans :a Bean no-ti?es registered listener Beans about the events that it generates,and it registers with other Beans to be noti?ed about their events.As we will see in Section 3,cooperating Beans thus realize three variants of the observer design pattern [8].

More speci?cally,the main aspects of the Bean model include [20]:–A Bean can generate and receive arbitrary events .

–A Bean has a number of properties ,which are manipulated with speci?c setter and getter operations.

–Changing a property may generate an event.For a bound property ,a Bean generates a change event whenever the value of that property changes.For a constrained property ,the Bean generates a change event like for a bound property.Additionally,the listeners to that event may veto the change,causing the Bean to revert the value of that property to the one before the change.

–In addition to the operations implementing the event-based communication be-tween Beans,a Bean may provide an arbitrary number of ordinary operations in its interface.

2

Fig.2.Overview of the JavaBean component model

Figure1illustrates the interfaces of two Beans and their connections.For the events, an interface is divided into two parts:one to receive events,and one to generate them. When connecting Beans,the generating side of an interface can be connected to several receiving sides of other Beans that will be noti?ed of events.The set and get operations, and other operations provided by a Bean can be called by other Beans in an arbitrary fashion.

3The JavaBean Component Model

In order to adequately specify all relevant aspects of the JavaBean component model, we use several complementary formalisms:UML class diagrams[14]describe the static structure of the component model.Because of their graphical nature,class diagrams provide a readily accessible overview of the component model.Object-Z[15]serves to specify the detailed semantics of the classes contained in the class diagram and their features.In particular,it states properties such as class invariants,and it speci?es the effect of operations.As the information shown in the class diagrams is also contained in the Object-Z speci?cation,the class diagrams are not strictly necessary.However, they are useful to provide an overview of the component model.Life sequence charts (LSCs)[6]specify the behavioral aspects of the component model.Such aspects cannot be expressed in languages like Object-Z in a satisfactory way.We use LSCs instead of message sequence charts[10]or UML sequence diagrams,because,?rst,they have a formal semantics[11],and second,they are more expressive than message sequence charts or UML sequence diagrams.In particular,we need to distinguish between op-tional and mandatory behavior,and we need to use activation conditions and forbidden messages.

3.1Top-level Model

We now present a formal speci?cation of the JavaBean component model.Figure2 shows the top-level class diagram of the component model.In general,a JavaBean comprises the functionalities of generators,listeners and properties(c.f.Figure1).The class JavaBean in the center of Figure2illustrates this fact.It specializes the three abstract classes Generator,Listener,and Property,and thus serves as a focus relating those three classes.

3

Corresponding to the three variants of events (simple events,change events for bound properties,and for constrained properties),there are three specializations on the generator and on the listener sides of the class diagram.A concrete component ConcreteBean will specialize those classes rather than the abstract classes Generator and Listener .Therefore the class JavaBean and its associated generalization /special-ization-relations are not strictly necessary in the component model.

A Bean can take the role of a generator and of a listener at the same time.This results in multiple inheritance in two ways:?rst,a concrete Bean can inherit from the descendants of the class Generator as well as from the descendants of the class Listener .Second,it may have several bound properties or listen to several events,for example.Hence,multiple inheritance –with a suitable renaming –from the same class will occur.

For the speci?cation of the component model,we are not interested in the ques-tion whether the programming language in which the components are implemented (in our case Java)supports multiple inheritance.We rather aim at clearly describing the essentials of the component model.3.2Constrained Properties

In the following,we present the part of the component model describing constrained properties in more detail.The speci?cation of events,simple properties,and bound properties can be found in [9].

Class Diagram Figure 3shows the class diagram for JavaBeans with constrained prop-erties.Each Bean having constrained prop-

Fig.3.Constrained properties erties incorporates an object vcs of class VetoableChangeSupport .That object is responsible for registering and de-regis-tering listeners,and for notifying the lis-teners of an intended change of a con-strained property.A ConstrainedProper -tyBean also incorporates a number of ob-jects of class ConstrainedProperty .Each

ConstrainedProperty has a name,a value,

and getter and setter methods to query

and change that value.The object vcs is

responsible for notifying registered lis-teners of an intended change of a con-strained property.For that purpose,the object vcs maintains references to the reg-istered listeners,which are objects of class

VetoableChangeListener .Each Vetoable -ChangeListener incorporates objects of the class ObservedProperty .This class provides an operation VetoableChange to process change events.Processing a change event may amount to vetoing the proposed change.

As in Figure 2,we indicate in Figure 3that a concrete Bean can multiply inherit from both classes ConstrainedPropertyBean and VetoableChangeListener .

4

Property Speci?cation The following Object-Z speci?cation gives a precise meaning to all classes,attributes,and methods mentioned before.

In Object-Z,each class is de?ned using a“box”that shows the class name at its top,e.g.,ConstrainedPropertyBean.The symbol“”is used to specify which at-tributes and operations of a class are publicly visible.Following the export list,the constant attributes of a class are speci?ed(for example,name and vcs in the class ConstrainedProperty below).The unnamed box inside a class box contains the speci?-cation of the mutable attributes of the class.These are declared above a horizontal line. Below that horizontal line,the class invariant is given.It states integrity constraints that each object of the class must satisfy.The state box of a class de?nition is followed by the de?nition of the class operations.

The class ConstrainedPropertyBean offers the operations addVetoableChangeListener and removeVetoableChangeListener to its environment.It contains two private attributes, namely an object vcs of class VetoableChangeSupport and a set(expressed by the pow-erset operator)of objects of the class ConstrainedProperty.The class invariant stip-ulates that the same vcs object be used by all objects belonging to the set cps.The operations of the class ConstrainedPropertyBean are de?ned to be the promotion of the operations provided by the vcs object.

A ConstrainedProperty has two constant attributes:the name of the property,and a reference vcs to the VetoableChangeSupport that handles its change messages.The value of the property is its mutable private attribute.The operation get copies the value to its output v.In Object-Z,there is a convention to decorate output variables with an exclamation mark,and input variables with a question mark.

ConstrainedPropertyBean

vcs VetoableChangeSupport

cps ConstrainedProperty

The operation set is de?ned as a combination of several auxiliary operations.First, get is invoked to provide the current value as an input to vcs?reVetoableChange,which also takes the name of the property as an input.The sequential composition operator pipes outputs of its?rst argument to inputs of its second argument that have the same base name.

A boolean value veto is the output of the operation vcs?reVetoableChange.It in-dicates whether the change of the property has been vetoed by one of the listeners.De-pending on the value of veto,one of the operations setSuccess and setVetoed is invoked. The operation setSuccess has a precondition veto,whereas setVetoed has a precon-dition veto.Therefore,the choice operator setSuccess setVetoed invokes setVetoed in case of a vetoed change,and setSuccess otherwise.The operation setVetoed has no effect:it does not mention a-list,and therefore it cannot change the state of the bean.

5

forbidden msgs:

AC: ListenerRegistered(vcl)Fig.4.A Non-Vetoed Property Change

The operation setSuccess changes value as indicated by value .The new value is

determined by the input parameter v .

ConstrainedProperty

name String

vcs VetoableChangeSuppport

v

value

veto value

v

setVetoed v Object veto

set

get vcs ?reVetoableChange name name

v v

setSuccess setVetoed

AC: ListenerRegistered(vcl), ListenerRegistered(ovcl)

Fig.5.A Vetoed Property Change

vetoableChange message must be sent to all registered listeners.This fact is stated in the Object-Z speci?cation of the class VetoableChangesupport,however.

Figure5shows the more complex behavior in the case that one of the listeners ve-toes the change of a constrained property.In that situation,we need to consider two pro-totypical listeners,vcl and ovcl.An invocation of set causes a call to?reVetoableChange. All listeners,i.e.vcl and ovcl are noti?ed of the proposed change.Vetoing the change, vcl throws a PropertyVetoException.As a consequence,all listeners must be noti?ed of the veto.A way to do so[7]is to notify all listeners of a change of the property’s value back from the new value to the previous one.This may indeed be the only way to notify listeners of a veto,because the JavaBean component model does not enforce explicit con?rmations of(vetoable)changes.Therefore,a listener must assume that a change is not vetoed unless it receives a vetoableChange message reverting the value of a property back to its previous one.

The class VetoableChangeSupport de?nes the general infrastructure for the gener-ator side of vetoable changes.The class de?nition expresses crucial information about processing vetoable changes that cannot be expressed in LCSs or are not expressed in the LSC speci?cation for reasons of conciseness and readability.For example,the parameters of all operations are not given in the LSCs,but only in the Object-Z speci?-cation.

In addition to the set of listeners vcl,the boolean state variable veto holds the status of veto for an execution of?reVetoableChange.Several private operations manipulate veto.

The operations addVetoableChangeListener and removeVetoableChangeListener just add or remove a new listener to or from the set vcl.

The de?nition of?reVetoableChange re?ects the complexity of catching a veto and possibly notifying all listeners of a change back to the old value of a property.The operation mkVCE1constructs a vetoable change event evt,which is input to the?rst

invocation of vetoableChange on all members of vcl.It also returns evtRev,a change event reverting the value of the property back to its previous value.The invocation of vote in parallel with each vetoableChange serves to accumulate possible vetoes:if one call to vetoableChange returns veto true,then the attribute veto becomes(and remains)true.

VetoableChangeSupport

vcl VetoableChangeListener

veto

vcl vcl vcl

removeVetoableChangeListener

vcl

vcl VetoableChangeListener veto

veto veto veto

vetoed

veto

notVetoed

veto

?reVetoableChange

mkVCE resetVeto

vc vcl vc vetoableChange vote

notVetoed

vetoed

vc vcl vc vetoableChange evtRev evt veto

MyButton

text ypad

xpad

text

sized down

debug

font Font

fontSize

foreground background Color label String ConstrainedPropertyBean

cp cps cp name“label”

cp value label

getLabel

cp cps cp name“label”get setLabel

cp cps cp name“label”set

The state box declares the mutable attributes of MyButton:sized and down are pri-vate boolean?ags;debug,the font and color information(font,fontSize,foreground, background)are bound properties,and the text label displayed by the button is a con-strained property.

We exemplify the keyword translation process by considering the expansion of the declaration of label,which the right-hand side of Fig.6shows,leaving out the parts concerning the other attributes of the Bean.

The value of each property is stored in a mutable attribute.Therefore,the decla-ration of label remains part of the state box.Because label is a constrained property, MyButton inherits from ConstrainedPropertyBean.This provides all the infrastructure discussed in Section3.2.In particular,MyButton has attributes vcs and cps.An invari-ant relates the attribute label to a member of cps,namely one with the name“label”.It also relates the value of that ConstrainedProperty to label.Finally,to conform to the naming conventions for JavaBeans,the operations getLabel and setLabel are de?ned to be promotions of the get and set operations of that object.

This example shows how the keywords related to JavaBeans hide formal noise in the Object-Z speci?cation of a Bean.It also shows that we are actually working at the speci?cation level:how an implementation ensures that label is realized as a constrained property is of no interest at this level of abstraction;it suf?ces to require that the attribute label be related to a constrained property including all the necessary operations.

5Related Work

Although much has been published about component-based software engineering,the formal speci?cation of components in general and JavaBeans in particular has not yet been undertaken by many researchers.

Cimato[4,5]proposes an algebraic speci?cation technique for Java objects and components,where the term“component”does not denote an independently deployable piece of software–as in the context of component-based software engineering–but an entity of computation that is connected to other components in a software architecture Consequently,Cimato focuses on architectural issues in his speci?cation of JavaBeans.

A Bean architecture consists of Beans as components and adapters as connectors.A con?guration speci?es how these are connected.These architectural descriptions do not describe the interaction of Beans as we have done in Section3using life sequence charts.Properties,bound properties,and constrained properties are not dealt with.

Brucker and Wolff[2]use UML class diagrams annotated with OCL formulas to support the run-time checking of constraints on Enterprise Java Beans.They do not at-tempt to specify the component model of Enterprise Java Beans as such,but they exploit the structure of interfaces that the component model imposes on Beans to generate spe-ci?c run-time checks of Java code from OCL constraints that annotate the various parts of the class diagram for a Bean.They observe that the constraints on the implementation of an abstract enterprise bean interface should be a data re?nement of the constraints on the interface,and they exploit that observation when checking constraints at run-time.

Beugnard[1]and Cariou[3]use UML to describe communication components called mediums.A medium is a means to de?ne communication services needed in dis-

10

tributed applications,offering a speci?c interface,transportation services and speci?c services(shared memory,con?guration,quality of service).They specify components by collaboration diagrams,OCL for class invariants and service speci?cations,and state diagrams for temporal and synchronization constraints.In contrast to our work,Beug-nard and Cariou do not aim at specifying component models in general,but propose a speci?c component model.

6Conclusions

A component model is the basis for many applications.Therefore,it deserves a thor-ough analysis based on a precise description of its semantics.Our approach of speci-fying component models provides such a precise description.As we have seen for the example of the JavaBean component model,just specifying a component model can make contradictions and omissions in the informal description explicit:the literature [7,17,19]does not resolve the problem of“vetoed vetoes”.We are probably not the ?rst to detect that problem,but setting up a speci?cation systematically leads one to ask the questions that make problems as this one obvious.

We specify components independently of a target programming language.In the JavaBeans case,for example,we do not restrict inheritance in speci?cations,even if it is restricted in https://www.360docs.net/doc/d417241138.html,ponent speci?cations should provide all necessary informa-tion concerning the component that is needed either to incorporate the component in a system or to implement the component.

Not referring to speci?c features of a programming language,speci?cations of com-ponent models support the comparison of different component models–a research that may lead to improved interoperability between different component models.

There inevitably is some“formal noise”in a formal speci?cation.We believe this is acceptable for a component model,because the goal of interoperable components requires a consistent and complete description of the infrastructure that they can build on.

For an individual component,however,the speci?cation highlights the speci?c ser-vices,abstracting from details of the component model by means of speci?c key-phrases.Speci?cations of individual components–and the underlying component model –can be the basis for advanced assembly tools that analyze components not only on the level of interface syntax but also on the level the semantics of the services that com-ponents provide,and their interaction in a speci?c system.Such an analysis cannot be provided based on the code alone.

Future Work.We have presented a way of formally describing component models with the motivation of analyzing those models for consistency and completeness.The ques-tion how such an analysis is best conducted and what appropriate tool-support for an-alyzing component model speci?cations is must still be addressed.An embedding of Object-Z in the logic of a theorem prover[16]can be a starting point to come up with mechanized support for component models analysis.

A long term goal of this research is to?nd a general understanding of what the characteristics of components are by way of specifying and comparing different com-

11

ponent frameworks.This understanding could serve as a basis for unifying component frameworks and allowing components of different frameworks to interoperate.

To reach this goal,it is necessary to investigate other,more complex component models such as EJB and CORBA.It will also be necessary to take the process of com-posing systems from components into account.

References

https://www.360docs.net/doc/d417241138.html,munication Services as Components for Telecommunication Applica-

tions.In Proc.14th European Conference on Object-Oriented Programming,ECOOP’2000.

Sophia Antipolis et Cannes(F),2000.http://www-info.enst-bretagne.fr/medium.

2.A.Brucker and B.Wolff.Testing distributed component based systems using UML/OCL.

In M.Wirsing,editor,Workshop on Integrating Diagrammatic and Formal Speci?ca-tion Techniques,pages17–23.LMU M¨u nchen,2001.https://www.360docs.net/doc/d417241138.html,rmatik.uni-muenchen.de/GI2001/gi-band.pdf.

3.E.Cariou.Sp′e ci?cation de composants de composants de Communication en UML.

In Proc.Objets,Composants,Mod`e les(OCM’2000),2000.http://www-info.enst-bretagne.fr/medium.

4.S.Cimato.A Methodology for the Speci?cation of Java Components and Architectures.PhD

thesis,University of Bologna,1999.http://www.cs.unibo.it/?cimato/www/papers/sty.ps.gz.

5.S.Cimato.Specifying component-based Java applications.In P.Ciancarini,A.Fantechi,and

R.Gorrieri,editors,Proc.3rd Conf.on Formal Methods for Open Object-Based Distributed Systems(FMOODS),pages105–112,1999.

6.W.Damm and D.Harel.LSCs:Breathing life into message sequence charts.In Proc.3rd

Conf.on Formal Methods for Open Object-Based Distributed Systems(FMOODS),1999.

7.D.Flanagan.Java in a Nutshell.O’Reilly,1999.

8.E.Gamma,R.Helm,R.Johnson,and J.Vlissides.Design patterns:Elements of reusable

object-oriented software.Addison-Wesley,1995.

9.M.Heisel,T.Santen,and J.Souqui`e res.On the speci?cation of components–the JavaBeans

example.Technical Report A02-R-025,LORIA,Nancy,France,2002.

10.ITU-TS,Geneva.ITU-TS Recommendations Z.120:Message Sequence Chart(MSC),1996.

11.J.Klose and H.Wittke.An automata based interpretation of live sequence charts.In T.Mar-

garia and Wang Yi,editors,Proc.TACAS’2001,LNCS2031,2001.

12.Microsoft Corporation.The Component Object Model Speci?cation,Version0.9,1995.

https://www.360docs.net/doc/d417241138.html,/com/resources/comdocs.asp.

13.The Object Mangagement Group(OMG).The Common Object Request Broker:Architecture

and Speci?cation,Revision2.2,February1998.https://www.360docs.net/doc/d417241138.html,/library/corbaiiop.html.

14.J.Rumbaugh,I.Jacobsen,and G.Booch.Uni?ed Modeling Language Reference Manual.

Addison-Wesley,1997.

15.G.Smith.The Object-Z Speci?cation Language.Kluwer Academic Publishers,1999.

16.G.Smith,F.Kamm¨u ller,and T.Santen.Encoding Object-Z in Isabelle/HOL.In D.Bert,

J.P.Bowen,M.C.Henson,and K.Robinson,editors,ZB2002:Formal Speci?cation and Development in Z and B,LNCS2272,pages82–99.Springer-Verlag,2002.

17.Sun Microsystems.JavaBeans Speci?cation,Version 1.01,1997.

https://www.360docs.net/doc/d417241138.html,/products/javabeans/docs/spec.html.

18.Sun Microsystems.Enterprise JavaBeans Speci?cation,Version 2.0,2001.

https://www.360docs.net/doc/d417241138.html,/products/ejb/docs.html.

19.Sun Microsystems.JavaBeans Tutorial,2001.https://www.360docs.net/doc/d417241138.html,/developer/on-

lineTraining/Beans/beans02.

https://www.360docs.net/doc/d417241138.html,ponent Software.ACM Press,Addison-Wesley,1999.

12

第二次作业《解释结构模型应用》

大连海事大学 实验报告 《系统工程》 2014~2015学年第一学期 实验名称:基于解释模型在大学生睡眠质量问题的研究学号姓名:马洁茹姚有琳 指导教师:贾红雨 报告时间: 2014年9月24日

《系统工程》课程上机实验要求 实验一解释结构模型在大学生睡眠质量问题中的研究 实验名称:基于MATLAB软件或C/Java/其他语言ISM算法程序设计(一) 实验目的 系统工程课程介绍了系统结构建模与分析方法——解释结构模型法(Inter pretative Structural Modeling ·ISM)是现代系统工程中广泛应用的一种分析方法,能够利用系统要素之间已知的零乱关系,用于分析复杂系统要素间关联结构,揭示出系统内部结构。ISM方法具有在矩阵的基础上再进一步运算、推导来解释系统结构的特点,对于高维多阶矩阵的运算依靠手工运算速度慢、易错,甚至几乎不可能。 本次实验的目的是应用计算机应用软件或者是基于某种语言的程序设计快速实现解释结构模型(ISM)方法的算法,使学生对系统工程解决社会经济等复杂性、系统性问题需要计算机的支持获得深刻的理解。学会运用ISM分析实际问题。 (二) 实验要求与内容: 1.问题的选择 根据对解释结构模型ISM知识的掌握,以及参考所给的教学案例论文,决定选择与我们生活有关的——大学生睡眠质量问题。 2.问题背景 睡眠与我们的生活息息相关,当每天的身体机制在不断运行的过程中身体负荷不断变大,到了夜间就需要休息。但是同一寝室的同学大多休息时段不同,有些习惯早睡,有些会由于许多原因晚睡。有些睡眠较沉不会轻易被打扰,有些睡眠较轻容易被鼾声或者其他声响惊醒。学习得知,解释系统模型是通过对表面分离、凌乱关系的研究,揭示系统内部结构的方法。因此,我想尝试通过解释模型来对该问题进行研究分析。 3.用画框图的形式画出ISM的建模步骤。

IT 服务能力成熟度模型白皮书

文档信息卡

注:(1) 所有时间的填写格式为yyyy/M/d;填写时请注意屏幕左下角的状态栏的提示; (2) 该信息卡适用于翻译文库的所有文档; (3) 该信息卡可通过https://www.360docs.net/doc/d417241138.html,下载,也可发信至Cooperation@https://www.360docs.net/doc/d417241138.html,索取; (4) 如您希望向ITSM资讯网推荐翻译某篇英文文档,请填写本信息卡的第一部分(“基本信息”), 然后将其发送至Cooperation@https://www.360docs.net/doc/d417241138.html,。ITSM资讯网将在收到您的推荐之后的两个工作日之内给您确认函。 (5) 本文档执行《ITSM翻译文库版权协议(1.0版)》。 IT 服务能力成熟度模型 白皮书 版本1.0.2 -en 2003年1月15日 1 介绍 (4) 2 历史和背景 (5) 3 IT服务能力成熟度模型的目标 (5) 4 IT服务能力成熟度模型的结构 (6)

5 IT服务能力成熟度模型的内容 (7) 5.1 级别二:可重复级服务 (7) 5.2 级别三:已定义级服务 (8) 5.3 级别四:已管理级服务 (8) 5.4 级别五:优化级服务 (8) 6 使用IT服务能力成熟度模型 (9) 7 结论 (9) 8 参考 (9) 1 介绍 这份白皮书描述了IT服务能力成熟度模型.IT服务能力成熟度模型是一个针对IT服务提供商的成熟度成长模型.IT服务能力成熟度模型使客户高效地利用信息技术来支持他们的业务流程.IT服务的例子包括信息系统运行,网络管理,用户支持和软件维护.IT服务能力成熟度模型遵循IT服务所提供的五个成熟度级别. IT服务的提供商和客户可以利用IT服务能力成熟度模型来决定IT服务提供商的成熟度.IT服务提供商可以利用模型来提高它们的成熟度.IT服务能力成熟度模型是公开的并可从https://www.360docs.net/doc/d417241138.html,网站上自由下载. 这份白皮书的结构如下.在下一章中,将描述模型的历史.接下来介绍IT服务能力成熟度模型的目标.第四和第五章介绍模型的结构和内容.第六章描述实行模型提高IT服务提供者IT 服务能力的方法.最后是总结.

第二次作业《解释结构模型应用》

海事大学 实验报告 《系统工程》 2014~2015学年第一学期 实验名称:基于解释模型在大学生睡眠质量问题的研究学号:马洁茹有琳 指导教师:贾红雨 报告时间: 2014年9月24日

《系统工程》课程上机实验要求 实验一解释结构模型在大学生睡眠质量问题中的研究 实验名称:基于MATLAB软件或C/Java/其他语言ISM算法程序设计(一) 实验目的 系统工程课程介绍了系统结构建模与分析方法——解释结构模型法(Inter pretative Structural Modeling ·ISM)是现代系统工程中广泛应用的一种分析方法,能够利用系统要素之间已知的零乱关系,用于分析复杂系统要素间关联结构,揭示出系统部结构。ISM方法具有在矩阵的基础上再进一步运算、推导来解释系统结构的特点,对于高维多阶矩阵的运算依靠手工运算速度慢、易错,甚至几乎不可能。 本次实验的目的是应用计算机应用软件或者是基于某种语言的程序设计快速实现解释结构模型(ISM)方法的算法,使学生对系统工程解决社会经济等复杂性、系统性问题需要计算机的支持获得深刻的理解。学会运用ISM分析实际问题。 (二) 实验要求与容: 1.问题的选择 根据对解释结构模型ISM知识的掌握,以及参考所给的教学案例论文,决定选择与我们生活有关的——大学生睡眠质量问题。 2.问题背景

睡眠与我们的生活息息相关,当每天的身体机制在不断运行的过程中身体负荷不断变大,到了夜间就需要休息。但是同一寝室的同学大多休息时段不同,有些习惯早睡,有些会由于许多原因晚睡。有些睡眠较沉不会轻易被打扰,有些睡眠较轻容易被鼾声或者其他声响惊醒。学习得知,解释系统模型是通过对表面分离、凌乱关系的研究,揭示系统部结构的方法。 因此,我想尝试通过解释模型来对该问题进行研究分析。 3.用画框图的形式画出ISM的建模步骤。

第二次作业《解释结构模型应用》讲解

大连海事大学实验报告 《系统工程》 2014?2015学年第一学期 实验名 称:基于解释模型在大学生睡眠质量问题的研究 学号姓 名: 马洁茹姚有琳指导教 师: 贾红雨 报告时 间: 2014 年9月24日

《系统工程》课程上机实验要求 实验一解释结构模型在大学生睡眠质量问题中的研究 实验名称:基于MATLAB^件或C/Java/其他语言ISM算法程序设计 (一)实验目的 系统工程课程介绍了系统结构建模与分析方法一一解释结构模型法(In ter pretative Structural Modeling ? ISM)是现代系统工程中广泛应用的一种分 析方法,能够利用系统要素之间已知的零乱关系,用于分析复杂系统要素间关联结构,揭示出系统内部结构。ISM方法具有在矩阵的基础上再进一步运算、推导来解释系统结构的特点,对于高维多阶矩阵的运算依靠手工运算速度慢、易错,甚至几乎不可能。 本次实验的目的是应用计算机应用软件或者是基于某种语言的程序设计快速实现解释结构模型(ISM)方法的算法,使学生对系统工程解决社会经济等复杂性、系统性问题需要计算机的支持获得深刻的理解。学会运用ISM分析实际问题。 (二)实验要求与内容: 1?问题的选择 根据对解释结构模型ISM知识的掌握,以及参考所给的教学案例论文,决定选择与我们生活 有关的一一大学生睡眠质量问题。 2 ?问题背景 睡眠与我们的生活息息相关,当每天的身体机制在不断运行的过程中身体负荷不断变大,到了夜间就需要休息。但是同一寝室的同学大多休息时段不同,有些习惯早睡,有些会由于许多原因晚睡。有些睡眠较沉不会轻易被打扰,有些睡眠较轻容易被鼾声或者其他声响惊醒。学习得知,解释系统模型是通过对表面分离、凌乱关系的研究,揭示系统内部结构的方法。因此,我想尝试通过解释模型来对该问题进行研究分析。 3.用画框图的形式画出ISM的建模步骤

人际了解协助和服务素质能力模型

人际了解(沟通)(IU)协助和服务-素质能力模型 概念: 想要了解他人,这种想要了解他人的能力,可能清楚地倾听及体会到他人没有表达出来或是说明不完整的想法,感觉及考量。这里所称的“他人”是指个人或是一群有着相同感觉和考量的所有成员。 跨文化敏感度其实是人与人之间的了解当中的一个特例,它经常也包含大量的资讯收集。 人际了解与沟通也称作: ◆同理心 ◆倾听 ◆对他人的敏感度 ◆洞悉他人的感觉 ◆诊断式的了解 构面 两上构面:对他人了解深度或复杂度(A)从明确的了解意思或情况到了解持续行为背后暗藏的复杂原因依序条列。倾听与回应他人(B)从基本的倾听解释他人过去的行为,到特意协助他人解决个人或人际之间的困难。 人际了解沟通评量

一般行为特征: ◆认知他人的情绪和感觉 ◆利用倾听与观察获得的了解,预测他人的反应并预作准备 ◆了解他人的态度、兴趣、需求和观点 ◆了解他人的基本态度,行为模式或问题的原因。 与其他能力的关联 ◆资讯收集可协助助人际了解与沟通,这个步骤包括观察、直接询问、间接收集资料以及 证实假设的各种办法。 ◆人际了解与沟通可以形成更高层资助的冲击与影响,并成为对顾客服务导向不可或缺的 基础。顾客服务以及冲击与影响的效力,受限于了解的深度。 ◆他也支援类似的议题,协助他人发展,组织洞察力,团队合作和建立关系等。 ◆他的B4隐含有适当的主动性以及近似于影响与冲击之意,差异在于:在影响与冲击当 中,发话者有自己预设的想法,但此处的意图,其实仅止于想帮助或有所回应,事实上没有其他进一步目的。 ◆当发话者的看法与其正在倾听的人有冲突时,人与人之间的了解与沟通才趋向第一级的 弹性的意思。但是B4等级也的确含一些弹性在内。

服务质量模型

服务质量模型 通过对以往有关服务质量定义的进行总结,可以看出,学者们往往从不同的研究角度出发,对服务质量的维度进行归类。Gronroos 认为感知服务质量由功能质量、技术质量和公司形象构成,这一分类将服务质量同有形产品的本质做出了区分。Gronroos通过进一步研究认为,企业形象在技术质量和功能质量之间起到了过滤功能,服务质量包括了功能质量和技术质量两个维度,在此基础上建立了感知服务质量模型,具体内容如图所示。 图Gronroos服务质量模型 服务质量的基本特性决定了服务质量是一个抽象的概念,它是通过顾客对服务的感知而决定的,因此服务质量是一个复杂的集合体。服务质量的构成要素就是站在顾客角度,研究顾客对服务质量产生感知的方面。在对服务质量要素的研究过程中,北欧和北美两大学派产出了明确的研究成果。其中技术质量又称为结果质量,或者说是在服务交易或服务过程结束后顾客得到的实质内容;一般来说,由于结果质量牵涉到的主要是技术方面的有形内容,因此,结果质量可以通过比较直观的方式加以评估,并且顾客对结果质量的衡量也是比较客观

的和容易感知,从而结果质量是顾客评价服务好坏的重要依据。功能质量又称为过程质量,是指顾客是如何接受或得到服务的。由于服务具有无形性和不可分割性,因此服务过程即服务人员如何与顾客打交道,或服务人员如何给顾客提供服务,必然会影响顾客对服务质量的看法。 北美学派的研究组合PZB通过研究顾客如何对服务质量进行感知发现有10个要素决定服务质量,即可靠性、响应性、能力、易接近性、礼貌、沟通、可信性、安全性、理解、有形性,并且于同一研究中提出了目前被广为应用的服务质量差距模型,如图所示。后来,PZB做了进一步的研究,将10个要素中相关性强的进行了合并,得到了构成服务质量的五个要素: (1)有形性:在服务过程中,能够被顾客感知到的实体部分,包括服务场所布置、服务设施、员工外表等; (2)可靠性:是指服务企业可靠、准确地履行其服务承诺的能力。这意味着服务企业每一次都及时、高效、一致、无差错地完成所承诺的服务内容; (3)响应性:是指企业能够快速、有效地为顾客提供服务。对于顾客咨询、提出的要求和投诉,企业应该迅速地给予解决。因为长久的、毫无原因的等待会使顾客对服务体验产生强烈的消极后果; (4)保证性:这方面与服务人员的知识、能力、得体有关,也与他们传递信任和信心的能力有关。包括服务人员拥有履行服务所必需的技能和知识、服务人员表现的礼貌、尊重、体谅和友好以及服务人员

解读《数据库服务能力成熟度模型》

数据库,作为企业重要IT基础设施之一,在数字化中扮演着重要的角色。其是否运行平稳、是否处于最佳状态、是否可方便的扩展等,进而是否能满足业务现状及未来发展,这些对于企业至关重要。要达到上述目标,取决于两个方面:数据库产品自身能力、数据库服务能力。可以说“产品+服务”,决定了最终的结果如何。但在很长一段时间里,对于前者(产品)有很多手段去了解、评估;但对于后者(服务)却少有有效的衡量方法。在过去的三、四十年里,传统数据库市场主要是以国外大型商业数据库为主,其服务能力经过多年积累已相对成熟、完善,并构建起一整套标准及相应的配套服务团队。但随着近些年来数据库市场有了明显的变化,一是以开源为主导数据库方案在很多公司得以使用;二是国产数据库也层出不穷,并愈发呈现蓬勃发展之势;三是分布式、云化技术特点为代表的新数据库形态逐步被人认知并投入使用。针对这种新的变化,过去按单一产品作为衡量标准就不太合适,急需一种通用的行业标准来度量数据库服务能力。 近期,信通院发表的《数据库服务能力成熟度模型》,由此应运而生。它的推出,有助于企业决策者,找到数据库服务重点,获取当前数据库整体现状,识别其中的不足并找准关键问题及差异,进而提供数据库服务能力的改进方向和意见,规划企业未来的数据库发展蓝图。本文根据之前信通院发表的《数据库服务能力成熟度》为基础,加以个人的一些理解分析。当前这一标准,正处于规范发布阶段,其具体细节和评价方式、标准还有待落实,也希望更多数据库从业者参与其中。为提高国内数据库整体服务质量,贡献

自己的一份力量。本文部分内容引用信通院发布《数据库服务能力成熟度》报告及网名“失速的脑细胞”的一篇文章。 原文参考:https://www.360docs.net/doc/d417241138.html,/p/d672951c5c1a 1. 成熟度模型概述 人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。 1).评估标准:能力框架与能力域 此次发布的数据库服务成熟度模型,将能力框架划分为三个能力域,分别是:规划设计能力、实施部署能力和运维运营能力。其可对应到数据库从选型评估、规划设计、部署实施、运维保障、开发优化等多个方面。在三个能力域内,又进一步划分为27个能力项,其中规划设计能力域包含8个能力项,实施部署能力包含7个能力项,运维运营能力包含12个能力项。具体 可参考下图:

解释结构模型

3.2解释结构模型 系统是由许多具有一定功能的要素(如设备、事件、子系统等)所组成的, 各要素之间总是存在着相互支持或相互制约的逻辑关系。在这些关系中,又可以分为直接关系和间接关系等。为此,开发或改造一个系统时,首先要了解系统中 各要素间存在怎样的关系,是直接的还是间接的关系,只有这样才能更好地完成 开发或改造系统的任务。要了解系统中各要素之间的关系,也就是要了解和掌握系统的结构,建立系统的结构模型。 结构模型化技术目前已有许多种方法可供应用,其中尤以解释结构模型法(InterpretativeStructuralModeling,简称ISM)最为常用。 3.2.1结构模型概述 一、解释结构模型的概念 解释结构模型(ISM)是美国华费尔特教授于1973年作为分析复杂的社会 经济系统有关问题的一种方法而开发的。其特点是把复杂的系统分解为若干子系 统(要素),利用人们的实践经验和知识,以及电子计算机的帮助,最终将系统 构造成一个多级递阶的结构模型。 ISM属于概念模型,它可以把模糊不清的思想、看法转化为直观的具有良好 结构关系的模型,应用面十分广泛。从能源问题等国际性问题到地区经济开发、 企事业甚至个人范围的问题等,都可应用ISM来建立结构模型,并据此进行系 统分析。它特别适用于变量众多、关系复杂且结构不清晰的系统分析,也可用于方案的排序等。 所谓结构模型,就是应用有向连接图来描述系统各要素间的关系,以表示一个作为要素集合体的系统的模型,图3-1所示即为两种不同形式的结构模型。

图3-1两种不同形式的结构模型 结构模型一般具有以下基本性质: (1)结构模型是一种几何模型。结构模型是由节点和有向边构成的图或树 图来描述一个系统的结构。节点用来表示系统的要素,有向边则表示要素间所存 在的关系。这种关系随着系统的不同和所分析问题的不同,可理解为“影响”、“取决于”、“先于”、“需要”、“导致”或其他含义。 (2)结构模型是一种以定性分析为主的模型。通过结构模型,可以分析系统的要素 选择是否合理,还可以分析系统要素及其相互关系变化对系统总体的影响等问题。 (3)结构模型除了可以用有向连接图描述外,还可以用矩阵形式来描述。 矩阵可以通过逻辑演算用数学方法进行处理。因此,如果要进一步研究各要素之间关系,可以 通过矩阵形式的演算使定性分析和定量分析相结合。这样,结构模型的用途就更为广泛,从而 使系统的评价、决策、规划、目标确定等过去只能凭个人的经验、直觉或灵感进行的定性分析,能够依靠结构模型来进行定量分析。 (4)结构模型作为对系统进行描述的一种形式,正好处在自然科学领域所用的数学 模型形式和社会科学领域所用的以文章表现的逻辑分析形式之间。因此,它适合用来处理 处于以社会科学为对象的复杂系统中和比较简单的以自然科学为对象的系统中存在的问题, 结构模型都可以处理。 总之,由于结构模型具有上述这些基本性质,通过结构模型对复杂系统进行分析往往能够 抓住问题的本质,并找到解决问题的有效对策。同时,还能使由不同专业人员组成的系统开发 小组易于进行内部相互交流和沟通。

顾客服务导向协助和服务素质能力模型

顾客服务导向(CSO)协助和服务-素质能力模型 概念: 意指有帮助或服务他人、满足他人需求的渴望,全力将努力的焦点放在发掘和满足顾客的需要,与人与人之间的了解与沟通类似,而且有时候行动可能跟冲击与影响雷同,此处的焦点在于,首先了解他人的需求,而不是对他人想法、感觉或行为的一般性了解,然后接着再进行帮助或服务他人。 顾客指实际接触的顾客,也指同一组织内的未端使用者。 也可称之为: ◆协助与服务导向 ◆以客户需求为焦点 ◆成为客户的伙伴 ◆未端使用者的焦点诉求 ◆重视满意度 构面: (A):动机的强度与行动的完整度,整个行动当中以客户信赖的顾问或辩护人的角色为重点。 (B)是代表客户付出心力或采取行动的程度,从花费时间多少到自愿为客户付出异常心力的举动。

一般行为特征: ◆收集有关客户真正的需求,即使远超过原先所表达,并找出符合其需求的产品或服务。 ◆愿意个别承担顾客服务问题的责任,不采取自我防卫态度而且迅速改正问题。 ◆担任可信赖的顾问角色,依照客户需要,问题/机会及机率的执行方案,提出独特见解 的意见。 ◆以长远的眼光来解决客户问题。 与其他能力的关联 ◆资讯收集与人际了解与沟通这两项重点,提供顾客服务导向许多助力。 ◆主动性是顾客服务导向的一个重要部分,因此与这两项能力当中的B分级表一致。此 外CSOA6以及更高等级在主动性的时间构面上,含有中等层级之意。 ◆成就导向与顾客的运作组织的改善有关联(CSOA5和更高等级)。 ◆更高级顾客服务(A6到A8)意味着: 资讯收集 概念式或分析式思考(至少是低到中级) 人与人之间或组织的了解(中到高级) 技术专业知识或业务取向其中之一,或两者皆备,依赖产品与服务的性质或内容而

应用解释结构模型

应用解释结构模型(ISM)分析大学生就业的问题09工业工程周浩吕超宇 摘要: 关键词:解释结构模型大学生就业原因及对策 背景: 据人力资源和社会保障部公布的数据,2009年我国将有2400万劳动力需要安排就业,其中将有超过700万大学毕业生需要解决就业问题。数据显示,2009年高校毕业生规模达到611万,比2008年增长52万;而据预测,2011年这一数字将达到峰值758万。与此同时,国际金融危机的影响进一步显现,可以预见,在未来相当长时期内大学生就业压力不会减弱。如何帮助大学生走出就业难的困境将成为政府与社会长期而艰臣的任务。 大学生就业难是一个现实问题,更是一个社会问题。总体来说,大学毕业生具有较高的人力资本水平,是劳动力市场上的优势群体。但随着全球化的发展与知识经济的冲击,青年初次与持续就业所需的能力门坎逐年提高,大学生必须具备能够满足新经济要求的核心就业能力才能成功发展,但现有教育培训体系缺乏必要的就业市场需求导向,缺乏对创业行为的深入研究,高等教育培养出来的大学生在知识和技能结构上与人才市场的需求存在脱节,大学生就业的结构性矛盾日益突出。 (https://www.360docs.net/doc/d417241138.html,/xiaobao/news_view.asp?newsid=663)

应用解释结构模型分析问题: 1.1成立ISM 小组 小组成员主要由来自09工业工程的周浩和吕超宇组成; 1.2确定关键问题与确定因素,列举各导致因素的相关性 根据当今大学生的就业现状,我们小组应用头脑风暴法在小组内经过激烈讨论,并在网上查阅大量的资料,基本上确定影响当今大学生就业的因素大致为以下12种原因,小组成员又经过多次探讨分析确定他们之间的关系并按照下面的影响关系填写表2所示的框图。 (1)j S i S 对有影响,填1;j S i S 对无影响,填0;(i ,j=0,1,……12) (2)对于有相互影响的因素,取你认为影响大一方为影响关系,即有影响; 表1导致因素 关键问题:大学生就业问题 0S 导致因素 1 专业设置与社会需求脱节 1S 2 就业政策不完善 2S 3 竞争压力较大( 3S 4 教育机制存在弊端 4S 5 海归的竞争 5S 6 大学生就业观念 6S 7 缺乏工作经验 7S 8 知识陈旧,转化率低 8S

相关文档
最新文档