The Unified Modeling Language (UML) provides sequence diagrams to specify inter-object communication in terms of scenarios. The intra-object behavior is modelled by statechart diagrams. Our tool Vooduu performs an aut...
详细信息
ISBN:
(纸本)354021299X
The Unified Modeling Language (UML) provides sequence diagrams to specify inter-object communication in terms of scenarios. The intra-object behavior is modelled by statechart diagrams. Our tool Vooduu performs an automated consistency check on both views, i.e., it verifies automatically whether a family of UML statecharts modelling a system satisfies a set of communication and timing constraints given as UML sequence diagrams. The front-end of the tool is implemented as a plug-in for a commercial UML tool. For verifying, statecharts and sequence diagrams are translated to the formalism of timed automata. The tool generates temporal logic queries, which depend on an interpretation status for each sequence diagram. The verification is performed by the model checker UPPAAL. The results are retranslated into sequence diagrams. Thus the formal verification machinery is mainly hidden from the user. The tool was applied to a model of the control software of a robot prototype.
One promising approach for adding object-oriented (00) facilities to functional languages like ML is to generalize the existing datatype and function constructs to be hierarchical and extensible, so that datatype vari...
详细信息
One promising approach for adding object-oriented (00) facilities to functional languages like ML is to generalize the existing datatype and function constructs to be hierarchical and extensible, so that datatype variants simulate classes and function cases simulate methods. This approach allows existing datatypes to be easily extended with both new operations and new variants, resolving a longstanding conflict between the functional and 00 styles. However, previous designs based on this approach have been forced to give up modular typechecking, requiring whole-program checks to ensure type safety. We describe Extensible ML (EML), an ML-like language that supports hierarchical, extensible datatypes and functions while preserving purely modular typechecking. To achieve this result, EMUS type system imposes a few requirements on datatype and function extensibility, but EML is still able to express both traditional functional and 00 idioms. We have formalized a core version of EML and proven the associated type system sound, and we have developed a prototype interpreter for the language.
Although object-orientedlanguages can improve programming practices, their characteristics may introduce new problems for software engineers. One important problem is the presence of implicit control flow caused by e...
详细信息
ISBN:
(纸本)9780769521633
Although object-orientedlanguages can improve programming practices, their characteristics may introduce new problems for software engineers. One important problem is the presence of implicit control flow caused by exception handling and polymorphism. Implicit control flow causes complex interactions, and can thus complicate software-engineering tasks. To address this problem, we present a systematic and structured approach, for supporting these tasks, based on the static and dynamic analyses of constructs that cause implicit control flow. Our approach provides software engineers with information for supporting and guiding development and maintenance tasks. We also present empirical results to illustrate the potential usefulness of our approach. Our studies show that, for the subjects considered, complex implicit control flow is always present and is generally not adequately exercised.
Prior research attempts to formalize the structure of object-oriented design patterns for a more precise specification of design patterns. It also allows automation support to be developed for user-defined design patt...
详细信息
ISBN:
(纸本)9780769521633
Prior research attempts to formalize the structure of object-oriented design patterns for a more precise specification of design patterns. It also allows automation support to be developed for user-defined design patterns in the future CASE tools. Targeting to a particular type of automation (e.g. verification of pattern instances), previous specification approaches over-specify pattern structures to a certain extend. Over-specification makes pattern specification ambiguous and disallows the specification language to be used for specifying compound patterns. In this paper, we present the structural properties of design patterns which reveal the true abstract nature of pattern structures. To support these properties so as to solve the over-specification problem, we propose an extension to UML 1.5 (basically UML 1.4 with Action semantics). The specialization and refining mechanism of UML provides also a smooth support for the instantiation, refinement and integration of pattern structures specified in UML. Our work makes no significant extension to the UML 1.5 meta-model but more in a UML Profile approach to ease the migration of our work to UML 2.0, which has not yet officially released by OMG during this work.
This paper define the semantics of MinAML, an idealized aspect-orientedprogramming language, by giving a type-directed translation from its user-friendly external language to its compact, well-defined core language. ...
详细信息
ISBN:
(纸本)9781581137569
This paper define the semantics of MinAML, an idealized aspect-orientedprogramming language, by giving a type-directed translation from its user-friendly external language to its compact, well-defined core language. We argue that our framework is an effective way to give semantics to aspect-orientedprogramminglanguages in general because the translation eliminates shallow syntactic differences between related constructs and permits definition of a clean, easy-to-understand, and easy-to-reason- about core language. The core language extends the simply-typed lambda calculus with two central new abstractions: explicitly labeled program points and first-class advice. The labels serve both to trigger advice and to mark continuations that the advice may return to. These constructs are defined orthogonally to the other features of the language and we show that our abstractions can be used in both functional and object-oriented contexts. The labels are well-scoped and the language as a whole is well-typed. Consequently, programmers can use lexical scoping in the standard way to prevent aspects from interfering with local program invariants.
Mathematical modeling and simulation of complex physical systems are emerging as key technologies in engineering. Modern approaches to physical system simulation allow users to specify simulation models with the help ...
详细信息
ISBN:
(纸本)0769520359
Mathematical modeling and simulation of complex physical systems are emerging as key technologies in engineering. Modern approaches to physical system simulation allow users to specify simulation models with the help of equation-based languages. Due to the high-level declarative abstraction of these languages program errors are extremely hard to find. This paper presents an algorithmic semi-automated debugging framework for equation-based modeling languages. We show how program slicing and dicing performed at the intermediate code level combined with assertion checking techniques can automate, to a large extent, the error finding process and behavior verification for physical system simulation models.
This paper describes a technique for improving separation of concerns at the level of domain modeling. A contribution of this new approach is the construction of support tools that facilitate the elevation of crosscut...
详细信息
This paper presents OOP-Anim, a system to support learning of basic objectorientedprogramming (OOP) concepts. For several reasons, programming is a difficult subject for many students, even in computer science cours...
详细信息
ISBN:
(纸本)9789549641332
This paper presents OOP-Anim, a system to support learning of basic objectorientedprogramming (OOP) concepts. For several reasons, programming is a difficult subject for many students, even in computer science courses. This happens independently of languages and paradigms used. Our system uses program animation to help students overcome some of the difficulties they usually feel to master OOP concepts and associated program dynamic.
This paper proposes a language called CLAIM for computational language for autonomous intelligent and mobile agents. CLAIM allows to design multi-agent systems that support both stationary and mobile agents. Agents de...
详细信息
This paper proposes a language called CLAIM for computational language for autonomous intelligent and mobile agents. CLAIM allows to design multi-agent systems that support both stationary and mobile agents. Agents designed thanks to CLAIM are endowed with cognitive capabilities (e.g. reasoning), are able to communicate with other agents (send and receive several kinds of messages) and are mobile. The primitives of mobility are inspired from the ambient calculus. The CLAIM language is supported by a multi-platform system (SyMPA) compliant with the standard MASIF (OMG specifications); i.e. agents can be distributed over several sites and can move from one to another with respect to MASIF specifications. This paper presents the main features of our language CLAIM and an example to illustrate its applicability.
暂无评论