Results 1 - 10
of
13
Exploiting Independent State for Network Intrusion Detection
- In Proceedings of ACSAC
, 2004
"... Network intrusion detection systems (NIDSs) critically rely on processing a great deal of state. Often much of this state resides solely in the volatile processor memory accessible to a single user-level process on a single machine. In this work we highlight the power of independent state, i.e., int ..."
Abstract
-
Cited by 19 (8 self)
- Add to MetaCart
Network intrusion detection systems (NIDSs) critically rely on processing a great deal of state. Often much of this state resides solely in the volatile processor memory accessible to a single user-level process on a single machine. In this work we highlight the power of independent state, i.e., internal fine-grained state that can be propagated from one instance of a NIDS to others running either concurrently or subsequently. Independent state provides us with a wealth of possible applications that hold promise for enhancing the capabilities of NIDSs. We discuss an implementation of independent state for the Bro NIDS and examine how we can then leverage independent state for distributed processing, load parallelization, selective preservation of state across restarts and crashes, dynamic reconfiguration, high-level policy maintenance, and support for profiling and debugging. We have experimented with each of these applications in several large environments and are now working to integrate them into the sites' operational monitoring. A performance evaluation shows that our implementation is suitable for use even in large-scale environments.
Patterns as Signs
- In ECOOP Proceedings
, 2002
"... Abstract. Object-oriented design patterns have been one of the most important and successful ideas in software design over the last ten years, and have been well adopted both in industry and academia. A number of open research problems remain regarding patterns, however, including the differences be ..."
Abstract
-
Cited by 12 (6 self)
- Add to MetaCart
Abstract. Object-oriented design patterns have been one of the most important and successful ideas in software design over the last ten years, and have been well adopted both in industry and academia. A number of open research problems remain regarding patterns, however, including the differences between patterns, variant forms of common patterns, the naming of patterns, the organisation of collections of patterns, and the relationships between patterns. We provide a semiotic account of design patterns, treating a pattern as a sign comprised of the programmers ’ intent and its realisation in the program. Considering patterns as signs can address many of these common questions regarding design patterns, to assist both programmers using patterns and authors writing them. 1
Explicit Relationships in Object Oriented Development
- Proceedings of TOOLS 18: Technology of ObjectOriented Languages and Systems Conference
, 1995
"... Traditional object oriented analysis methodologies are based not only upon objects, but also upon relationships between objects. Object oriented programming languages do not provide support for relationships, and so analysis relationships must be expressed indirectly within a program's design, and t ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Traditional object oriented analysis methodologies are based not only upon objects, but also upon relationships between objects. Object oriented programming languages do not provide support for relationships, and so analysis relationships must be expressed indirectly within a program's design, and then incorporated into implementations of other objects in a program's code. By using explicit relationships in design and implementation, analysis relationships can be expressed directly within a program's code. Programs which use explicit relationships are often smaller and easier to comprehend than traditional OO programs, and are generally quicker to write and easier to maintain. 1 Introduction Seamlessness is one of the most important benefits of object orientation (Henderson-Sellers 1994). In an object oriented system development lifecycle, the same conceptual model (the object model) is used to organise the analysis of a problem, the design of a solution, and the implementation of a r...
Preprocessing C++ : Substitution and Composition
- PROCEEDINGS OF THE EASTERN EUROPEAN CONFERENCE ON THE TECHNOLOGY OF OBJECT ORIENTED LANGUAGES AND SYSTEMS
, 1999
"... Problems with the lexical substitution mechanism of the C preprocessor are well known. We resolve these problems with a new syntax-based substitution mechanism for C++ based on meta-variables and metafunctions. Implementation of these meta-concepts in a C++ style leads naturally to meta-expressions ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Problems with the lexical substitution mechanism of the C preprocessor are well known. We resolve these problems with a new syntax-based substitution mechanism for C++ based on meta-variables and metafunctions. Implementation of these meta-concepts in a C++ style leads naturally to meta-expressions and then meta-statements and a generalisation of C++ syntax. We show how meta-compilation renders the C preprocessor redundant, and offers a more intuitive and powerful programming language in which pattern solutions can be provided and Aspect-Oriented programming practiced. In a companion paper [21] we go one stage further, putting the concepts together in the context of meta-classes where meta-programming and reflection are supported at compile-time.
S.: Customization of system software for large-scale embedded applications
- Computer Communications
, 1997
"... Operating systems are one of the most frequently reused software components: almost every application is sitting on top of an OS which establishes the required runtime platform. It is claimed that bridging the gap between a high level application design and the OS is a costly process, especially in ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
Operating systems are one of the most frequently reused software components: almost every application is sitting on top of an OS which establishes the required runtime platform. It is claimed that bridging the gap between a high level application design and the OS is a costly process, especially in distributed systems. A conceptual framework is presented which aims at supporting the automatic generation of distributed runtime platforms from high-level application designs. It is based on the generic layout of operating system services, their extended description including nonfunctional properties, as well as analysis and development tools which filter out OS requirements from the application
Shaping Object-Oriented Programs
, 1996
"... Object-oriented programming is valued for the clarity and maintainability of its programs. However, this success is mainly confined to smallscale phenomena, such as re-implementation of a single class: large-scale structures are as obscure and fragile as ever. We offer shape theory as a means of rea ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
Object-oriented programming is valued for the clarity and maintainability of its programs. However, this success is mainly confined to smallscale phenomena, such as re-implementation of a single class: large-scale structures are as obscure and fragile as ever. We offer shape theory as a means of reasoning about program structure, and improving objectoriented design. In particular, shape analysis should improve debugging and compilation, and shape polymorphism should support greater re-use of programs, despite large-scale structural changes. Object-orientation (OO) uses classes to structure programs. During execution of a program, instances of class, called objects are manipulated within an object graph, whose edges represent interobject references or dependencies. OO has been very successful in organising programming on a small scale, at the level of one class or object, but reasoning about large programs remains as difficult as ever. For example, small changes to the class structure...
Type Management: A Key to Software Reuse in Open Distributed Systems
- Proceedings of the 1st International Enterprise Distributed Object Computing Workshop (EDOC ’97). Gold
, 1997
"... Reuse of software components already available in open distributed systems is a promising approach for efficient development of complex distributed applications. In open distributed systems, type mechanisms are used both to find appropriate external software components and also to guarantee that ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Reuse of software components already available in open distributed systems is a promising approach for efficient development of complex distributed applications. In open distributed systems, type mechanisms are used both to find appropriate external software components and also to guarantee that their respective interfaces match. Furthermore, a type manager supports application developers in browsing already existing functionality interactively and supports the automatic mediation of compatible software components at run-time. This paper elaborates on a uniform view and handling of the functionality offered by software components besides context-specific aspects and a framework for different flavours of compatibility allowing for the automatic deduction of relationships. Finally, we describe our current type management prototype implementation. 1 Introduction Recent advances in telecommunications and networking enable remote access to services offered in global networks w...
Object-oriented Data Integration: Running Several Generations of Database Technology in Parallel
- IN PARALLEL; IN AKMAL CHAUDHRI, MARY LOOMIS (EDS.): OBJECT DATABASES IN PRACTICE
, 1998
"... ..."

