Workshops at OOPSLA '98 and '99 were devoted to "pattern
mining". Following requests from a large number of '99 participants, this
one will be oriented toward a broader analysis of the possible uses of the
Active Object-Model technology, based on the examination of a range of
examples.
Thus, we are specially looking for position papers describing experience in
developing systems that actually display, or might have benefited from, an
Active Object-Model. Other domains of interest are the followings topics :
- Building a common vocabulary (terminology, definitions, ...) E.g.
Typical AI terminology (ontologies, ...) vs. software engineering terminology
- Models and languages for "Metadata and Active Object-Models",
including current standardization efforts and expressive (even ambiguous)
type languages, ....
- Do particular programming language constructs (e.g. Smalltalk's
blocks or reflective features) facilitate the implementation of specific
types of active object-models?
- Implementation / Design concepts and classification according to
semantics and relevance.
- Appropriate development process models for cultivating active
object-models (analysis patterns, design patterns, ...), and the impact of
active object-models on development process models (iterative, incremental,
testing, ...).Cf. [1] & [2]
- How do requirements such as heterogeneous, distributed
environments, smart software and agents, and user empowerment drive the
evolution of active object-models? How can we overcome resistance to
building active object-models from programmers and managers?
- How do get active object-models to exhibit acceptable performance? Can
we borrow from traditional disciplines, e.g. caching, Just-In-Time
compilation, heuristics, statistics, stereotypical vs. customized
interfaces, and tools?
- How do measure such aspects of active object-models as stability,
class library complexity and related metrics, learning curve, cost
(development of the 'framework', building the applications, change,
maintenance), and performance?
- Dealing with views continues to be a challenge, can we use active
object-models to solve some of these problems? For instance, some models
replace a hard-wired view on classification of objects by a dynamic view
based on observational equivalence of object behavior. This view takes
into account dynamic properties of the parties involved in a contract. If
active object-models are any help, which qualities must they possess?
- Most Active Object-Model implementations focus on one or two
isolated aspects, e.g. object model, business rules, mapping objects onto a
database. Other aspects are typically left to more traditional approaches.
Hence, they often tend to interfere in ad-hoc and hard-wired ways. For
instance, it is often hard to design good, pro-active user interface code
that is cleanly separated from the business rules without introducing
redundancy of one sort or another. Can we use weaver-like approaches in
combination with active object-models to achieve more global-wide, yet
dynamic reflection?
[1] Don Roberts, Ralph Johnson. Evolving Frameworks, A Pattern Language
for Developing Object-Oriented Frameworks,
http://st-www.cs.uiuc.edu/users/droberts/evolve.html.
[2] Brian Foote, Joseph Yoder. Metadata and Active Object-Models.
PLOP'98 conference, Monticello, Illinois. 1998,
http://www.joeyoder.com/Research/metadata/OOPSLA98MetaDataWkshop.html.