5,980 research outputs found

    Hint: A planning-based tool for framework instantiation

    Get PDF
    Object-oriented frameworks are, perhaps, the most important reuse technology today available. This is so, because they enable the reuse of both code and design. However, the effective use of frameworks to instantiate new applications represents one of the most limiting factors of this reuse technology. Therefore, tools to support the process of framework instantiation are increasingly necessary. In this line, we present Hint, an environment for assisting the instantiation of Java frameworks based on software agent technology. Actually, Hint is the evolution of a previous work in the subject, and it was built around a software agent that starts asking the user to select the functionality needed for a new application and after that elaborates a sequence of programming activities that should be carried out in order to implement it. In order to enable the agent to do its work, the framework must be documented following the Smartbooks documentation method. The most relevant contribution of this work is the use of planning techniques to guide the execution of instantiation activities according to the framework design.Eje: AgentesRed de Universidades con Carreras en InformƔtica (RedUNCI

    Proposal for an Object Oriented Process Modeling Language

    Get PDF
    Processes are very important for the success within many business fields. They define the proper application of methods, technologies and company structures in order to reach business goals. Not only manufacturing processes have to be defined from the start point to their end, also other processes like product development processes need a proper description to gain success. For example in automotive industries complex product development processes are necessary and defined prior to product development. Over the last decades several product modeling languages have been developed moving to object oriented modeling languages, such as UML, but the used process modeling languages are still procedural. The paradigm shift caused by object oriented description within product modeling languages has to be transferred to process modeling languages. This paper introduces an object oriented approach for process modeling. Using UML as a starting point an object oriented process modeling method is differentiated. The basic concepts which are needed for process modeling are put into an object oriented context and are explained. The paper also deals with the most important methods behind object oriented process modeling and gives an outlook, what can be achieved by this approach

    Web Services: A Process Algebra Approach

    Full text link
    It is now well-admitted that formal methods are helpful for many issues raised in the Web service area. In this paper we present a framework for the design and verification of WSs using process algebras and their tools. We define a two-way mapping between abstract specifications written using these calculi and executable Web services written in BPEL4WS. Several choices are available: design and correct errors in BPEL4WS, using process algebra verification tools, or design and correct in process algebra and automatically obtaining the corresponding BPEL4WS code. The approaches can be combined. Process algebra are not useful only for temporal logic verification: we remark the use of simulation/bisimulation both for verification and for the hierarchical refinement design method. It is worth noting that our approach allows the use of any process algebra depending on the needs of the user at different levels (expressiveness, existence of reasoning tools, user expertise)

    Visual Specification Patterns

    Get PDF
    Visual modelling notations such as constraint diagrams can be used for the behavioural specifications of software components. This includes specifying invariants on classes or types and preconditions and postconditions of operations. However, one current problem in specifying components comes from the fact that editing constraints manually is time consuming and error prone and so we may adopt a pattern-based approach to alleviate this problem. One way to simplify the definition of constraints is to identify and capture those recurring constraints in the form of visual specification patterns. Such patterns would facilitate the automatic generation of diagrammatic constraints. This paper identifies some specification patterns that frequently occur when specifying software components and provides a diagrammatic representation of these patterns. This will form the basis of a library of specification patterns that could be used in the context of tools. We also show how such patterns can be combined in order to specify more complex constraints

    A Pattern-based Foundation for Language-Driven Software Engineering

    Get PDF
    This work brings together two fundamental ideas for modelling, programming and analysing software systems. The first idea is of a methodological nature: engineering software by systematically creating and relating languages. The second idea is of a technical nature: using patterns as a practical foundation for computing. The goal is to show that the systematic creation and layering of languages can be reduced to the elementary operations of pattern matching and instantiation and that this pattern-based approach provides a formal and practical foundation for language-driven modelling, programming and analysis. The underpinning of the work is a novel formalism for recognising, deconstructing, creating, searching, transforming and generally manipulating data structures. The formalism is based on typed sequences, a generic structure for representing trees. It defines basic pattern expressions for matching and instantiating atomic values and variables. Horizontal, vertical, diagonal and hierarchical operators are different ways of combining patterns. Transformations combine matching and instantiating patterns and they are patterns themselves. A quasiquotation mechanism allows arbitrary levels of meta-pattern functionality and forms the basis of pattern abstraction. Path polymorphic operators are used to specify fine-grained search of structures. A range of core concepts such as layering, parsing and pattern-based computing can naturally be defined through pattern expressions. Three language-driven tools that utilise the pattern formalism showcase the applicability of the pattern-approach. Concat is a self-sustaining (meta-)programming system in which all computations are expressed by matching and instantiation. This includes parsing, executing and optimising programs. By applying its language engineering tools to its own meta-language, Concat can extend itself from within. XMF (XML Modeling Framework) is a browser-based modelling- and meta-modelling framework that provides flexible means to create and relate modelling languages and to query and validate models. The pattern functionality that makes this possible is partly exposed as a schema language and partly as a JavaScript library. CFR (Channel Filter Rule Language) implements a language-driven approach for layered analysis of communication in complex networked systems. The communication on each layer is visible in the language of an ā€œabstract protocolā€ that is defined by communication patterns

    Distribution pattern-driven development of service architectures

    Get PDF
    Distributed systems are being constructed by composing a number of discrete components. This practice is particularly prevalent within the Web service domain in the form of service process orchestration and choreography. Often, enterprise systems are built from many existing discrete applications such as legacy applications exposed using Web service interfaces. There are a number of architectural configurations or distribution patterns, which express how a composed system is to be deployed in a distributed environment. However, the amount of code required to realise these distribution patterns is considerable. In this paper, we propose a distribution pattern-driven approach to service composition and architecting. We develop, based on a catalog of patterns, a UML-compliant framework, which takes existing Web service interfaces as its input and generates executable Web service compositions based on a distribution pattern chosen by the software architect
    • ā€¦
    corecore