9 research outputs found
A comparison of languages which operationalise and formalise {KADS} models of expertise
In the field of Knowledge Engineering, dissatisfaction with the rapid-prototyping approach has led to a number of more principled methodologies for the construction of knowledge-based systems. Instead of immediately implementing the gathered and interpreted knowledge in a given implementation formalism according to the rapid-prototyping approach, many such methodologies centre around the notion of a conceptual model: an abstract, implementation independent description of the relevant problem solving expertise. A conceptual model should describe the task which is solved by the system and the knowledge which is required by it. Although such conceptual models have often been formulated in an informal way, recent years have seen the advent of formal and operational languages to describe such conceptual models more precisely, and operationally as a means for model evaluation. In this paper, we study a number of such formal and operational languages for specifying conceptual models. In order to enable a meaningful comparison of such languages, we focus on languages which are all aimed at the same underlying conceptual model, namely that from the KADS method for building KBS. We describe eight formal languages for KADS models of expertise, and compare these languages with respect to their modelling primitives, their semantics, their implementations and their applications. Future research issues in the area of formal and operational specification languages for KBS are identified as the result of studying these languages. The paper also contains an extensive bibliography of research in this area
Uma abordagem multi-nivel para suporte a versoes em bancos de dados orientados a objetos
O uso de Sistemas de Bancos de Dados em aplicações não convencionais evidenciou requisitos não atendidos pelos sistemas tradicionais, motivando pesquisas em torno do Paradigma da Orientação a Objetos. Destaca-se o requisito de liberação do número de possíveis instâncias associadas a um mesmo objeto, para a representação do histórico de um objeto, ou para um tratamento flexível da evolução de esquemas, ou, ainda, para manutenção da consistência dos dados em utilização concorrente. Esta liberação conduziu ao conceito de versão. Este trabalho apresenta uma análise do conceito de versão frente aos demais conceitos já incorporados ao paradigma de orientação a objetos, discutindo a necessidade dos novos conceitos. São consideradas as relações entre versões, bem como os condicionamentos impostos pelas hierarquias de classes e tipos sobre as versões de objetos ascendentes ,e descendentes. É proposta uma arquitetura na qual é admitido o versionamento de objetos em qualquer nível da hierarquia de herança, em contraposição aos modelos que admitem apenas o versionamento nas folhas da hierarquia. É mostrado como o modelo proposto descreve com mais propriedade várias situações encontradas em aplicações.The use of Database Management Systems to support non conventional applications put in evidence a set of requirements not supported by the traditional database systerns, and strongly motivated research work towards object oriented database systems. In this context, it was evident the need to liberate the number of instances associated to one database object, to represent the history of the object, to gain flexibility in schema evolution, ar to maintain data consistency, in concurrent access environments, originating the version concept. This work presents an analysis of the version concept, when integrated with the already incorporated concepts of the object-oriented paradigm and discusses the need for new concepts. Aspects considered include: relationships between versions, as well as the conditions imposed by the class and type hierarchies over the versioning of objects and its ascendants and descendants. A multi-Ievel architecture is proposed, which allows versioned objects to appear in any levei of a type ar class hierarchy. This approach is compared with the traditional one, in which versions appear only at the leaves of the hierarchies. It is shown how the proposed architecture allows modeling of many situations of real world applications in a more natural way
Recommended from our members
Requirements modelling of real-time systems
Real-time systems are characterised by the critical nature of their missions, and the demanding environment with which they interact. Real-time systems are used for dedicated applications. Every application is the subject of special requirements enforced by the customer. Considering the vital role that these systems play, it is imperative that a systematic approach be adopted in modelling their unique requirements. In this thesis I propose such a treatment.
Real-time systems are time critical. Temporal requirements are the timing restrictions imposed by the application environment. Previous studies in requirements modelling of real-time systems have focused on adding the notion of time to modelling techniques of traditional systems without regard to the realities of requirements modelling. The information should be presented in the way the user handles it, and not the way which is convenient to the software engineer. I attempt to understand the needs of the users better by modelling the real world as close to the user's perspective as possible, and propose the Real World Model (RWM). RWM is assumed to be developed by users, and requirements engineers. An engineering approach to building the model is provided.
A real-time system has a well defined use to its community. A requirements model must rely on the user level activities, and aid the human understanding and communication. In the RWM, a real-time system is viewed as a set of concurrently acting automata, each representing a system entity. This model supports temporal reasoning in easily described ways, for all classes of timing properties. A generalised classification of timing constraints is provided.
A requirements modelling language facilitates the description of requirements, and serves as a medium of communication among developers and stakeholders. Jarke et al [Jarke 94] observe that there is a need for a requirements language that manages the relationship between the meta-level domain scheme, and the scenarios that actually instantiate the scheme under development. Here I propose Timed Requirements Language (TRL) to bridge this gulf between the world of stakeholders, and the world of specifiers. TRL has natural looking expressions for formulating the needs. TRL has a number of novel features including the treatment of causality, and the description of static, and dynamic constraints all integrated into one uniform framework. TRL has been used with a number of systems. The generality of the language is validated through its application to specific systems
On the Utilisation of Persistent Programming Environments
There is a growing gap between the supply and demand of good quality software, which is primarily due to the difficulty of the programming task and the poor level of support for programmers. Programming is carried out using software tools which do not match very well either real world understanding of a problem or even the other tools which need to be used. In every phase of software production, the programmer must master new tools which function in a different way from each other. The Persistent Programming Paradigm attempts to reduce these problems by providing a programming environment which gives consistent methods of accessing program values of various kinds. Long-term and short-term data are treated in the same way. Numbers, text, graphical values and even program objects are all referred to in the same consistent way. Languages which support persistence provide considerable power within a simple environment, so that programmers can perform most if not all parts of the programming task in a coherent and uniform manner. This thesis tests the hypothesis that programmers do in fact derive some benefit from this - the simplification of the program and faster implementation of complex programs. The persistent language PS-algol is introduced and used to build: user-interface and compiler tools; a database application; some data modelling tools, both relational and semantic; a rapid prototyping system; an object-oriented language; and software support systems. In doing so, the thesis demonstrates the breadth of work which can be achieved using a Persistent Programming Language, and the ease with which these various projects can be implemented. Further, the thesis derives the beginnings of a methodology for using such a language and analyses how PS-algol could be improved. In doing so, the work aims to put the Persistent Programming Paradigm on a firm basis following significant use and experimentation