{"title":"Discovering, visualizing, and controlling software structure","authors":"R. Schwanke, Rita Z. Altucher, M. Platoff","doi":"10.1145/75199.75223","DOIUrl":"https://doi.org/10.1145/75199.75223","url":null,"abstract":"","PeriodicalId":435917,"journal":{"name":"International Workshop on Software Specification and Design","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123419383","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The use of lexical afftnities to help a human requirements analyst find abstractions in problem descriptions is explored. It is hoped that a lexical athnities tinding tool can be used as part of an environment to help organize the sentences and phrases of a natural language problem description to aid the requirements analyst in the extraction of requirements. An experiment to confirm its effectiveness is described.
{"title":"The use of lexical affinities in requirements extraction","authors":"Y. Maarek, D. Berry","doi":"10.1145/75199.75229","DOIUrl":"https://doi.org/10.1145/75199.75229","url":null,"abstract":"The use of lexical afftnities to help a human requirements analyst find abstractions in problem descriptions is explored. It is hoped that a lexical athnities tinding tool can be used as part of an environment to help organize the sentences and phrases of a natural language problem description to aid the requirements analyst in the extraction of requirements. An experiment to confirm its effectiveness is described.","PeriodicalId":435917,"journal":{"name":"International Workshop on Software Specification and Design","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121905549","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper describes a new formalism for specifying development environments for general hierarchical., modular systems. The formal framework is based on a restricted collection of sets and partial functions. formalism are described. Two applications of the In recent years, development environments have been built for many software and hardware systems. The essential similarity of these systems has been concealed by the wide variety of formal techniques that have been used in their description. In this paper, a new formalism is introduced for specifying development environments. The formalism emphasizes hierarchy and modularity, two features that are common to most application areas for which development environm’ents have been constructed. A development environment based on our formalism will include operations that construct and modify systems by selecting components from a library and specifying interfaces between these components. The formalism provides a logically consistent framework for the environment designer which can be adapted to a particular situation by choosing relevant framework attributes. The formal framework is based on a restricted collection of sets and partial functions which are used to define a construction setting, and a collection of basic operations on construction settings. The framework is described using the set-theoretic specification language Z [3]. Two specific applications will be discussed below: a programming development environment for coarse-grain dataflow graphs [ 1,2], and the STILE development environment [4]. In the framework, the lowest level of system components consists of templates, which reside in a common library Lib, which in turn is a finite subset of the basic set Temp. New templates can be added to the library using the EXT operation, described below. Each template has a unique non-empty set of ports, drawn from the basic set Port, which represent. potential interfaces to other templates. The association between templates and ports is defined by the following Z schema: (Note that the symbol --I--> is used in Z to denote apartial function, ,while FlS Perh.SSiOn to Copy Without fee all or part of thii material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice IS given that copying is by perti&on of t.be Assc?=ation for Computing Machinery. To copy otherwise, or DO republish, requires a fee and/or spedic permission. M. D. Rice S. B. Seidman Center for Parallel Computation Department of Computer Science George Mason University Fairfax, Virginia 22030 denotes the set of finite subsets of a set S. The domain and range of a function fare denoted by dom f and ran f.) disjoint {interfaces(t) : t E dom interfaces) The common library Lib is precisely the domain of the function interfaces. The following Z schema defines the owner function from ports to templates: Port-Asso
本文描述了一种用于指定通用层次结构开发环境的新形式。模块化系统。正式框架是基于集合和部分函数的有限集合。描述了形式主义。的两种应用近年来,已经为许多软件和硬件系统构建了开发环境。这些系统本质上的相似性被描述中使用的各种形式技术所掩盖。本文引入了一种新的形式来确定开发环境。形式化强调层次和模块化,这两个特性对于大多数构建了开发环境的应用程序领域来说都是常见的。基于我们的形式化的开发环境将包括通过从库中选择组件并指定这些组件之间的接口来构造和修改系统的操作。形式主义为环境设计者提供了一个逻辑上一致的框架,可以通过选择相关的框架属性来适应特定的情况。正式框架基于用于定义构造设置的集合和部分函数的有限集合,以及构造设置的基本操作集合。该框架使用集合理论规范语言Z[3]进行描述。下面将讨论两个特定的应用程序:用于粗粒度数据流图的编程开发环境[1,2]和STILE开发环境[4]。在框架中,最低级别的系统组件由模板组成,这些模板驻留在公共库Lib中,而Lib又是基本集合Temp的有限子集。可以使用EXT操作将新模板添加到库中,如下所述。每个模板都有一个唯一的非空端口集,从基本端口集绘制,表示。其他模板的潜在接口。模板和端口之间的关联由下面的Z模式定义:(注意,符号——I——>在Z中表示部分函数,而在Z中表示部分函数。只要不为直接商业利益而制作或分发这些材料,并且出现ACM版权声明、出版物的标题和日期,并注明复制是由ACM自行决定的,就可以免费获得全部或部分材料。计算机协会。以其他方式复制或重新发布,需要付费和/或特别许可。M. D. Rice S. B. Seidman并行计算中心乔治梅森大学计算机科学系Fairfax, Virginia 22030表示集合s的有限子集的集合。函数的定义域和值域(表示为dom f和ran f) disjoint {interfaces(t): t (dom interfaces)公共库Lib正是函数接口的定义域。下面的Z模式定义了从端口到模板的owner函数:port - association 1 TemDlate-Association owner: port——I——> Temp 1 dom owner = u(interfaces(t): t E dom interfaces) Vt: dom interfaces 9 interfaces(t) = owner ' (t)注意,Template-Association的规范包含在port - association的规范中。每个端口都有一组相关的属性,这些属性由索引集AmIndex的成员引用,索引集AmIndex是基本集Struct和NonStruct的不联合并。Struct将用于引用涉及系统中组件之间关系的属性,而NonStruct将用于引用涉及类型检查等一致性问题的属性。iE AttrIndex索引的属性集合记为Am(i),所有属性的集合为Attr(i)的不相交并。每个模板端口都有一组基于以下模式指定的属性集合的属性:port attribute 1 port - association attr: port——I——> (AttrIndex——> Am) dom attr = dom owner函数attr也可以看作是一个偏函数Tom是port x AttrIndex到Am的笛卡尔积。上面定义的模板和端口用于构建设置,以模块化的方式创建更大、更复杂的对象。所有系统组件都基于从模板库中选择的模板。当模板要在构造设置中使用时,通过基于底层模板创建模块或节点(从基本集合node)来实例化它。由此产生的关系由以下Z模式描述:01989 ACM O-89791 -305-l /89/0500/0284$00.75 284 Node$kmplate~Association Template-Association Node -parent: Node -I- > Temp dom Node -parent E FNode ran Node -parent = dom interfaces I Node -parent的域是当前实例化的所有节点的集合。对于每个实例化的节点,其接口或槽都派生自底层模板的端口。 这些接口将在构造设置中用于创建与其他节点或外部环境的关系。正式定义为Node x Port的子集((n,p)),其成员同时满足以下条件:n个E dom Node -parent和p个E接口(Node -parent(n))。槽位、节点、端口的对应关系如下图所示:Slot- association Slot- parent: Slot ----> Port owner*: Slot ----> Node Slot- parent(n,p) = p owner*(n,p) = n槽位、节点、端口、模板之间的交换关系如下图所示:
{"title":"A formal framework for the design of development environments","authors":"M. M. Pett, M. D. Rice, S. Seidman","doi":"10.1145/75199.75243","DOIUrl":"https://doi.org/10.1145/75199.75243","url":null,"abstract":"This paper describes a new formalism for specifying development environments for general hierarchical., modular systems. The formal framework is based on a restricted collection of sets and partial functions. formalism are described. Two applications of the In recent years, development environments have been built for many software and hardware systems. The essential similarity of these systems has been concealed by the wide variety of formal techniques that have been used in their description. In this paper, a new formalism is introduced for specifying development environments. The formalism emphasizes hierarchy and modularity, two features that are common to most application areas for which development environm’ents have been constructed. A development environment based on our formalism will include operations that construct and modify systems by selecting components from a library and specifying interfaces between these components. The formalism provides a logically consistent framework for the environment designer which can be adapted to a particular situation by choosing relevant framework attributes. The formal framework is based on a restricted collection of sets and partial functions which are used to define a construction setting, and a collection of basic operations on construction settings. The framework is described using the set-theoretic specification language Z [3]. Two specific applications will be discussed below: a programming development environment for coarse-grain dataflow graphs [ 1,2], and the STILE development environment [4]. In the framework, the lowest level of system components consists of templates, which reside in a common library Lib, which in turn is a finite subset of the basic set Temp. New templates can be added to the library using the EXT operation, described below. Each template has a unique non-empty set of ports, drawn from the basic set Port, which represent. potential interfaces to other templates. The association between templates and ports is defined by the following Z schema: (Note that the symbol --I--> is used in Z to denote apartial function, ,while FlS Perh.SSiOn to Copy Without fee all or part of thii material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice IS given that copying is by perti&on of t.be Assc?=ation for Computing Machinery. To copy otherwise, or DO republish, requires a fee and/or spedic permission. M. D. Rice S. B. Seidman Center for Parallel Computation Department of Computer Science George Mason University Fairfax, Virginia 22030 denotes the set of finite subsets of a set S. The domain and range of a function fare denoted by dom f and ran f.) disjoint {interfaces(t) : t E dom interfaces) The common library Lib is precisely the domain of the function interfaces. The following Z schema defines the owner function from ports to templates: Port-Asso","PeriodicalId":435917,"journal":{"name":"International Workshop on Software Specification and Design","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115891840","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The Structured Analysis method has been modified and extended to incorporate techniques for accurately estimating the execution time for real time systems during the analysis and/or design phases. This estimating technique enables the software engineer to incorporate the effects of external hardware devices, concurrency of processing, synchronization, priorities, interrupts, and other factors traditionally excluded from consideration by the Stnrcntred Methods. The methods which have been incorporated into Structured Analysis in order to address real time systems include an object oriented view of the relationship of priority to data items, formal means of evaluating system partitioning, and a specialized form of notation. Best, worst, and nominal times, blockage probabilities, and the effects of various resource allocation strategies can be evaluated in a timely and cost effective manner using this revised form of these methods. These extensions support safety and hazard analyses by cataloguing all possible modes of operation of the system being modeled. The application of this methodology is supported by and demonstrated on a software tool. This extension of Structured Analysis is referred to as HRT/DM (Hard Real Time Development Method).
{"title":"Timing extensions to structured analysis for real time systems","authors":"L. Peters","doi":"10.1145/75199.75213","DOIUrl":"https://doi.org/10.1145/75199.75213","url":null,"abstract":"The Structured Analysis method has been modified and extended to incorporate techniques for accurately estimating the execution time for real time systems during the analysis and/or design phases. This estimating technique enables the software engineer to incorporate the effects of external hardware devices, concurrency of processing, synchronization, priorities, interrupts, and other factors traditionally excluded from consideration by the Stnrcntred Methods. The methods which have been incorporated into Structured Analysis in order to address real time systems include an object oriented view of the relationship of priority to data items, formal means of evaluating system partitioning, and a specialized form of notation. Best, worst, and nominal times, blockage probabilities, and the effects of various resource allocation strategies can be evaluated in a timely and cost effective manner using this revised form of these methods. These extensions support safety and hazard analyses by cataloguing all possible modes of operation of the system being modeled. The application of this methodology is supported by and demonstrated on a software tool. This extension of Structured Analysis is referred to as HRT/DM (Hard Real Time Development Method).","PeriodicalId":435917,"journal":{"name":"International Workshop on Software Specification and Design","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128005904","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
“Specification-in-the-large”, that is the development of requirements specifications for systems of substantial complex@ and scale, mtrrors “progranrming -in-the-large” in raising a variety of dimculties that lie beyond the clerical problems of handling large amounts of information (Cunningham, Finkelstein et aI 1985. Finkelstein 8r Potts 1987). One such difficulty is that of specification from multiple viewpoints (Niskier 1987). Specification-in-thelarge is an activity in which there are many participants clients. systems analysts, engineers, domain experts and so on. Each has differing perspectives on, and knowledge about. the object system. as well as a variety of skills. roles and so on. In some cases the perspectivea may be based on underlying contradictions. To construct a specification the participants must cooperate: that is, contribute to the achievement of a joint understanding.
“大规模的规格说明”,即为相当复杂和规模的系统开发需求规格说明,反映了“大规模的编程”在处理大量信息的文书问题之外提出了各种各样的困难(Cunningham, Finkelstein et aI 1985)。芬克尔斯坦(Finkelstein)。其中一个困难就是从多个角度进行规范(Niskier 1987)。总体规范是一种有许多客户参与的活动。系统分析员,工程师,领域专家等等。每个人都有不同的观点和知识。对象系统。以及各种各样的技能。角色等等。在某些情况下,这种观点可能基于潜在的矛盾。为了构建规范,参与者必须合作:也就是说,为实现共同理解做出贡献。
{"title":"Multiparty specification","authors":"A. Finkelstein, Hugo Fuks","doi":"10.1145/75199.75228","DOIUrl":"https://doi.org/10.1145/75199.75228","url":null,"abstract":"“Specification-in-the-large”, that is the development of requirements specifications for systems of substantial complex@ and scale, mtrrors “progranrming -in-the-large” in raising a variety of dimculties that lie beyond the clerical problems of handling large amounts of information (Cunningham, Finkelstein et aI 1985. Finkelstein 8r Potts 1987). One such difficulty is that of specification from multiple viewpoints (Niskier 1987). Specification-in-thelarge is an activity in which there are many participants clients. systems analysts, engineers, domain experts and so on. Each has differing perspectives on, and knowledge about. the object system. as well as a variety of skills. roles and so on. In some cases the perspectivea may be based on underlying contradictions. To construct a specification the participants must cooperate: that is, contribute to the achievement of a joint understanding.","PeriodicalId":435917,"journal":{"name":"International Workshop on Software Specification and Design","volume":"133 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128069467","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Synchronous multiparty interactions are becoming an increasingly important abstraction for the design of distributed systems. A method of design JOT multiparty interactions is described whereby large interactions are decomposed into groups of smaller interactions. The method is illustrated with the Lift Problem from the Fourth International bvorkshop on Software Specification and Design. The paper presents an abstract solution in which the lifts both cooperate and have distributed control. The abstract solution is then decomposed to a design for a unidirectional message-passing ring. The decomposition process is effective but informal.
{"title":"Design by decomposition of multiparty interactions in Raddle87","authors":"I. Forman","doi":"10.1145/75199.75201","DOIUrl":"https://doi.org/10.1145/75199.75201","url":null,"abstract":"Synchronous multiparty interactions are becoming an increasingly important abstraction for the design of distributed systems. A method of design JOT multiparty interactions is described whereby large interactions are decomposed into groups of smaller interactions. The method is illustrated with the Lift Problem from the Fourth International bvorkshop on Software Specification and Design. The paper presents an abstract solution in which the lifts both cooperate and have distributed control. The abstract solution is then decomposed to a design for a unidirectional message-passing ring. The decomposition process is effective but informal.","PeriodicalId":435917,"journal":{"name":"International Workshop on Software Specification and Design","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122360911","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Our interest is in formal models of the specification process. In this paper we argue that with the right perspective and set of assumptions, work in AI planning may be brought to bear on three aspects of designing a software specification: proposing a specification (generation); analyzing a proposed specification for problems (critiquing); and modifying a specification to mitigate problems (elaboration). We describe a program called ASAP which automates portions of the specification process.
{"title":"A proposed perspective shift: viewing specification design as a planning problem","authors":"John S. Anderson, S. Fickas","doi":"10.1145/75199.75227","DOIUrl":"https://doi.org/10.1145/75199.75227","url":null,"abstract":"Our interest is in formal models of the specification process. In this paper we argue that with the right perspective and set of assumptions, work in AI planning may be brought to bear on three aspects of designing a software specification: proposing a specification (generation); analyzing a proposed specification for problems (critiquing); and modifying a specification to mitigate problems (elaboration). We describe a program called ASAP which automates portions of the specification process.","PeriodicalId":435917,"journal":{"name":"International Workshop on Software Specification and Design","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124834073","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Interest in the needs of end-users has been growing for some years, leading to a host of notations, tools and approaches for the design of user interfaces. Unfortunately such techniques have remained isolated from traditional system development methods. The latter concentrating on functionality concerns. Thus, there remains a void between the approaches available for the specification and development of the two main components of any interactive information system. Namely, the application software that provides the storage, manipulation and dissemination of information and the user interface software that makes this functionality accessible to the enduser. This paper discusses the distinction between functionality centred and user centred approaches and makes a first pass attempt at reconciliation.
{"title":"Human factors: its place in system development methods","authors":"R. Summersgill, D. Browne","doi":"10.1145/75199.75233","DOIUrl":"https://doi.org/10.1145/75199.75233","url":null,"abstract":"Interest in the needs of end-users has been growing for some years, leading to a host of notations, tools and approaches for the design of user interfaces. Unfortunately such techniques have remained isolated from traditional system development methods. The latter concentrating on functionality concerns. Thus, there remains a void between the approaches available for the specification and development of the two main components of any interactive information system. Namely, the application software that provides the storage, manipulation and dissemination of information and the user interface software that makes this functionality accessible to the enduser. This paper discusses the distinction between functionality centred and user centred approaches and makes a first pass attempt at reconciliation.","PeriodicalId":435917,"journal":{"name":"International Workshop on Software Specification and Design","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124090797","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The term shared dataspace refers to the general class of models and languages in which the principal means of communication is a common, content-addressable data structure called a dataspace. This paper reports on progress we have made toward the development of prototype implementation of a shared dataspace language, Swarm, on a hypercube multiprocessor. The paper includes an informal overview of the Swarm language, describes the design organization of a transaction processing system which forms the kernels of a Swam implementation, and explains the algorithms implementing a subset of Swarm embedded in the language C. ... Read complete abstract on page 2.
{"title":"Implementing a shared dataspace language on a message-based multiprocessor","authors":"G. Roman, Kenneth C. Cox","doi":"10.1145/75199.75206","DOIUrl":"https://doi.org/10.1145/75199.75206","url":null,"abstract":"The term shared dataspace refers to the general class of models and languages in which the principal means of communication is a common, content-addressable data structure called a dataspace. This paper reports on progress we have made toward the development of prototype implementation of a shared dataspace language, Swarm, on a hypercube multiprocessor. The paper includes an informal overview of the Swarm language, describes the design organization of a transaction processing system which forms the kernels of a Swam implementation, and explains the algorithms implementing a subset of Swarm embedded in the language C. ... Read complete abstract on page 2.","PeriodicalId":435917,"journal":{"name":"International Workshop on Software Specification and Design","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131188481","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A method, called the N&Method. has been developed for specifying software components based on Petri nets. Using two types of nodes and three types of connectors, five primitives of the specification method have been constructed. Only these five primitives are then used as building blocks to specify software. Although the Net Method was originally designed for software components, it has been found to be particularly suited for specifying systems that have a number of parallel processes and require the synchronization of a number of activities. A graphics editor for the Net Method has been implemented and a Net simulation package is under development. l.~Hiah~pfSoftware~&u&&y 1 Reduction in the cost of software production through software reusability has been an aim of software producers for quite some time. Reusability efforts have come a long way with many different paradigms being used for the production of reusable software components [I, 6,8,10]. However, the concept of “mass produced software components” remains a long way off since, among other problems, the problem of functional specification of software components still looms large. 2.I!rQddwPfReusableSoftware This paper tackles only the problem of functional specification of functionality of reusable software components, irrespective of the model that was used for their development. However, for the sake of clarity and for ease of giving examples we would like to keep the paradigm of Ada packages and call the software components Logical Software Units (LSUs). This paper assumes that LSUs will come off-the-shelf in a standardized certified form and will have customization capability within a given functionality. 3. Development ef a &t@cation Method for Reusable Software Specification methods can be categorized under two broad headings: (a) Those that have a mathematical formalism as their base and use some type of algebraic notation. (b) Those that have a graphical notation whether they have a mathematical foundation or not Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice IS given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specdic permission. V. Shteru Metropolitan College Boston University Boston, MA 02215 We would lie to develop a specification method belonging to the second category because we wish to follow the paradigm of the Sears’ catalog in providing the user with hierarchically arranged information on the huge number of LSUs that, we hope, will be available on the market at some future date. The LSU catalog will have a pictorial functional description of the LSU at a high level of abstraction (like pictures of tires in a Sears’ catalog) followed by one or more levels of description in increasing de
一个叫做N&Method的方法。已开发用于指定基于Petri网的软件组件。使用两种类型的节点和三种类型的连接器,构造了规范方法的五个原语。只有这五个原语被用作构建块来指定软件。尽管Net方法最初是为软件组件设计的,但人们发现它特别适合于指定具有许多并行进程并要求许多活动同步的系统。Net方法的图形编辑器已经实现,Net模拟包正在开发中。通过软件的可重用性来降低软件生产的成本一直是软件生产商的一个目标。随着许多不同的范例被用于可重用软件组件的生产,可重用性工作已经取得了长足的进展[1,6,8,10]。然而,“批量生产的软件组件”的概念仍然有很长的路要走,因为在其他问题中,软件组件的功能规范问题仍然很突出。2.我!本文只处理可重用软件组件功能的功能规范问题,而不考虑用于其开发的模型。然而,为了清晰和方便给出示例,我们希望保留Ada包的范例,并将软件组件称为逻辑软件单元(Logical software unit, lsu)。本文假设lsu将以标准化的认证形式提供现货,并在给定的功能中具有自定义能力。3.可重用软件规范方法的开发&t@cation方法可以分为两大类:(a)那些以数学形式化为基础并使用某种代数符号的方法。(b)具有图形符号的,无论是否具有数学基础,均允许免费复制全部或部分本材料,前提是这些副本不是为了直接商业利益而制作或分发的,必须出现ACM版权声明、出版物名称和出版日期,并注明复制是由计算机协会许可的。以其他方式复制或重新发布,需要付费和/或特别许可。我们希望开发一种属于第二类的规范方法,因为我们希望遵循西尔斯目录的范例,为用户提供关于大量lsu的分层排列的信息,我们希望这些信息将在未来的某个日期在市场上可用。LSU目录将在高抽象层次上对LSU进行图形功能描述(就像Sears目录中的轮胎图片),然后是一个或多个级别的详细描述,就像轮胎规格(除了价格和尺寸)从轮胎图片中删除一样。现有的图形化说明方法[4,5.9,1 1]存在以下一个或多个缺点:(a)它们要么倾向于在架构级别的细节表示,要么倾向于在编码级别表示细节,而没有能力在所有抽象级别指定交互。(h)它们不区分主动选择和被动选择,从而掩盖了作出决定的活动参与者的身份。“主动选择”是由活动参与者做出的决定;作为主动选择的结果,默认情况下会为活动的其他参与者做出“被动选择”。(c)它们不区分依次进行的活动和那些独立的、可以并行进行,但由于资源的限制而往往依次进行的活动。我们开发的技术规范方法解决了这些问题,这在很大程度上要归功于Holt和Commoner[2,3]的工作,而后者又以Petri[7]的工作为基础。3.1规范M&Q的要素。规范图的元素是:实体、活动和连接器(图1)。实体参与系统活动,这两个元素之间的关系由定向连接器表示。这些构成了系统空间、时间和选择三个维度的有向图。1 .实体活动生命线co~ector活动连接器选择连接器(沿时间轴)(沿空间轴)(沿选择轴)图1规范方法的要素3.2五个基本要素与规范方法使用规范方法的要素,已经开发了规范方法的五个基本要素。仅需要将这五种基本表示以不同的方式组合在一起,就可以表示lsu的功能规范。
{"title":"A net method for specification of reusable software","authors":"H. S. Dhama, V. Shtern","doi":"10.1145/75199.75220","DOIUrl":"https://doi.org/10.1145/75199.75220","url":null,"abstract":"A method, called the N&Method. has been developed for specifying software components based on Petri nets. Using two types of nodes and three types of connectors, five primitives of the specification method have been constructed. Only these five primitives are then used as building blocks to specify software. Although the Net Method was originally designed for software components, it has been found to be particularly suited for specifying systems that have a number of parallel processes and require the synchronization of a number of activities. A graphics editor for the Net Method has been implemented and a Net simulation package is under development. l.~Hiah~pfSoftware~&u&&y 1 Reduction in the cost of software production through software reusability has been an aim of software producers for quite some time. Reusability efforts have come a long way with many different paradigms being used for the production of reusable software components [I, 6,8,10]. However, the concept of “mass produced software components” remains a long way off since, among other problems, the problem of functional specification of software components still looms large. 2.I!rQddwPfReusableSoftware This paper tackles only the problem of functional specification of functionality of reusable software components, irrespective of the model that was used for their development. However, for the sake of clarity and for ease of giving examples we would like to keep the paradigm of Ada packages and call the software components Logical Software Units (LSUs). This paper assumes that LSUs will come off-the-shelf in a standardized certified form and will have customization capability within a given functionality. 3. Development ef a &t@cation Method for Reusable Software Specification methods can be categorized under two broad headings: (a) Those that have a mathematical formalism as their base and use some type of algebraic notation. (b) Those that have a graphical notation whether they have a mathematical foundation or not Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice IS given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specdic permission. V. Shteru Metropolitan College Boston University Boston, MA 02215 We would lie to develop a specification method belonging to the second category because we wish to follow the paradigm of the Sears’ catalog in providing the user with hierarchically arranged information on the huge number of LSUs that, we hope, will be available on the market at some future date. The LSU catalog will have a pictorial functional description of the LSU at a high level of abstraction (like pictures of tires in a Sears’ catalog) followed by one or more levels of description in increasing de","PeriodicalId":435917,"journal":{"name":"International Workshop on Software Specification and Design","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116540984","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}